聚焦产品:4200万+个VR快速、稳定处理的背后逻辑是什么?

本期聚焦产品栏目,如视就和您一起走入VR数据处理的世界,了解在VR高效生成背后,如视如何通过改造算法调度系统,利用资源动态扩缩容,完成数据处理过程从“作坊式生产”到“超级工厂”的转变,让资源分配更合理、加载速度更迅捷、VR浏览体验更顺畅。

超大体量生产规模、行业顶尖生产技术和工艺、高度自动化生产线,以及数智化控制模式——这是现代化超级工厂的基础配置。

如视VR,就可以看做是“超级工厂”打造的产品

例如,在三维重建中,如视通过激光VR扫描仪伽罗华仅需15分钟,即可完成100平米空间的自动化采集,并将海量数据上传至服务器,进入数据处理流程,最终生产为1:1复刻、可步进式漫游的真实数字空间。

这个快速、准确的过程,需要经过大量复杂算法处理。比如深度信息生成点云数据、全景图自动拼接等。

为了便于管理算法,提升算法可维护性,我们通常会将这一复杂处理过程拆分,形成独立的算法模块,每个模块负责过程中的某一段独立逻辑。

因此,整个VR生产流程就类似一个“超级工厂流水线”,最终VR生产效率,也就是数据处理速度,取决于“工厂”对整个生产(算法执行)过程的管理能力

本期聚焦产品栏目,如视就和您一起走入VR数据处理的世界,了解在VR高效生成背后,如视如何通过改造算法调度系统,利用资源动态扩缩容,完成数据处理过程从“作坊式生产”到“超级工厂”的转变,资源分配更合理加载速度更迅捷VR浏览体验更顺畅


如何提升VR处理速度:

打造最佳算法管理方式


单节点下的串行执行

计算节点是计算机集群的核心部件,负责接收和执行计算任务、返回结果等工作。我们可以把节点类比为工厂的设备/人工,设备越先进、工人素质越高,生产质量自然越好。

https://vr-public.realsee-cdn.cn/release/pagepress/tDFpiNBR/uploads/3972b27f-76ea-4c9e-a2c3-b0669460c323.gif

算法模块则是“生产工序”,比如生产一台新能源汽车需要制作电池包、车架、电机等工序;同理,VR生产过程中也需要多个算法模块。

在初期阶段,为了项目能够快速落地推进,我们通常会选取一个简单易维护的算法管理模式,比如:单节点下串行执行算法模块

该模式是指,在单台计算节点上,系统严格按照顺序依次执行各算法模块,不涉及并行计算。当前模块完成后,才可将数据传递至下一模块执行,比如生产底盘后才能制造车架。

这就类似于家庭手工作坊,虽然存在前后工序划分,但仍由单人(单节点)完成所有工序(算法执行)。

优势在于,VR生产过程简单易实现,稳定性高,且管理简单。但同时存在以下缺点

  • 资源浪费

由于各算法模块所需资源不同,因此无法在所有数据处理阶段都充分利用节点资源,极易造成资源浪费。

例如,某工人精通发动机组装,却要同时执行造底盘和车辆外观检测工作,极大浪费了该工人的能力。

  • 耗时长

当算法处理流程较长时,严格的顺序执行会极大增加单任务耗时。

  • 低扩展性

在单节点模式下,VR处理速度局限于单计算资源总量。当面对大规模任务时,系统难以进行横向拆解,最终影响全局生产速度。


多节点下的串行流水线

为了优化单节点模式缺陷,我们需要将“家庭作坊式”算法管理升级为“工厂”模式——多节点下的串行流水线

该模式是指,在严格依序执行各算法模块的同时,将各模块分布到不同计算节点上,也就是将一个任务拆分为完整的子任务流。

每个节点只负责处理单一模块的子任务,通过统一调度系统,串联起整个生产任务。

这就形成了如现代流水线般的生产处理流程。每个工位(计算节点)仅处理一道工序(算法模块),每个工序所需的工人数量(计算资源)也不同。

理想状态下,整个产线资源供给-生产处理能够达到完美平衡,此时其吞吐量也能达到最大值。

当然,该效果基于多节点处理模式的几点优势

  • 资源可控

在调动计算资源时,由于能够提前预判单一算法模块的资源占用情况,因此我们可以严格控制单节点资源供给,做到既满足资源保障需求,又避免了资源浪费。比如生产一套轮胎需要5名工人,工厂就无需派10人来工作。

  • 可横向扩展/并行计算

当处理较大规模任务时,系统可以将其横向拆分为独立的分块,交付给不同节点处理。通过并行计算,既能够提高处理速度,又可减少对单节点资源的依赖。

  • 提高全局资源利用率

由于各算法模块的资源占用需求、处理时长等不尽相同,因此,通过按比例分配不同模块对应的计算节点数量,能够在整体系统资源有限前提下,保障所有计算节点都存在运行任务,避免某节点因等待任务而造成计算资源浪费。

但因为该模式仍为串行执行,故存在以下弊端

  • 耗时长

同单节点模式类似,该处理模式并未解决在数据处理流程较长情况下的耗时问题。

  • 额外的数据传输成本

在单节点模式下,数据传输路径短、速度快;而多节点模式则增加了各模块间交换数据的传输成本

还是以生产流水线为例,原来由单个工人完成所有工作时,各工序零部件都在自己手中,无需交由他人进行下一步处理;而当每个工人都负责一部分零件处理时,就需要将零部件处理完毕后,再交由其他工人处理,增加了传递成本。

  • 协调复杂

串行执行,加上多节点模式下数据传输成本增加等因素,就导致保持依序执行算法模块,以及传递正确数据等步骤,需要额外的协调工作,极大增加了系统的管理复杂性。


多节点下的动态并行流水线

随着在数字空间领域软硬件技术的日益进步,如视数字空间采集能力也在不断升级。

以一个采集了10个点位的VR为例,采集仅需要10分钟,将该点位大量数据上传至服务器需2分钟,而全部处理完毕,达到可对外展示的状态仅需15分钟

https://vr-public.realsee-cdn.cn/release/pagepress/EESJBAcB/uploads/609a9f5a-18f1-4901-a893-536ff2be436c.gif

如果仅凭上述“作坊”和“普通工厂”式生产模式,这一成就显然无法实现。此时,我们就需更进一步,创造出更快的单任务处理速度,让系统适应更复杂的任务场景

要实现该目标,就需要改造资源调度系统,打造数据处理的“超级工厂”

首先,什么是调度系统?

调度是运筹学的一个应用领域,涉及到资源分配、路径规划等方向。调度解决的是如何将有限资源合理分配,并按照最优顺序执行的问题

生活中存在很多调度相关案例,比如发生火情时消防单位派出消防车救灾,网约车系统给司机和乘客派单等。一个先进的生产体系,必定存在优秀的调度系统。

再来看算法模块,在实际应用中,很多算法模块并不是严格的前后逻辑依赖关系

打个比方,“制造螺丝”和“制造螺母”是两个工序,在生产中可以同时执行;而“组装螺丝螺母”,则严格依赖“制造螺丝”和“制造螺母”两个工序。

在此基础上,我们可以将流水线中的所有算法模块抽象为一个有向图在数学中,图是指一种用于描述对象之间关系的结构,通常由顶点和边组成,图的边存在方向则为有向图),这个有向图存在单一起点与终点,其作用是可以用来表示任务之间的依赖关系,帮助优化项目计划和资源分配

生成有向图后,我们从起点开始,对整个有向图进行并行的广度优先搜索又称宽度优先搜索算法,是最简便的图搜索算法之一,也是很多重要的图算法原型),自然是时间维度上的最优解。

比如通过搜索有向图得知,“包饺子”依赖于“剁馅”和“擀皮”,那么“剁馅”和“擀皮”可同时进行,但“包饺子”必须等前者完成后方可处理。

对于节点当前运行的算法模块来说,由于算法模块变成了依据逻辑依赖的动态并行执行,当前系统内对每个算法模块的数量需求,也成为一组动态变化的数值

因此,只有动态分配算法模块的数量,才能确保充分利用系统资源,避免部分模块空等。

利用上述模式,我们生成了一个更为理想的调度系统

第一,通过容器化实现计算节点快速切换模块;

第二,通过动态调度系统,配合容器编排以及流量预测实现模块数量平衡;

最后,通过任务调度系统自动解析模块间的逻辑依赖,进行并行流水线的子任务分发。

简单来说,就是“按需自动分配资源”。

https://vr-public.realsee-cdn.cn/release/pagepress/JfnhBxlh/uploads/8cf1428f-433a-4e5b-be94-3aa430e8550a.png

该模式解决了串行执行下耗时长、难以适配复杂场景问题。

一方面,因为任务内算法模块并行度大幅提高,在资源充足前提下,单一任务处理时长大幅缩短

另一方面,通过模块间动态平衡,能够在不同流水线、任务混杂场景下,达到最高资源利用率

当然,同相对静态的系统相比,整个动态系统更加复杂,且状态持续变化,因此对核心组件的稳定性功能性要求更高。

而作为数字空间综合解决方案引领者,如视已经在工业园区、商业零售、文博会展、家居家电等九大行业实现VR技术的大规模落地。截至2024年9月,如视数字空间采集量已突破4200万,总采集面积达35.4亿平方米

面对如此海量的数据,如视依旧可以平稳处理,可以说,如视的系统稳定性能够经受住各行业复杂环境下的长时间检验。

至此,我们得到了一个较为理想的“超级工厂流水线”模型,既能保证单一任务处理速度足够快,又能保证系统吞吐量够高,不会浪费计算资源


数据处理降本增效:

资源的动态扩缩容


无论是单节点串行,还是多节点动态并行,其执行的前提,都基于计算资源总量恒定的场景。

然而在实际业务中,需求存在高峰低峰。高峰时可能计算资源不足,任务之间存在竞争,影响处理速度;低峰时又会有大量资源闲置。比如工厂在旺季会有大量订单涌入,导致生产进度大幅落后于需求。

因此,在不浪费资源前提下,为响应高峰期用户的VR处理请求,如视引入了资源自动扩缩容

这里就离不开一个关键概念:弹性计算

弹性计算是云计算的基础服务之一,用户可以根据实际需要灵活、动态地调整需要的计算容量,这就是“弹性”。

如视根据当前系统的资源负载情况,使用云上的弹性算力资源,自动对系统资源进行扩容,并在高峰结束后归还。

通过资源的动态扩缩容,如视就能够保证在不增加VR处理时间前提下,以最快的速度最低的成本最高的稳定性满足目前用户所有的VR处理任务。


正如“超级工厂”必备高质量生产加工能力,如视也需要高效处理海量数据,不仅包括海量三维点云、图像信息等原始数据,更包括在细节纹理恢复、重建模型过程中,衍生出的庞杂数据。

如视采用“化整为零”方法,通过改造算法调度系统利用资源动态扩缩容将VR生产过程划分为多个子任务并在多节点下打造动态并行流水线不仅显著提升VR生成的处理速度,更能高效利用计算资源创造最佳效果打造VR数据处理算法管理的“超级工厂”。

本期聚焦产品栏目到这里就结束了,如果想了解更多的如视产品“秘籍”,欢迎大家点赞在看,在评论区留言告诉如视您的想法,我们下期见。



来咨询如视专家

有疑问?来咨询如视专家

购买咨询:400-897-9658

工作日 9:00-19:00(北京时间)

售后服务:400-060-8206

工作日 9:00-19:00(北京时间)

扫码可以添加如视专家好友

添加企业微信,如视专家为您提供解答