「龙蜥开发者说」第 23 期来了!开发者与开源社区相辅相成,相互成就,这些个人在龙蜥社区的使用心得、实践总结和技术成长经历都是宝贵的,我们希望在这里让更多人看见技术的力量。本期故事,我们邀请了龙蜥社区开发者李崇(Aubrey Li)来分享「戮力同心,砥砺前行,为国产操作系统发展出一份力」。
欢迎阅读上期故事《是挑战也是契机!我见证了国产操作系统的雄起》。开发者说系长期活动,对于积极投稿、多次分享的童鞋,我们还有神秘大礼鼓励!诚邀开发者们分享真实体验,以文会友、共同学习、一起进步。
本期故事主角:李崇(Aubrey Li),龙蜥技术委员会委员、龙蜥 Intel Arch SIG Maintainer、英特尔软件和先进技术事业部云软件架构师,“龙蜥社区 2022 年度最佳研发团队-Intel 中国研发团队”成员,拥有二十年操作系统领域开发和架构经验,对 OpenSolaris 和 Linux 内核多个子系统均有贡献。
我和操作系统的渊源很深,从学校里做 uC/OS-II 开始,到 Vxworks、uClinux、OpenSolaris,再到 Linux,我的整个职业生涯,今年刚好二十年,一直都工作在操作系统第一线。这期间,我用过很多操作系统的发行版,但这里面绝大部分都是国际社区和国外企业的版本,很少用到国产操作系统。2020 年 12 月 8 日,Red Hat 宣布策略变更,终止了对 CentOS 的服务支持,这是系统软件界的一件大事,因为 CentOS 兼具 RHEL 的稳定性并且完全免费,在服务器操作系统领域占据了较大的使用份额,在政务和互联网行业也占有优势地位。CentOS 的停服,对国内操作系统的使用者影响是巨大的,这意味着系统漏洞更新的停止,企业业务的运行缺少了安全保障。在我看来,这也给了中国开源 OS 生态一次巨大的机会,国产操作系统的趋势已定,势在必行。
初识龙蜥社区是因为一通电话,一位老友向我介绍了国产操作系统新秀——龙蜥操作系统,Anolis is not only Linux.我对这个历经“双 11”大规模验证的系统颇有兴趣,跟他聊完后,我自己也初步去了解了一下龙蜥的开源版本,我认为完全兼容 CentOS 生态是龙蜥操作系统一个很好的切入点,这意味着用户的应用程序可以顺滑地迁移到龙蜥操作系统上。从那以后,身边越来越多我认为“靠谱”的人加入龙蜥社区,也进入了国产操作系统的大浪潮,我觉得这是一件“赶时髦”的事情,但心中更多的,是对国产操作系统的期待。所以,2021 年 6 月,我从上游社区的开发组转到做国内 OSV 和 CSP enabling 组,打算为国产操作系统尽一点自己的绵薄之力。
我当时在上游社区主要做 Intel 至强平台上的 performance 和 scalability 的优化工作,主要涉及内核调度器的部分,包括社区近期开发的 core scheduling 特性,我也曾经深度参与,并且有 patch 贡献。我在分析龙蜥源代码的时候,发现我们在上游社区所作的优化和新特性使能的工作并没有被包含在内,这个现象是上游社区和龙蜥操作系统内核版本的差异所造成的。那么在龙蜥的工作中,如何选择上游社区的优化和新特性来回合到龙蜥操作系统内核里去,是我面临的第一个问题,我需要在稳定性、性能和新特性之间做出权衡和取舍,来让操作系统更好地服务于客户的业务。
2021 年 10 月,龙蜥社区正式成立 Intel Arch SIG 组,我出任组长(Maintainer)一职,和阿里云操作系统团队的同事一起建立了 Intel Arch SIG 的门户网站,在 gitee 上创建了 Intel Arch SIG 的代码仓库。当时,我拿了一个上游社区内核 idxd 设备枚举的 patch,打通了代码从 Intel 内部到开源龙蜥操作系统的整个贡献流程,这期间,我也为打造 OpenAnolis Cloud kernel(ANCK)门禁小龙机器人提供了多项反馈意见。自此,我们对 OSV 和 CSP 的支持,完成了从点对点模式到社区模式的转变。
2022 年是我们支持第四代可扩展至强处理器(Sapphire Rapids)的大年,我们在龙蜥操作系统里面完整地支持了 Sapphire Rapids 平台的特性列表。这一年我印象最深的是对 Scalable I/O virtualization 项目的开发和支持工作。我在接手这个项目的时候,对这个领域的知识储备并不多,这个项目的软件栈对当时的我来说非常复杂,里面的概念、功能和子模块比较多,各个功能和模块之间具有高度的耦合性。另外,这个项目是有硬性的截至时间的,这是和上游社区项目很不一样的地方,因为 Sapphire Rapids 平台和 Anolis OS 发布的时间是确定的,所以我当时感觉压力非常大。幸运的是,Intel 团队和阿里云团队的小伙伴都非常给力,没有人犹疑,大家都在一步一步地往前推进,项目进度表上的方块每天都有新增的绿色块,最后我准备的一个 20K+ 行兜底的大 patch 也没用上。最终,我们成功地完成了这次挑战。这部分工作有 470+ patches,70K+ 代码,最后都被合入进了 Anolis OS 8.8 里面。在 I/O 虚拟化功能方面,Anolis OS 8.8 对于同行业的操作系统来讲,是具有领先性的。
(图/Intel 获“龙蜥社区 2022 年度最佳研发团队”奖)
我所在的团队隶属于 Intel 软件和先进技术事业部,前身是 Intel 开源技术中心(OTC),是英特尔开源开发工作的核心团队,从 Linux 内核到虚拟化,从嵌入式到桌面到云等各个领域都有着深厚的专业知识和经验,在全球为各种大型开源项目和社区都做出过很多贡献。今天,我们也深度参与龙蜥社区,在理事会,技术委员会和运营委员会推动龙蜥社区的规范标准化和生态共建,我们在 Intel Arch SIG、virtualization SIG、云原生 SIG、机密计算 SIG 等多个 SIG 贡献 Intel 技术,活动上,我们也组织了多场龙蜥走进理事系列之走进 Intel MeetUp,做技术和生态的推广。
(图/龙蜥走进 Intel MeetUp 现场合照)
展望未来,操作系统领域仍然面临着许多机会和挑战。举两个我看得到的例子,在算力多样性的今天,如何平滑地使用算力资源,减小不同类型的算力间通信带来的 overhead,让业务更顺畅的运行,是下一代操作系统需要解决的一个问题。在人工智能领域节节突破的背景下,如何让 AI 和 OS 深度结合,在数据中心里面更聪明地进行资源调配,更高效地进行能耗管理,也是下一代操作系统的一个机会。我希望下一代操作系统里面,能看到龙蜥,看到我们国产操作系统的身影。
对 Intel 来讲,我们会坚持打造好底座,以 Intel 体系为核心,继续为龙蜥社区发行版在 Intel 新平台上的适配工作赋能。我们会坚持技术创新,以业务需求为核心,为客户提供更佳合理的解决方案和最佳实践。我们也会和社区各合作伙伴一起,戮力同心,砥砺前行,推动国内操作系统开源社区生态的繁荣发展。
相关链接地址:
Intel Arch SIG 主页:openanolis.cn/sig/Intel-K…
—— 完 ——