设为首页|收藏本站|
开启左侧

[科技] 华为鸿蒙内核,如何突破6微秒的理论极限?

[复制链接]
96488 4
李卫东 发表于 2024-6-8 07:00:00 | 只看该作者 打印 上一主题 下一主题
 
华为鸿蒙内核,如何突破6微秒的理论极限? 第1张图片





作者
 
|
 庄则良

来源 | 心声社区、
蓝血
究(lanxueyanjiu)



华为鸿蒙内核,如何突破6微秒的理论极限? 第2张图片


2012实验室战地英雄会分享时刻


我和华为的缘分开始于2018年的冬天,当时我还默认主流操作系统就是Linux和Windows,然而OS内核实验室的操作系统专家雷继棠的一通电话改变了我的想法。


“华为正在做一个纯自研的操作系统,采用微内核架构,由陈海波教授带领国内外学术界、工业界多名操作系统领域学者、专家联合研发,目标就是打造中国自研的OS(操作系统)内核,与Linux和Windows三分天下。”


这一下子激起了我的兴趣。打造全新的操作系统可是大手笔,如果能把这个整明白,那可是足以载入史册的大事!


当时的憧憬仍记忆犹新,一转眼,我已经加入鸿蒙内核四年多了。


01

被反复打回的代码

我记住了这四“不”



2019年3月,刚加入中央软件院OS内核实验室时,我便感受到了部门浓浓的技术氛围。团队“含博量”超高,博士占比达到40%。技术大牛近在咫尺,比如我的邻桌就是Linux社区某领域的mAIntainer(维护员)。就这样,我忐忑地开始了边恶补、边实践的探索期。


很快,我在鸿蒙内核调度组接到的第一个任务来了,承担微核中的核间中断IPI通信模块的设计开发工作。虽然没有这方面的经验,但我还是凭借对该机制的认识,又趁着刚加入组内的“蜜月期”,一个劲地奋勇争先,不出两个星期就写出了可用的版本。


在我看来,我的代码“作品”既符合功能要求,又可以通过用例防护网,完全满足要求,我心里不免有点儿沾沾自喜,没想到committer楠哥检视后,提了三个意见,随后直接干脆地说:“重写吧。”我顿时傻眼,原本对自己的设计信心满满,结果辛辛苦苦写了半个月,一下子被否定,我有些懊恼和不甘。我仔细看起了检视意见,发现这其中最大的问题是三个字——“不匹配”。作品既不符合编程规范,又只局限在自己的功能,没有考虑设计的整体性,就好比在研究所里盖了一间小木屋,无论是风格还是功能,都无法匹配要求。


我开始有些服气了,意识到写代码光有热情还不够,更要有过硬的专业能力。为了能够改好这段代码,我几乎把自己封闭起来,一点点琢磨微核代码,逐步优化设计,那段时间,我甚至做梦时眼前都是一行行浮动的代码。


很快我就交出了第二份答卷,然而,故事的发展并没有想象中顺利,我迎来了第二次被打回,这次的原因也是三个字——“不全面”,里面许多场景没有考虑到。就像房子虽然建好了,可是没有沙发,舒适度上大打折扣。但这次我没有一丝沮丧,反而充满了动力,因为钻进去了,乐趣也就来了。


我当时只有一个想法,就是好好打磨这张答卷。随着不断趁热打铁,一次次跟楠哥对齐设计,我快速吸收改进意见,来来回回改了四版,同时对编码的思考也越来越深入。与此同时,我对代码的热爱与理解也与日俱增,每每遭遇困难,都会想起楠哥的那句话:“内核是要持续演进10年以上的,一定要严格控制架构腐化。”


死磕两个月后,代码终于达到标准,最后合入主线时,我长长地舒了一口气。这场雕琢中,我学到了写代码要避免“不匹配”“不全面”“不充分”“不符合”,在我后续的编码生涯里时刻提醒着我:在设计过程中,我们不仅要把功能实现出来,更要考虑所有应用的场景,在整体设计一致性的基础上,严格保证新功能与原有功能的一致性。


华为鸿蒙内核,如何突破6微秒的理论极限? 第3张图片


参加三丫坡攻关期间的留影


02

投身三丫坡攻关

巧解六微秒难题



这两年,在华为纯技术团队里,我比较外向的性格和积累的组织管理能力都得到了发挥,开始承担鸿蒙内核调度组的PL(以及项目负责人)工作。说来也巧,带领团队的第一年,同时发生了两件大事,接到了职业生涯最艰巨的任务令——攻关HPE(高性能执行环境)低时延和参与三丫坡攻关,研究“混合关键性时延”,现在回头看,一切都是最好的安排。


时延是指数据或者命令从一端传送到另一端所需要的时间,它在各类场景中都非常关键,比如在智能制造场景中,如果我们能将时延从50微秒缩短到25微秒,那么它的控制精度就可以做到从10微米到1微米,相当于头发丝的1/7到1/70,从而实现机械臂从打造金属到制作光学器件的跨越。


因为降低时延可以大大提高目标效能的价值,许多行业对它有着强烈的诉求,这次遇到的挑战,就是解决客户的原始诉求——以软件代替硬件,让时延能够在数通设备中快速响应,并且被精准控制。


其实这个诉求难以实现,就连客户心里也没底,对整个业界来说都是一个巨大的难题。但我听完,觉得时延的课题非常有价值,便默默记了下来。当时我正投身三丫坡攻关当中,在操作系统特战1队中研究“混合关键性时延”课题,我发现这事或许可以用我们攻关的课题来解决。于是我抱着“世上无难事,只要肯攀登”的想法,开始了尝试。


时延的降低是有代价的,片面地追求低时延也会降低系统整体吞吐量。针对智能制造、电网等需在同一个硬件上部署多种类型任务的场景,“混合关键性时延”就好比给拥堵的车流进行了车道划分,时延要求高的任务走快车道,时延要求低的任务走慢车道,以综合时延最大限度减少对整体吞吐量的影响。


想到这,我已迫不及待付诸行动。我拉上各个领域模块专家,大家一起集结三丫坡,攻关“混合关键性时延”根技术,我们将OS领域内的调度、中断、进程间通信和虚拟化等关键模块联合起来创建关键路径的快车道。


当时大家信心满满,但当整个方案推进到距离任务令完成期限一个月左右时,核心的阻塞难题出现了——6微秒的理论极限。


我们需要处理的电路波形呈现周期性,起初我们认为只要在周期节点进行检测任务,波段就可以正常运行。然而,经过严密地分析,原本158微秒的周期绝大部分时间都要用来模拟计算,留给操作系统的节点时间只有6微秒的波动范围,这个动作过去是由硬件完成,可以说是大大超出了软件能力和OS调度机制的理论极限。


困难一下子压在心头,不论哪种办法都会导致波形模拟的不正确,我开始有些迷茫了,但还是强行给自己积极的心理暗示,不管怎样都要“啃”下来。


这天晚上,一直绞尽脑汁苦苦思考的我实在扛不住饥饿,和同组的兄弟一起点了个外卖,见他还在忙,我顺便帮他的也拿了。回来后他打趣道:“感谢兄弟,本来我要多跑一趟,现在你一趟搞定!”此话一出,我俩似乎不约而同想到了什么,莫名兴奋起来,我看到他的眼睛里闪烁着灿烂的光芒。时延任务并不是非要等前一个完成才开启下一个,就像两个波段原本都有自己的工作,但既然检测任务采用定时方案,操作系统可预知它何时发生,也就意味着有可能“预备出发”?我有一种强烈的预感,这方案可行!三丫坡的夜景,在那天晚上格外的美丽。


于是我们构思了一个预补偿方案,通过建立业务负载的模型来提前识别周期内任务的负载压力,计算周期到达所需时间,随之便可以精准地推测出调度的时延,从而提前启动。


没多久,我们便完成了动态补偿的自适应反馈式算法,实现了周期起始点的精准识别。我们的确能够推测出OS调度的时延,并在任务周期内提前启动,确保周期能够稳定在6微秒内唤醒。我们还发现,这样操作几乎能100%模拟成功,无论是空载还是满载测试,Demo都能打出符合要求的波段,能够完成DSP(数字信号处理器)器件周期的完美替代,我感到一阵前所未有的激动!


我深知技术绝不能只停留在理论层面,应用在公司的其他领域,实现技术外溢价值才是鸿蒙内核的归宿。经过不断打磨,我们的低时延技术也实现了商用落地。


华为鸿蒙内核,如何突破6微秒的理论极限? 第4张图片


三丫坡1分队复盘合影


03

我们的技术成了核心卖点



2023年,低时延技术随着鸿蒙内核在数通场景新lite平台上实现首次商用。这不仅面临着架构冲击、平台场景不熟悉等问题,还要达到规模商用的质量和要求;其次,在Linux场景评估明确做不到的小型化问题,要在鸿蒙内核上寻找技术突破方向,以解决产品成本的痛点问题。难题接踵而来,就像要在茫茫荒原中开辟出一条快速通道,真是充满挑战。


但困难并不会成为我们前进的障碍,前所未有的挑战更是激发了团队的斗志,我们迅速投入状态,只要找准核心诉求,就能撕开“城墙口”。


于是,我们决定先跟产品线的同事们聊一聊。马不停蹄奔赴南京,在与客户一起完成了一场激烈的头脑风暴后,我们把所有想到的问题和灵感都记录下来,巨细无遗,逐一攻克。


那段时间,客户的会议室成了我们的驻扎点,在“时时跟进、事事回应”的反复沟通中,我们和客户逐渐形成了联合作战队机制。联合作战队历时3个月的前后三次集中攻关,我们不仅快速将“混合关键性时延”落地到产品,保障了产品转发性能超越友商数倍;还识别到园区产品小型化是核心竞争力,通过三丫坡攻关的专家团队挖掘技术点落地到产品中,实现设备内存从150兆降到100兆的极致优化;最后在联合作战队期间闭环了OS相关版本80%的问题,将版本上可维可测诉求和期望充分对齐,我们的能力和版本问题单流速得到了巨大提升,还获得了数通产品线的“众志成城”贡献奖。“联合作战队”的机制也作为优秀运作机制纳入项目日常管理中,持续为项目作出贡献。


你可能疑惑,只是双方交流一下,为什么可以产生这么大的改变?我们真切地感受到,深入的思想碰撞、积极的充分交流,能够提高解决问题的热情和意愿。做平凡而伟大的事,你不是一个人,而是一群人,集思广益、众志成城的力量是无限大的。


在2023年华为中国合作伙伴大会上,看到华为为了更好地满足中小企业数字化转型的需求,支持分销伙伴业务拓展,正式发布面向分销市场全新子品牌“华为坤灵”。其中,我们的技术“低时延多核转发N倍、业务连续不中断”成为数通产品的核心卖点,满满的自豪感油然而生。


在完成鸿蒙内核数通商用版本目标的同时,我也在不断思考如何让产品竞争力持续领先,如何让操作系统更好地服务产品构建出差异化竞争力,以支撑下一步的精品旗舰产品,实现多个场景的海量发货,助力公司发展。在这条充满挑战的道路上,我们能做的就是不断走到客户前面去,用鸿蒙内核为极限挑战场景打开逃生通道。


在积极组织各方交流、深入了解业务形态及痛点后,我们建立了联合的交付体系和防护网,强有力地保障了商用质量;结合三丫坡攻关,与技术专家们一同攻克技术难题,将技术转化到商用交付版本,助力产品竞争力达成。


2023年4月16日,华为智能汽车解决方案发布会上,华为发布了智能座舱,其中超低时延、快速启动这两个核心卖点,就是利用了确定性低时延的根技术。低时延的基础武器突破,可应用的场景也远不止于此,在计算场景的计算能力提升、在终端手机HarmonyOS上的跟手性应用,鸿蒙内核的低时延将有无限可能,我十分期待它在未来的每一次全新亮相!


04

后  记



虽然加入华为只有短短四年,但这却是我成长最快的四年,从调度领域的技术小白到基层主管,从自己钻研到带领团队攻克技术难题、商用落地,一步步成长刷新了我对技术和价值的认知。


我很庆幸能够加入鸿蒙内核团队,公司的大平台和时代的大背景赋予了它更多的意义。也许你会问我为什么如此充满期许,答案当然是——我坚信鸿蒙内核会成为世界的更优选择。仰望星空,脚踏实地,我将秉持必胜的信念,用心将技术做到极致。


最后,我想用OS内核实验室每一位伙伴的梦想结尾:让鸿蒙内核走进每一部手机、每一辆汽车、每一座基站、每一个网络设备、每一朵云,万物互联的智能世界从鸿蒙内核开始!


上一篇:十多年来最重要的一次苹果开发者大会,库克会暗掷“王炸”吗
下一篇:邓超,内娱“抽象”第一人
@



1.西兔生活网 CTLIVES 内容全部来自网络;
2.版权归原网站或原作者所有;
3.内容与本站立场无关;
4.若涉及侵权或有疑义,请点击“举报”按钮,其他联系方式或无法及时处理。
 

精彩评论4

正序浏览
跳转到指定楼层
沙发
搜搜哦去 发表于 2024-6-9 07:52:07 | 只看该作者
 
加油
回复 支持 反对

使用道具 举报

 
板凳
小虫子在刷牙 发表于 2024-6-9 23:47:44 | 只看该作者
 
[点赞][点赞][点赞]
回复 支持 反对

使用道具 举报

 
地板
王泽维爸爸 发表于 2024-6-9 23:47:54 | 只看该作者
 
[奋斗][奋斗][奋斗]
回复 支持 反对

使用道具 举报

 
5#
万事如易 发表于 2024-6-10 09:01:06 | 只看该作者
 
希望国产越来越好[点赞][点赞][点赞]
回复 支持 反对

使用道具 举报

 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

排行榜
活跃网友
返回顶部快速回复上一主题下一主题返回列表APP下载手机访问
Copyright © 2016-2028 CTLIVES.COM All Rights Reserved.  西兔生活网  小黑屋| GMT+8, 2024-7-27 09:15