作者:zhengkai,分布式通信首席技术专家
当今的移动应用都向着智能化和多样化方向发展,例如AI辅助,VR/AR应用,沉浸式游戏等。然而现实中的移动设备,因为便携性要求受限于尺寸、电池容量以及温控等要求,往往在算力、能耗以及所支持的输入输出功能上无法对智能化沉浸式体验的应用提供全方位的支持,导致很多应用场景难以得到实现。
为了解决移动端算力瓶颈,HarmonyOS跨端分布式计算应运而生,给用户带来易协同、低延迟和高稳定的分布式体验。下面,我们将对跨端分布式计算技术进行详细的分析。
目录
一、跨端分布式算力技术介绍
二、跨端分布式计算面临的挑战
三、如何应对跨端分布式计算技术面临的挑战
四、跨端分布式计算技术应用案例
一、跨端分布式算力技术介绍
跨端分布式计算是HarmonyOS系统利用分布式软总线和分布式计算引擎,提供多设备协同的跨端分布式计算能力。允许多个HarmonyOS设备协同计算和资源分担以及实时的任务调度。
如图1所示,跨端分布式计算的目标是:
能随时方便的发现和启用周边闲置的设备
将周边的设备组建成算力和差异化功能的资源池
为用户的高体验应用提供随需算力和特定能力的分布式卸载和协同能力
组合成能胜任各种新业务场景需求的超级终端
图1 跨端分布式计算能力
简单一句话来概括就是,“让算力在分布式超级虚拟终端内高效、自由地流转”。
二、跨端分布式计算面临的挑战
前面介绍了HarmonyOS跨端分布式计算的整体概念,现在我们来探索一下跨端分布式计算面临的挑战。“跨端分布式计算面临的挑战就是无线不可靠的网络环境”,因为在无线不可靠的网络环境下,跨端分布式计算存在 “难协同、高延迟、低稳定”的问题。
难协同:由于分布式设备的差异性较大且端侧的各种输入\输出设备的分布式协同无法被平台隐藏,使得跨端分布式设备协同较难。
高延迟:跨端分布式应用使原本设备内的通信变成设备间的无线通信,有可能增加端到端的时延,而远程进程通信的时延直接影响分布式并行计算的并行效率(或者叫并行加速比),导致跨端分布式应用运行延迟高。
低稳定:在超级终端内部存在多设备协同作业间业务争抢,且由于无线频段开放性受到外部无关业务干扰,使得分布式计算稳定性较低。
三、如何应对跨端分布式计算技术面临的挑战
你肯定会好奇,HarmonyOS如何应对挑战、解决问题?在无线不可靠的网络环境下,为实现灵活、高效和稳定的跨端分布式计算能力,HarmonyOS为开发者提供了“融合计算、极简协议及秩序化组网”的分布式计算能力解决方案。
1. 融合计算
融合计算是HarmonyOS为开发者提供的高效算力框架,如图2所示。可以根据应用特性以及设备特征,自动计算出最优调度策略,使应用在计算过程中实时保持最佳性能。同时,还提供极致的轻量化运行时,包括运行时的微秒级任务启动、空载时低资源占用,保障不同设备有足够的可调度余量,提供更高的并行加速比。
图2 融合计算
2. 极简协议
极简协议是HarmonyOS为开发者提供的极速接口,主要体现为极简RPC协议。
RPC,即远程进程调用,是分布式计算最核心的基础能力和基本通信原语,它是跨设备协同的核心组件。整个RPC的调用过程中,如图3所示,关键的瓶颈点有三个,分别是服务发现、序列化/反序列化及网络传输。下面,本文将从“序列化/反序列化”及“网络传输”来阐述极简协议对分布式计算能力的影响(“服务发现”将不做介绍,因其并不直接影响算力发挥)
图3 RPC的调用过程
(1)序列化/反序列化:
序列化/反序列化就是将数据从“处理器理解的形态”转换成“通信和网络能处理的形态”的过程以及逆向过程,极简化该双向过程的关键则在于智能的处理好通信开销和压缩等。
HarmonyOS通过运用大数据分析和数学建模的方法建立了一套智能的参数调优机制。针对例如游戏类和实时音视频类的应用做了定制的优化,实现百KB级别RPC(反)序列化的计算侧和网络侧综合时延控制在5ms以内。
(2)网络传输:
D2D(Device to Device,设备到设备)即邻近终端设备之间直接进行通信的技术。在传统分布式应用场景下,设备间更多的采用蓝牙或者WIFI direct等方式D2D的通信模型,过于厚重,协议的层次并非都必要,协议的接续和交互流程也不尽精简。
HarmonyOS分布式系统采用的极简D2D传输协议栈,相较于传统协议栈做了许多简化处理,包括压缩协议封装、增加协议处理的硬件亲和性,通过智能预测配合节电机制做预热处理,避免冷启动等。获得5-10倍的压缩数据同步传输速度提升,实现亚毫秒级的无线通信时延。
图4 极简D2D协议
从图4可以看出,采用D2D协议相较传统的TCP协议,优点如下:
缩短协议路径:精简协议处理流程,软件处理时延减少50%
减少线程调度:减少收发侧线程调度,线程调度时延减少55%
芯片按需预热:感知设备与业务状态,芯片处理时延减少80%。
3. 秩序化组网
HarmonyOS分布式软总线采用秩序化组网机制,保障分布式计算的稳定性。通过实现独立的空域流量感知和调度引擎,根据业务QoS、信道质量评估信息、队列信息,分配设备内数据包排队策略、发送时隙,控制发送速率。同时,在HarmonyOS的生态设备之间,利用软时钟同步技术,实现协议和软件层面模拟的时分复用分配机制,实现规避相互干扰的空口资源调度机制,极大的减少了生态设备之间的相互干扰,提升了通信的稳定性。
软时钟同步技术如图5所示,节点间协调任务和数据发送的时隙,分时间片发送数据,确保分布式系统内数据传输不冲突同时又充分利用信道资源。
图5 软时钟同步技术
四、跨端分布式计算技术应用案例
今年HDC大会的分布式游戏展区展示了一款华为与完美世界合作完成的基于HarmonyOS的分布式游戏《新笑傲江湖》。通过利用HarmonyOS跨端分布式计算技术,实现了均负载、高帧率、低时延的分布式游戏新形态。
1. 分布式游戏模式
玩家在启动游戏时可以选择单机运行模式或分布式运行模式,如图6所示。在分布式运行模式下,手机和PC/笔记本通过无线连接,手机用于游戏操控、地图显示及装备设置,PC/笔记本通过HDMI向华为智慧屏输出显示游戏主场景。在游戏过程中,智慧屏全程流畅运行4K分辨率,60帧游戏画面,画质绚丽逼真,媲美3A级端游体验,手机操作非常流畅,甚至在多人打斗场景下,玩家几乎感受不到操作延迟。
图6 《新笑傲江湖》分布式版本
与传统的手机投屏相比,分布式游戏画质与帧率大幅提升,发热显著降低,这种新的分布式游戏交互体验,带来了单手机设备完全无法比拟的沉浸式体验。单机版本和分布式版本性能对比如图7所示
图7 性能对比
2. 分布式游戏关键
与大家熟知的投屏技术完全不同,分布式游戏并不是将手机画面通过流媒体传输后在大屏镜像显示,而是将游戏任务进行了切分,在手机端仅运行游戏逻辑及部分简单的2D UI渲染任务,而将需要消耗大量资源的、复杂的3D渲染任务通过分布式技术卸载到PC或者笔记本上执行,这样对游戏任务进行切分后,手机的负载变轻,重负载任务分配在高算力设备运行,不仅合理的利用各类设备资源,也给游戏玩家也带来媲美端游的游戏体验。如图9所示,展示了跨端分布式游戏-多屏多视角模式。
图8 跨端分布式游戏-多屏多视角模式
完美世界副总裁崔铭表示:“本次与华为合作的分布式游戏演示在玩家群体中产生了很大反响,我们也看到很多用户非常期待更多分布式游戏产品落地,并提出了诸多建议,发展的前景非常广阔”。据悉,除游戏应用外,HarmonyOS后续还会拓展更多分布式算力协同的场景和应用,不断丰富超级终端内涵。在“万物互联”时代,让我们一起打破想象的边界,构想更美好的未来。
原文链接:https://blog.csdn.net/HarmonyOSDev/article/details/121530979