当前位置: 首页 > Web前端 > JavaScript

HDC2021技术分论坛:分布式软时钟有多重要?

时间:2023-03-27 10:48:31 JavaScript

作者:鸿蒙解决方案首席技术专家&软总线首席架构师李世军分布式软总线是鸿蒙的关键根基技术之一,也是众多开发者非常关注的技术。通过分布式软总线,可以将多种不同类型的设备根据场景连接在一起,形成一个超级终端,为消费者带来全场景的全新体验。本期我们就来聊一聊分布式软总线及其关键技术——分布式软时钟。一、分布式软总线带来不一样的体验先来看看分布式软总线在使用超级终端的时候能给用户带来哪些不一样的体验?无感发现与连接,让多台设备自动组成超级终端https://v.qq.com/x/page/s3309...通过分布式软总线,实现同账号下多台设备即时连接在一起。如上视频所示,在超级终端的控制中心,同一账号下的多台设备始终实时在线。这样,用户使用由多个设备组成的超级终端就像操作单个设备一样简单。首次发现时,两个陌生设备发现并连接的时间缩短至0.5秒,大大提升了用户体验。第一次连接成功后,下次可以无感的发现并连接两台设备。为了实现“无感发现与连接”的体验,我们采取了以下关键措施:占空比调整:动态调整占空比,加快发现速度。优先级控制:VO、VI、BE、BK基于场景的优先级控制。异构混合组网:蓝牙和WiFi混合组网,可信设备adhoc组网。设备信息交互:联网后设备之间的信息交互,及时感知在线离线和信息管理。策略控制:基于场景感知的发现策略,包括屏幕开关、前后、夜间、运动等场景。传输速度接近空口速率,秒传GB级文件https://v.qq.com/x/page/e3309...上面视频中,通过分享一个5GB的文件华为,20秒基本完成传输,传输速率接近空口速率。为了实现“极致数据传输”体验,我们采取了以下关键措施:快速唤醒并启动芯片,进入高性能模式。精确的流量控制算法来调整传输速率。极简协议支持,传输功耗降低10%。多路径和双路径并发提高了文件传输的吞吐量。多级动态缓冲池技术,合理调度提高端到端容量。2、分布式系统的新挑战分布式软总线在发现、连接、传输等方面做了大量工作,有了很大的提高。但是,随着分布式系统的发展,连接的设备越来越多,分布式软总线面临着以下两个新的挑战:分布式系统中的设备越多,对通信能力的要求就越高。图1分布式软总线如上图所示,五个智能场景中的多种设备都连接到分布式软总线上。设备越多,对分布式软总线的通信能力要求越高。分布式软总线分为任务总线和数据总线。短数据(如控制命令和短消息包)通过任务总线传输,文件和媒体流通过数据总线传输。对于媒体流来说,两个发送和接收设备在处理每一帧数据时,都必须严格按照帧率的倒数来提供资源。例如帧率为90,两端设备中的每个子系统必须能够恰好每1/90(约11.1)毫秒处理一次,这样媒体才不会出现卡顿和模糊,同时确保每台设备的功耗都是最低的,在用户体验和功耗之间实现最佳、最合理的平衡。但是,每个设备的硬件功能可能不同。例如,高端手机和低端手机同时投射到大屏幕上。如何让每个设备按顺序完成业务,需要多个设备之间的时钟一致。.并且每个设备都有自己的时钟,其精度由自己机器的晶振决定,所以很容易因为时钟精度不同导致时钟不同步。时钟不一致可能会导致两端收发节奏不一致,容易出现丢包现象。这时候在多个设备之间建立一套分布式软时钟就显得非常重要了,它可以使超级终端中多个设备的节奏保持一致。如何最大程度地合理利用空口资源图2空口资源空口资源的使用无法摆脱多媒体频段冲突、随机接入竞争、同频竞争、邻频干扰等问题。此外,随着手机上安装越来越多的应用程序和原子服务,跨终端协作越来越多,两台设备之间存在多对应用程序交互。与此同时,跨终端协作的设备数量也在不断增加。那么,空口资源如何进一步复用呢?仅靠频分不能满足业务需求,需要引入时分复用,最大限度地利用空口资源。说到时分复用,就不得不提分布式软时钟。3、什么是分布式软时钟?从以上分布式系统的两个新挑战可以看出,多设备间的时钟同步和空口资源的时分复用都离不开分布式软时钟,是解决问题的关键之一.那么,什么是分布式软时钟呢?分布式软时钟:基于异构网络拓扑结构,为超级终端分布式系统时间同步构建统一时钟源,协调各设备业务时钟,保持高精度时钟用于分布式服务。时钟同步时,分布式软时钟需要解决以下问题:每个设备都有自己独立的时钟源,晶振的好坏决定了不同的时钟偏移量。瞬时单测需要双端在线,否则无法进行交换比较。持续同步会带来功耗和通信消耗,如何在精度和成本之间取得平衡。针对以上问题,分布式软时钟采用软件算法解决。分布式软时钟的同步算法如下图所示:图3分布式软时钟的同步算法在图3中,P节点作为参考时钟源。除了本地时间差异,还有时间漂移和时钟频率差异等。考虑到这些因素,得出每个节点的数据包接收时间的公式,以及节点之间数据包接收时间的差异。这样就可以通过调整时间差实现多个节点间的时钟同步。4、分布式软时钟的目的我们先来看看分布式软时钟的目的:让更多的设备自动组网,进行动态拓扑管理。时钟引入后,时分复用使得用很少的频谱资源支持更多设备的连接成为可能。根据每个设备的特性、账号、承载的业务等信息,自动组装成一个超级终端。比如音箱和PAD、PC、手机等自动组成一个树形拓扑,这些设备可以连接到音箱上发出声音。同时,利用现有BLE的三个广播通道,可以根据分布式软时钟的不同时间戳连接不同的设备,使未来一个家庭连接多达数百台智能家居设备成为可能。在无线干扰环境中起到抗干扰作用。以WiFi2.4G为例:所有落在实线拱形内的虚线通道都会有无线干扰,只有越过拱形的通道才会无干扰,但这样会使无干扰的通道数为3,大大减少了同时开展业务的设备数量。图4WiFi2.4G多设备自动组网后,分布式软总线可以全视角看到哪些设备可以产生服务、服务特性、需要的带宽、时延、功耗等,也可以从单个设备看到设备与全局的关系。这样,当超级终端中的多对设备有业务时,可以从全视角和单机视角,进行分层控制和QoS管理,选择合适的频点和带宽通道为其工作。尽可能减少干扰。多设备业务协同的功耗控制。如果没有时钟,连接的设备越多,设备之间就需要来回协商资源,也就是所谓的back-off机制,造成资源浪费,降低用户体验。时钟引入后,通过时分频分复用,让设备间原本杂乱无章的通信变得更加有序。图5时分频分复用除了上面给出的分布式软时钟的常见场景,随着业务复杂度的增加,分布式软时钟还可以在更多的场景中发挥更多的作用。例如,在多个设备的传感器信号采集中,分布式软时钟可以使不同传感器上的时钟保持一致,从而更好地理解用户意图,为用户提供更智能贴心的服务,让用户的生活和工作更方便。简单。五、结语图6展示了分布式软时钟的演化路径。基于窗口协调,分布式软时钟精度可达1ms;基于分布式软时钟算法与传输层的协同,分布式软时钟精度可达500us;时钟精度小于300us。同时,不同设备的属性不同,承载业务的网络拓扑结构不同,需要的时钟也不同。引入复杂的网络时钟,为业务提供更准确的时钟。图6分布式软时钟的演进我们不断探索算法和干扰抑制,逐步提高分布式软时钟的精度,让分布式体验越来越好!