作者 | 王一然
“独行者疾,众行者远”,这句话放在开源社区再合适不过了。
4 月 13 日 -15 日,开放原子开源基金会和欧拉开源社区联合主办了欧拉开发者大会(openEuler Developer Day 2022),会上发布了欧拉首个数字基础设施全场景长周期版本,这也是欧拉被捐赠之后的首个社区共建版本,而在一众共建者中,英特尔是其中不得不被提及的一个。
自从英特尔宣布参与共建欧拉以后,其动向就一直被行业高度关注:英特尔为何能与欧拉一拍即合?他们将如何共同推进多样性算力的发展?在未来,双方又将携手讲出哪些新故事?带着这些疑问,InfoQ 有幸采访到了英特尔系统软件部研发总监杨继国,以期更深入地理解多样性算力,以及挖掘英特尔参与共建欧拉社区的初衷、探索与实践。
1 多样性算力的需求被推向全新的高度
早在几年前,多样性算力这个话题还未在产业界激起如此大的水花,其推动者也主要聚焦在国外,而近段时间,“得算力者得天下”的论调却在国内达成共识,这背后的原因究竟是什么?
在回答这个问题之前,我们先来看一组数据:据统计,1992 年,全人类每天只产生 100GB 数据。而今天,全球 70 亿人,每人每天产生的数据高达 1.5GB。
透过数据,我们大致可以将算力瓶颈的主要因素归结于两个方面:一方面,随着越来越多的行业开始加快数字化转型的步伐,一大批集约化的大型数据中心正拔地而起,整个社会的算力需求日益增长;另一方面,万物互联的时代会产生海量的交互数据,从云到边缘再到设备端,数据变得无处不在,而这一切,都离不开算力在背后的支持。
当前,数据处理的工作需要适应传统数据中心、云上数据中心、边缘以及智能设备等各类场景,如果只是将算力简单地堆上去,不仅会导致成本超出预期,还势必会引起功耗的增加。因此,仅仅通过 CPU 或传统的操作系统无法完全解决所有问题:不仅芯片算力已经达到了物理上限,操作系统在万物互联的场景下也难以保持稳定,在维护上面临着巨大挑战。
那么,如何才能在性能、成本控制和绿色计算之间找到一个最优解?“把合适的软件做相应的扩展,同时和硬件结合在一起,形成一个最优的方案。”杨继国给出了这样的答案。
他进一步解释道:“当英特尔观察到多样性算力的需求后,我们从硬件芯片设计到软件支持,都做了相应的准备。”
在硬件芯片优化方面,英特尔在数据中心提供了一些可扩展的平台,使其计算能力变得更加灵活,更易进行配置,除此以外,还可以支持 CXL 等高速设备。而英特尔的独立显卡 GPU,也能够根据算力需求,以更为灵活的方式形成集群,从而对机器学习、深度计算等方面进行支持。杨继国还提道:“我们在 CPU 之上还集成了一些加速器,能够针对加解密、压缩等特定场景进行加速。”
在软件优化方面,自基辛格接任英特尔首席执行官以后,也确定了“软件优先”的顶层战略,其后投入了大量的精力来建立软件领域的统一:用户可以通过 oneAPI 这样的统一接口,把 CPU、GPU、IPU 等几种不同的算力统一在一个编程框架下,从而实现更加简单易用的目标。
2 软硬件协同,化解算力难题
实际上,想要破解多样性算力的难题,就需要软件与硬件相辅相成,就如同英特尔与欧拉融合之后,英特尔帮助欧拉在虚拟化方面做了优化工作:首先,英特尔成立了 SIG 组 ,把最新平台 Ice Lake 做了基本的平台支持;其次,把一些重要的支持特性完整地融合了进去,帮助欧拉把核心软件升级到了较新的版本,使其可以跟国际最新版本保持兼容。同时英特尔也做了一个全面的平台特性测试,在给自己做测试的同时,也帮助欧拉社区测试组在 Ice Lake 平台上进行了 OS 系统测试。而这一点,也恰恰体现出了操作系统对接底层硬件厂商的特殊性。
除此以外,硬件同样需要协同软件才能充分发挥它的效能,尤其现在的硬件对云原生、机密计算、安全性和隔离性都有非常高的要求,这也使得硬件技术比较复杂,导致用户的学习成本较高。
基于此,杨继国强调:“开源社区能够很好地帮助硬件技术做普及和推广工作”,通过开源社区可以把最新的硬件技术以最快的方式给到用户,并且帮助用户尽快地用起来,最终部署到应用。
显然,英特尔加入开源社区的优势不言而喻,但它又为何在众多开源社区中选择加入一个由中国主导的开源社区呢?关于这个备受大众关心的话题,InfoQ 也与杨继国进行了深度的探讨。
他表示,国际化社区被很多人接受的重要条件就是:开放、透明和公正,而这几点也恰好能在欧拉的身上得到印证。
一方面,在欧拉社区中,CPU、加解密、存储、网络、虚拟化等技术话题都有众多的参与者进行讨论;另一方面,欧拉社区近百个 SIG 组的会议都是公开透明的,开发者可以看到不同公司、不同用户的观点和声音,而不只是一两家公司唱的独角戏。此外,在这样的社区环境下,开发者能够释放自己天马行空的想法,从而碰撞出让人意想不到的创新;而对于英特尔来说,透明的环境能够让他们迅速地理解欧拉社区的代码结构、软件版本、运作模式,管理模式以及 SIG 组的管理与决策,解决刚开始遇到的平台融合难题。
“我们大概是去年年末决定加入的欧拉社区,当时就得知欧拉新版本几个月后就要发布,时间非常紧张。”杨继国回忆道。
但只过了一两个月的时间,英特尔就摸清了欧拉平台,梳理清楚了相关流程,检查完善了相关代码,还提供了设备帮助欧拉测试,也解决了发现的问题,最终正式参与了欧拉新版本的共建。
对比业内通常的对接和开发周期,这已经是相当快的速度。
杨继国表示,大家愿意坐下来开诚布公的交流和讨论问题,是他们能赶在欧拉首个数字基础设施全场景长周期版本发布前,针对英特尔底层硬件做出充分调优的重要基础。
3 英特尔与欧拉合作情况与规划
当硬件厂商和操作系统厂商联合起来的时候,有三点问题需要优先考虑:技术、生态以及国际化。
技术的重要性不必多说,任何一家厂商脱离技术都好比无根之木;而完善生态的意义就在于当生态问题被解决后,再解决其余问题就会形成最优的配置,即可针对不同的场景、不同用户的需求,形成最优的、特定的、高性能的解决方案;最后,对于一家开源社区来说,如果没有走向国际化,便不能和上游社区接轨,导致有些技术只可能维护,而无法创新。
所以在谈到英特尔和欧拉具体的未来发展规划时,我们主要围绕以上三点进行了探讨:
在技术上,英特尔会先帮助欧拉把短板补起来,在打牢基础的前提下,再把最新的东西同步进来。
比如英特尔会在深度学习、串联数据处理、加解密方面给欧拉支持,让其不仅能够把机制建立起来,还能够共享给用户;此外,英特尔将会和欧拉一起发展垂直软件栈,因为一个软件为了解决特定的问题,从最底层到最顶层都要应用,这不仅仅是一个操作系统的问题,包括中间件、语言、运行形态甚至是用户态服务都要进行统一优化。
在生态上,杨继国首先表示,欧拉社区不仅仅是一个操作系统,而是整个软件生态:在多样性算力的环境下,英特尔和欧拉将通过不同 SIG 组、不同行业用户的共同参与,一起构建各种各样的不同生态,使生态系统更加的丰富,让每个开发者都能在这个平台上找到合作点,形成"多点开花"的局面。
在国际化上,与上游社区保持接轨是欧拉走向海外的关键,但国内厂商不可避免地会和国外社区有一定差距。
“社区虽然都是开放的、开源的,但毕竟还是人参与,只要有人,就会有不同的理念和观念,所以有时候因为文化不一样会带来一些冲击。有些东西在我们看来是非常顺理成章的,但是在社区其他人看来,这个东西就是错误的,这种碰撞是需要解决的。”
好在,欧拉走向国际化的道路并不是单枪匹马,在这个过程中,英特尔会扮演一个领路人和贡献者的角色,帮助欧拉在技术方向、社区管理模式以及交流模式与上游社区保持更多的联系,以此来反哺欧拉社区。
4 写在最后
欧拉社区目前已经有 330 多个成员单位,近百个 SIG 组,社区内有近万名开发者去提交代码,而英特尔的加入也意味着欧拉得到了国际主流厂商的认可。我们相信,随着英特尔与欧拉的协作更加紧密,欧拉的创新技术将会被更多人所看到。