让系统研究更有意义:HarmonyOS NEXT的教训和经验——讲座回顾
John Lions Distinguished Lecture是由UNSW CSE年度活动,每年会请学术大牛做汇报
John Lions Distinguished Lecture
今年(2024)请到的是上海交通大学的陈海波老师,HarmonyOS NEXT的主要设计者,OpenHarmony 技术指导委员会主席及华为基础软件首席科学家,国内高校第一篇 SOSP 的论文作者(!)
看知乎上的评论应该是2017年进入的华为,从事系统研发方向(知乎相关的帖子已经被水军的垃圾信息占了)
十分有幸在2024.10.1听到了现场的演讲
会场很大,快乐水和橙汁不限量供应,会后提供小点心(味道还行)😏
视频回放
YouTube: John Lions Distinguished Lecture 2024
B站搬运:让系统研究更有意义: HarmonyOS NEXT 的教训和经验
时间线如下:
11:52 陈海波老师开始演讲
13:39 入题
19:02 OS Trend
32:28 HormonyOS NEXT与OpenHarmony介绍
41:06 Industry/Academia(产学协同)
1:03:40 Lessons&Experiences
1:07:50 QA环节
演讲内容
入题
海波老师提出了一个看法:操作系统研究并非由工业界主导,而应该是产学协同的形式
OS Trends(系统发展趋势)
回顾了下操作系统的发展历程
现代的操作系统远比之前要复杂
而通过层层的抽象,就算是10岁小孩都能编写出应用(比如Scratch)
趋势1:从软件上优化性能
作为后摩尔时代的一个解决方案,从软件,算法,硬件价格上进行性能优化
趋势2:解决不同设备的系统碎片化
让所有设备用上统一内核(鸿蒙微内核是个好建议)
趋势3:AI的引入可以改变人们使用手机的方式
AI增强了手机输入输出的能力
HormonyOS NEXT与OpenHarmony介绍
HormonyOS NEXT与Open Harmony的关系如图所示
Micro Kernel(微内核)
在能实现和Linux一样的功能的同时,还要保证性能,然后是安全
一个统一架构意味着生态上的良好移植性,将不同的设备组合成为一个更大的系统
Industry/Academia Synergy(产学协同)
Example 1: Verification and Optimization of Synchronozation Primitives(同步原语的验证与优化)
形式化验证解决多线程处理的研究,检查多线程情况下内存模型是否正确
涉及到我知识盲区了,这一块我理解不一定对
开源的LibVsync是一个高性能的,用于验证数据并发结构的验证库
并且已应用于OpenHarmony
Example 2: Verifying Concurrent File Systems(并发文件系统验证)
崩溃带来的错误很难被消除
设计了一种Concurrent Relational Logic(CRL)来解决这个问题
Example 3: Rendering Architecture Optimization(渲染架构优化)
“大部分帧可以在短时间内渲染出来,但有些帧需要大量时间才能渲染,这是从企业当中获得的经验”
为此提出了D-Vsync,可以确定需要处理帧的数量,节省处理复杂帧的时间
数据结果看起来很Nice😍可以减少70%的卡顿
Example 4: File Sytem Optimization(文件系统优化)
背景:Read-Only的分区占用的空间正在快速增长,SquashFS实现了占用空间压缩,但也让系统卡顿,文件在解压缩时也可能是内存膨胀,导致应用崩溃
为此提出了EROFS,提供固定大小的压缩
已经入Linux 4.19内核https://docs.kernel.org/filesystems/erofs.html
Lessons&Experiences
- 生态系统很重要。某个应用很强并不能解决问题,需要形成生态才能可用
- 分而治之,逐步提升项目可用性,而非一开始就做到完美
QA环节
这里就选我感兴趣的进行总结,完整内容请看回放
- 澳洲的PhD和澳洲本地的产业是脱节的
- Open Haromony肯定是POSIX Compatible,甚至可以支持些Linux的API
线下QA环节
很荣幸线下和陈海波老师聊了下鸿蒙操作系统的细节,这里说几个我觉得有意思的点
- 鸿蒙系统不会存在一个类似Linux Root这样的一个角色,所有的权限都是分散管理的
- HarmonyOS NEXT出于生态治理的原因,应该不会支持应用侧载
- HarmonyOS NEXT目前大多为ARM架构
- 分布式系统意味着存在很多攻击切入点,除了分级权限控制(信任链)外,还可以让运算能力强的设备(电脑/云端)检测运算能力弱的设备(手表/耳机)的安全情况(星盾架构)
- 目前仓颉语言(对标Swift)的IR和ArkTS(TypeScript方言)的IR并不互通
- HarmonyOS Next的软件分析与代码审计目前还在起步阶段,华为有内部工具,但在研究领域上还可以进一步探索
- 10月或11月会有一本关于OpenHarmony编程的书会出版
结语
海波老师人很好😁下至鸿蒙系统有无可能大范围普及,如何入职华为工程师,上至鸿蒙系统运行细节,都能有问必答
聊着聊着就和我们一块去蹭主办方给的Snack😂就是文章开头Show的那个
线下问答直接给了微信二维码,不管本科生还是PhD直接,只要人在现场都能加上微信
Btw,他用的是Mate X5,最新的三折叠MateXT需要优先供给市场😂
最后还去CSE的楼下合了个影(照片就不贴了)
题外话
搜索陈海波老师资料的时候,Bing搜索引擎推荐的都是什么东西😾看着就倒胃口
这种“xx之父”就和“我是你爹”有什么两样,看的人只要被恶心到就行,营销号考虑的就多了🤣