作者: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后续还会拓展更多分布式算力协同的场景和应用,不断丰富超级终端内涵。在“万物互联”时代,让我们一起打破想象的边界,构想更美好的未来。

以上就是本期的全部内容。

HDC2021技术分论坛:跨端分布式计算技术初探的更多相关文章

  1. HDC2021技术分论坛:组件通信、硬件池化,这些创新技术你get了吗?

    作者:ligang 华为分布式硬件技术专家,sunbinxin 华为应用框架技术专家 HarmonyOS是一款全新的分布式操作系统,为开发者提供了元能力框架.事件通知.分布式硬件等分布式技术,使能开发 ...

  2. HDC2021技术分论坛:如何高效完成HarmonyOS分布式应用测试?

    作者:liuxun,HarmonyOS测试架构师 HarmonyOS是新一代的智能终端操作系统,给开发者提供了设备发现.设备连接.跨设备调用等丰富的分布式API.随着越来越多的开发者投入到Harmon ...

  3. HDC2021技术分论坛:异构组网如何解决共享资源冲突?

    作者:lijie,HarmonyOS软总线领域专家 相信大家对HarmonyOS的"超级终端"比较熟悉了.那么,您知道超级终端场景下的多种设备在不同环境下是如何组成一个网络的吗?这 ...

  4. HDC2021技术分论坛:进程崩溃/应用卡死,故障频频怎么办?

    ​作者:jiwenqiang,DFX技术专家 提到开发一个产品,我们通常首先想到的是要实现什么样的功能,但是除了功能之外,非功能属性也会很大程度上影响一个产品的体验效果,比如不定时出现的应用卡死.崩溃 ...

  5. HDC2021技术分论坛:“积木拼装”,HarmonyOS弹性部署大揭秘!

    作者:peitaiyi,华为终端OS产品交付专家 HarmonyOS是一款面向万物互联时代的.全新的分布式操作系统.在传统的单设备系统能力基础上,HarmonyOS提出了基于同一套系统能力.适配多种终 ...

  6. HDC技术分论坛:HarmonyOS新一代UI框架的全面解读

    作者:yuzhiqiang,UI编程框架首席技术专家 在Harmony 3.0.0开发者预览版中,包含了新一代的声明式UI框架ArkUI 3.0.多语言跨平台编译器ArkCompiler 3.0.跨端 ...

  7. 全面解密QQ红包技术方案:架构、技术实现、移动端优化、创新玩法等

    本文来自腾讯QQ技术团队工程师许灵锋.周海发的技术分享. 一.引言 自 2015 年春节以来,QQ 春节红包经历了企业红包(2015 年).刷一刷红包(2016 年)和 AR 红包(2017 年)几个 ...

  8. 搞懂分布式技术21:浅谈分布式消息技术 Kafka

    搞懂分布式技术21:浅谈分布式消息技术 Kafka 浅谈分布式消息技术 Kafka 本文主要介绍了这几部分内容: 1基本介绍和架构概览 2kafka事务传输的特点 3kafka的消息存储格式:topi ...

  9. React / Vue 跨端渲染原理与实现探讨

    跨端渲染是渲染层并不局限在浏览器 DOM 和移动端的原生 UI 控件,连静态文件乃至虚拟现实等环境,都可以是你的渲染层.这并不只是个美好的愿景,在今天,除了 React 社区到 .docx / .pd ...

  10. Taro 3 正式版发布:开放式跨端跨框架解决方案

    作者:凹凸曼 - yuche 从 Taro 第一个版本发布到现在,Taro 已经接受了来自于开源社区两年多的考验.今天我们很高兴地在党的生日发布 Taro 3(Taro Next)正式版,希望 Tar ...

随机推荐

  1. 线段树-多个懒标记pushdown

    P3373 [模板]线段树 2 这里需要用到两个懒标记,一个懒标记为add,记录加,另一个懒标记为mul,记录乘. 我们需要规定一个优先级,然后考虑如何将懒标记下传. 这里无非有两种顺序,一种是先乘后 ...

  2. tomcat 安装笔记 20230901

    war位置 /usr/local/tomcat8_1/webapps/ tomcat位置 71.170 /usr/local/tomcat8_1/ 给了点工具包 位置 /usr/local/tool/ ...

  3. css class 操作列 按钮 之间加 竖线 | class="your-handleBtn" :last-child::after

    思路:botton 加一个class 每个右边加个竖线,最后一个不加. 用起来很方便 <template slot="handle" slot-scope="{ r ...

  4. coding 的pages 静态要六分钱一个月,我也是醉了。

    前言 前几天,收到个短信,说coding 竟然免费开放 动态pages,我这心说 NB啊,这咱得蹭上一波热度. github 总是打不开 gitee 每次pages都要手动点下发布,而且是静态的. c ...

  5. FastWiki v0.1.0发布!新增超多功能

    FastWiki 发布 v0.1.0 https://github.com/239573049/fast-wiki/releases/tag/v0.1.0 更新日志 兼容OpenAI接口格式 删除Bl ...

  6. stm32 fatfs 文件系统分析和代码解析

    一 文件系统: 文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构:即在存储设备上组织文件的方法.操作系统中负责管理和存储文件信息 ...

  7. thttpd 2.27(最新)移植指南(官方安装脚本好多坑,我只想说)

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明   本文作为本人csdn blog的主站的备份.(Bl ...

  8. Hexo Next主题vercel页面NOT_FOUND

    前端时间将博客部署到了Vercel上,使用的是Hexo Next主题.发现某些博文点进去以后会出现找不到的情况: 404: NOT_FOUND Code: NOT_FOUND ID: ... ... ...

  9. AMD、request.js,生词太多,傻傻搞不清

    前言 之前在公司用JS写前端页面,本来自己是一个写后端的,但是奈何人少,只能自己也去写了.但是自己对前端基本不懂,基本就是照着前人写的照着抄,反正大体意思是明白的,但是出现问题了,基本上也是吭哧吭哧好 ...

  10. BWO白鲸优化算法

    白鲸算法 ​ 白鲸算法(BWO)是一种新的元启发式算法,是一种基于群体的算法,其灵感来自于白鲸的行为,包括游泳,猎物和鲸落.在BWO的数学模型中构建了勘探,开发和鲸落阶段,并在开发阶段利用Levy飞行 ...