OpenHarmony 分布式硬件关键技术
本文转载自 OpenHarmony TSC 官方微信公众号《峰会回顾第8期 | OpenHarmony 分布式硬件关键技术》
演讲嘉宾 | 李 刚
回顾整理 | 廖 涛
排版校对 | 李萍萍
嘉宾简介
李刚,华为OpenHarmony技术专家,OpenHarmony分布式硬件技术负责人。主要负责OpenHarmony分布式硬件架构设计以及华为多设备协同方向的研究。
内容来源
第一届开放原子开源基金会OpenHarmony技术峰会——生态与互联分论坛
视频回顾
视频链接:峰会回顾第8期 | OpenHarmony 分布式硬件关键技术-李刚_哔哩哔哩_bilibili
正 文 内 容
OpenHarmony是一款面向未来万物互联场景的操作系统,其设计采用了分布式架构。那么OpenHarmony相比于传统操作系统有哪些关键的分布式技术呢? 华为分布式硬件技术专家李刚在第一届OpenHarmony技术峰会上给大家带来了几点分享。
01►分布式硬件设计理念
从智能终端的发展趋势来看,单一智能智能终端硬件已经越来越难以满足用户对全场景的要求,面临发展瓶颈:由于体积的限制,无法把所有场景所涉及的硬件全部加入到一个设备中,且单一设备也无法满足所有场景的需求。基于这个现实痛点,多智能终端“组合”而成的“超级终端”应运而生。超级终端可以根据用户期望,通过分布式技术将多个设备组合起来,使设备间的硬件资源共享,实现硬件的“自由”扩展,并可以在不同的业务场景下,按需组合硬件资源,提供更好的用户体验。例如,通过手机、平板、手表、大屏幕、电脑等智能终端的组合,可以实现多屏幕串联、多摄像头和麦克风交互以及专业传感器布置等功能。
智能终端演进
在这样的趋势下,传统操作系统很难满足开发者的要求。因为传统操作系统只能局限使用单个设备上的硬件,每一个硬件都是割裂运行的,应用也只能在单设备垂直领域发力,实现跨设备体验成本和复杂度极高。对开发者来说,更希望能够“跨端”共享硬件,打破硬件PCB边界,从而通过软件定义硬件,构建全场景多设备的“超级终端”。分布式硬件技术能够为开发者的上述需求提供助力,因其能够构建硬件资源池,提供按需定义超级终端硬件的能力,支持多路硬件的协同和调度,且能够使硬件能力自适应。
分布式硬件能够带来什么样的新体验呢?例如,在办公场景下,用户可以让各智能终端设备便捷地链接起来,实现硬件能力共享,跨设备、跨系统应用的操作,无缝传输数据;在出行场景下,用户可以通过将手机和车机组合起来,让应用共享两者的硬件,实现导航、音乐和通话等功能的无缝操作,达到“智慧出行”。对开发者而言,通过程序控制一个远端的设备,仅需要选择其对应的ID即可,其他操作和使用本地设备的方式完全一致。
智慧场景示例
02►跨端分布式硬件的核心挑战
要实现上述的功能和体验,在跨端分布式硬件技术上存在什么挑战呢? 随着超级终端包含的设备越来越多,硬件的管理复杂度也随之攀升。每一个设备的硬件,不仅对本设备提供硬件能力,还要为超级终端中的其他设备赋能。因此,操作系统必须提供各设备的管理能力。例如,各硬件状态的更新和同步、硬件冲突的处理、多路并发情况的处理等。多设备间的管理技术,是目前跨端分布式硬件的核心挑战之一。
跨端多硬件管理
在无线网络环境下,带宽有限,硬件调用的时延和效果难以保障。例如,本地相机的时延和拍摄效果是由硬件总线决定的,一般可以达到几十毫秒的时延和4K甚至更高的分辨率,且非常稳定。当通过应用远端操控相机时,除了硬件总线,还受到网络信号传输的影响,时延最低只能达到几百毫秒,分辨率也仅能达到1080P ,且波动很大。无线的不可靠网络,给硬件时延和效果带来了较大的不确定性。
超级终端硬件调用
在跨端多路硬件并发调用时,硬件协同同步的难度非常高。如上文所述,跨端硬件调度的时延本身就很难保障,当跨端同时调用多个硬件设备时,设备间的同步更难以保障。例如,当应用需要同时操作摄像头和麦克风时,在本地可以通过两者出厂时的调试工作确定其一致性;当跨端远程操作时,由于时延的不确定性,需要操作系统在多个设备间进行硬件协同,大大增加了软件的复杂度。
超级终端多路硬件并发调用
此外,异构智能终端间的硬件兼容性和容错的难度也非常大。设备的不同,导致其各自的系统资源、处理能力、支持的硬件数据处理类型、驱动I/O等都存在较大差异,需要进一步考虑硬件之间的兼容和容错。例如,手表的处理能力相对较弱,难以使用电视的4K屏幕、高声道立体声喇叭和超高清摄像头等。
03►分布式硬件平台关键技术
第一,OpenHarmony在设计之初时就采用了分布式硬件池化架构。通过对各设备能力的抽象,构建全局硬件资源池抽象模型,对上提供一套统一的硬件抽象接口,实现统一管理、即插即用。此外,该架构还支持硬件类型的扩展和按需部署,对逻辑与物理资源进行解耦,可以实现本地和分布式硬件的无差别使用,未来还可以实现基于物理硬件能够定义出不同形态的新的硬件给应用使用,应用开发者只需要调用上层服务的API就可以使用,达到软件定义硬件的效果。
分布式硬件池化架构
第二,分布式硬件平台还提供了统一的设备发现和认证框架。支持设备间通过碰、扫、靠等方式进行设备认证。一旦设备通过发现和认证后,设备的硬件就会自动进入硬件资源池,可以共享给其他设备使用。
设备发现和认证框架
第三,分布式硬件平台提供了硬件自适应技术。能够自动进行硬件能力协商,能够通过网络带宽和时延等的感知,在硬件被调用动态调整硬件效果。此外,还提供了自适应转换技术,通过增强算法实现硬件效果的增强。
硬件自适应
第四,分布式硬件平台还提供了硬件协同同步技术。能够在多路中提供毫秒级的时钟同步能力,确保多路硬件设备的一致性。通过硬件时延动态感知技术,在多个设备中动态下发同步策略,保证多个硬件之间同步的体验。
硬件协同同步
在OpenHarmony3.2中,分布式硬件平台提供了全新硬件资源池化架构,能够实现相机和屏幕的“超级终端”硬件互助能力。此外,分布式硬件池化架构、设备发现和认证框架等技术也已经实现了。对于应用开发者来说,在实现多设备协同场景的开发时能够更加便捷,同时也提供了巨大的想象空间。
OpenHarmony3.2分布式硬件功能
04►创新想法和展望
未来,分布式硬件技术可以给多场景提供全新体验。例如,在会议场景下,能够让会议应用同步接入多个设备的摄像头,提供全景画面,实现全方位的视频会议;在影音娱乐场景下,能够轻松地把手机音视频放到电视和音箱上播放,还可以让家里的灯光自动跟随电影和音乐进行变化,实现非常震撼的家庭影院的效果。
期待越来越多的开发者参与OpenHarmony的生态中来,共同研究和探讨分布式硬件的技术难题,为未来万物互联新场景赋能。
OpenHarmony 分布式硬件关键技术的更多相关文章
- (1)RGB-D SLAM系列- 工具篇(硬件+关键技术)
/*************************************************************************************************** ...
- 解读:20大5G关键技术
解读:20大5G关键技术 5G网络技术主要分为三类:核心网.回传和前传网络.无线接入网. 核心网 核心网关键技术主要包括:网络功能虚拟化(NFV).软件定义网络(SDN).网络切片和多接入边缘计算(M ...
- 小小知识点(二十七)20大5G关键技术
5G网络技术主要分为三类:核心网.回传和前传网络.无线接入网. 核心网 核心网关键技术主要包括:网络功能虚拟化(NFV).软件定义网络(SDN).网络切片和多接入边缘计算(MEC). 1 网络功能虚拟 ...
- 5G关键技术评述
业内重大事件: 张 平:无线通信领域专家,北京邮电大学教授,博士生导师,现任北京邮电大学无线新技术研究所(WTI)所长.泛网无线通信教育部重点实验室主任以及中德软件研究所副所长.张平教授是国家宽带无 ...
- 大型网站提速关键技术(页面静态化,memcached,MySql优化)(一)
一:关键技术介绍: 衡量是否为大型网站的要素: A:PV值(page views 页面浏览量) 访问量大: 带来的问题:1:流量大 -->解决方案:增加带宽,优化程序(视频和图片较浪费带宽,尽量 ...
- 5G关键技术研究方向
对于还没体验4G移动通信魅力的国内的移动通信用户而言,5G也许还是镜中花,雾中月:但对于科研界而言,5G研究已经启程,三星电子5月份宣布,率先开发出了首个基于5G核心技术的移动传输网络,实现每秒1Gb ...
- 大数据 --> 大数据关键技术
大数据关键技术 大数据环境下数据来源非常丰富且数据类型多样,存储和分析挖掘的数据量庞大,对数据展现的要求较高,并且很看重数据处理的高效性和可用性. 传统数据处理方法的不足 传统的数据采集来源单一,且存 ...
- Linux多核并行编程关键技术
多核并行编程的背景 在摩尔定律失效之前,提升处理器性能通过主频提升.硬件超线程等技术就能满足应用需要.随着主频提升慢慢接近撞上光速这道墙,摩尔定律开始逐渐失效,多核集成为处理器性能提升的主流手段.现在 ...
- HyperLedger Fabric 1.4 关键技术(6.4)
本节介绍从最底层的账本开始,逐一讲解账本的结构和存储.智能合约的编写和部署.通道的操作.节点的背书和提交.排序的共识和客户端SDK的接口调用,与交易流程顺序相反,由里及表的说明Fabric最关键的技术 ...
- 蚂蚁金服CTO程立:金融级分布式交易的技术路径
总结: 强一致的微服务 oceanbase里面的投票选举以及多中心多地部署 单元化市异地多活的基础.支付宝是异地多活和容灾结合,而容灾的基础也是单元化.基于单元化进行单元的调度.部署.容灾. 混合云架 ...
随机推荐
- select_for_update悲观锁
例子,银行存款和撤销方法 1.用户A提取帐户 - 余额为100 $. 2.用户B提取帐户 - 余额为100 $. 3.用户B退出30 $ - 余额更新为100 $ - 30 $ = 70 $. 4.用 ...
- 【Java复健指南11】OOP高级02-代码块、单例设计和final关键字
代码块 定义 代码化块又称为初始化块,属于类中的成员[即是类的一部分]. 类似于方法,将逻辑语句封装在方法体中,通过{}包围起来. 但和方法不同,没有方法名,没有返回,没有参数,只有方法体, 而且不用 ...
- 【Azure Redis 缓存】遇见Azure Redis不能创建成功的问题:至少一个资源部署操作失败,因为 Microsoft.Cache 资源提供程序未注册。
问题描述 在中国区微软云上创建Redis失败.收到的错误消息为: { "code": "DeploymentFailed", "message&quo ...
- 机器学习策略篇:详解训练/开发/测试集划分(Train/dev/test distributions)
训练/开发/测试集划分 设立训练集,开发集和测试集的方式大大影响了或者团队在建立机器学习应用方面取得进展的速度.同样的团队,即使是大公司里的团队,在设立这些数据集的方式,真的会让团队的进展变慢而不是加 ...
- 基于centos7 创建一个jdk8的镜像
前言: 直接使用docker拉取jdk8镜像因有时区问题,设置后也不生效,所以干脆自己做一个 以下是Dockerfile文件 FROM centos:7 RUN ln -snf /usr/share/ ...
- 我和我的DBA之路
这几天,突然想写写这些年的工作总结,毕业至今快20年的回顾. 想到20年前,在做毕业设计的时候,当时是学的机械工程类专业,因为带毕业设计的老师兼职企业有个门户网站的需求,而我又会做点网站设计,带的老师 ...
- config.baseUrl.dev 变量 转移到 .env.local 中
config.baseUrl.dev 变量 转移到 .env.local 中 上下文 vue前端开发 问题 多人写代码的时候,会提交config.js里面的配置文件 解决方案 在根目录创建 .env. ...
- jprofiler注册码共享
name和company随意,license如下: L-Larry_Lau@163.com#36573-fdkscp15axjj6#25257 L-Larry_Lau@163.com#5481-ucj ...
- 开源推荐|简洁且强大的开源堡垒机OneTerm
在运维的日常工作中,登陆服务器操作不可避免,为了更安全的管控服务器,但凡有点规模的公司都会上线堡垒机系统,堡垒机能够做到事前授权.事中监控.事后审计,同时也可以满足等保合规要求.提到堡垒机,大伙第一时 ...
- http内网穿透CYarp[开源]
0 前言 在物联网领域中,mqtt消息一直是海量设备连接到平台的标配协议,而平台向移动端开放的操作接口往往是http协议,这就要求平台为两种协议作消息一一适配.在某些情况下,这些设备是有操作系统的li ...