本文转载自 OpenHarmony TSC 官方微信公众号《峰会回顾第8期 | OpenHarmony 分布式硬件关键技术》
演讲嘉宾 | 李 刚
回顾整理 | 廖 涛
排版校对 | 李萍萍
嘉宾简介
李刚,华为 OpenHarmony 技术专家,OpenHarmony 分布式硬件技术负责人。主要负责 OpenHarmony 分布式硬件架构设计以及华为多设备协同方向的研究。
内容来源
第一届开放原子开源基金会 OpenHarmony 技术峰会——生态与互联分论坛
正 文 内 容
OpenHarmony 是一款面向未来万物互联场景的操作系统,其设计采用了分布式架构。那么 OpenHarmony 相比于传统操作系统有哪些关键的分布式技术呢? 华为分布式硬件技术专家李刚在第一届 OpenHarmony 技术峰会上给大家带来了几点分享。
01►分布式硬件设计理念
从智能终端的发展趋势来看,单一智能智能终端硬件已经越来越难以满足用户对全场景的要求,面临发展瓶颈:由于体积的限制,无法把所有场景所涉及的硬件全部加入到一个设备中,且单一设备也无法满足所有场景的需求。基于这个现实痛点,多智能终端“组合”而成的“超级终端”应运而生。超级终端可以根据用户期望,通过分布式技术将多个设备组合起来,使设备间的硬件资源共享,实现硬件的“自由”扩展,并可以在不同的业务场景下,按需组合硬件资源,提供更好的用户体验。例如,通过手机、平板、手表、大屏幕、电脑等智能终端的组合,可以实现多屏幕串联、多摄像头和麦克风交互以及专业传感器布置等功能。
在这样的趋势下,传统操作系统很难满足开发者的要求。因为传统操作系统只能局限使用单个设备上的硬件,每一个硬件都是割裂运行的,应用也只能在单设备垂直领域发力,实现跨设备体验成本和复杂度极高。对开发者来说,更希望能够“跨端”共享硬件,打破硬件 PCB 边界,从而通过软件定义硬件,构建全场景多设备的“超级终端”。分布式硬件技术能够为开发者的上述需求提供助力,因其能够构建硬件资源池,提供按需定义超级终端硬件的能力,支持多路硬件的协同和调度,且能够使硬件能力自适应。
分布式硬件能够带来什么样的新体验呢?例如,在办公场景下,用户可以让各智能终端设备便捷地链接起来,实现硬件能力共享,跨设备、跨系统应用的操作,无缝传输数据;在出行场景下,用户可以通过将手机和车机组合起来,让应用共享两者的硬件,实现导航、音乐和通话等功能的无缝操作,达到“智慧出行”。对开发者而言,通过程序控制一个远端的设备,仅需要选择其对应的 ID 即可,其他操作和使用本地设备的方式完全一致。
02►跨端分布式硬件的核心挑战
要实现上述的功能和体验,在跨端分布式硬件技术上存在什么挑战呢?
随着超级终端包含的设备越来越多,硬件的管理复杂度也随之攀升。每一个设备的硬件,不仅对本设备提供硬件能力,还要为超级终端中的其他设备赋能。因此,操作系统必须提供各设备的管理能力。例如,各硬件状态的更新和同步、硬件冲突的处理、多路并发情况的处理等。多设备间的管理技术,是目前跨端分布式硬件的核心挑战之一。
在无线网络环境下,带宽有限,硬件调用的时延和效果难以保障。例如,本地相机的时延和拍摄效果是由硬件总线决定的,一般可以达到几十毫秒的时延和 4K 甚至更高的分辨率,且非常稳定。当通过应用远端操控相机时,除了硬件总线,还受到网络信号传输的影响,时延最低只能达到几百毫秒,分辨率也仅能达到 1080P ,且波动很大。无线的不可靠网络,给硬件时延和效果带来了较大的不确定性。
在跨端多路硬件并发调用时,硬件协同同步的难度非常高。如上文所述,跨端硬件调度的时延本身就很难保障,当跨端同时调用多个硬件设备时,设备间的同步更难以保障。例如,当应用需要同时操作摄像头和麦克风时,在本地可以通过两者出厂时的调试工作确定其一致性;当跨端远程操作时,由于时延的不确定性,需要操作系统在多个设备间进行硬件协同,大大增加了软件的复杂度。
此外,异构智能终端间的硬件兼容性和容错的难度也非常大。设备的不同,导致其各自的系统资源、处理能力、支持的硬件数据处理类型、驱动 I/O 等都存在较大差异,需要进一步考虑硬件之间的兼容和容错。例如,手表的处理能力相对较弱,难以使用电视的 4K 屏幕、高声道立体声喇叭和超高清摄像头等。
03►分布式硬件平台关键技术
第一,OpenHarmony 在设计之初时就采用了分布式硬件池化架构。通过对各设备能力的抽象,构建全局硬件资源池抽象模型,对上提供一套统一的硬件抽象接口,实现统一管理、即插即用。此外,该架构还支持硬件类型的扩展和按需部署,对逻辑与物理资源进行解耦,可以实现本地和分布式硬件的无差别使用,未来还可以实现基于物理硬件能够定义出不同形态的新的硬件给应用使用,应用开发者只需要调用上层服务的 API 就可以使用,达到软件定义硬件的效果。
第二,分布式硬件平台还提供了统一的设备发现和认证框架。支持设备间通过碰、扫、靠等方式进行设备认证。一旦设备通过发现和认证后,设备的硬件就会自动进入硬件资源池,可以共享给其他设备使用。
第三,分布式硬件平台提供了硬件自适应技术。能够自动进行硬件能力协商,能够通过网络带宽和时延等的感知,在硬件被调用动态调整硬件效果。此外,还提供了自适应转换技术,通过增强算法实现硬件效果的增强。
第四,分布式硬件平台还提供了硬件协同同步技术。能够在多路中提供毫秒级的时钟同步能力,确保多路硬件设备的一致性。通过硬件时延动态感知技术,在多个设备中动态下发同步策略,保证多个硬件之间同步的体验。
硬件协同同步
在 OpenHarmony3.2 中,分布式硬件平台提供了全新硬件资源池化架构,能够实现相机和屏幕的“超级终端”硬件互助能力。此外,分布式硬件池化架构、设备发现和认证框架等技术也已经实现了。对于应用开发者来说,在实现多设备协同场景的开发时能够更加便捷,同时也提供了巨大的想象空间。
04►创新想法和展望
未来,分布式硬件技术可以给多场景提供全新体验。例如,在会议场景下,能够让会议应用同步接入多个设备的摄像头,提供全景画面,实现全方位的视频会议;在影音娱乐场景下,能够轻松地把手机音视频放到电视和音箱上播放,还可以让家里的灯光自动跟随电影和音乐进行变化,实现非常震撼的家庭影院的效果。
期待越来越多的开发者参与 OpenHarmony 的生态中来,共同研究和探讨分布式硬件的技术难题,为未来万物互联新场景赋能。