创新奋进,共筑国产基础软硬件的美好未来 | 2023 龙蜥操作系统大会 原创
近日,由开放原子开源基金会指导,龙蜥社区主办,阿里云、统信软件、浪潮信息、中兴通讯、Arm、Intel 等 24 家理事单位共同承办,主题为“云智融合·共筑未来”的 2023 龙蜥操作系统大会在北京圆满结束。本次大会上,龙蜥社区理事、龙芯中科副总裁高翔受邀分享了主题为《创新奋进·共筑国产基础软硬件的美好未来》演讲,从初心使命、贡献模式、建设成果、未来展望等四个方向分享龙芯中科过去三年在龙蜥社区的实践和思考。以下为分享原文:
(图/龙蜥社区理事、龙芯中科副总裁高翔)
一、初心使命
参与到龙蜥社区的国产厂商,不管是硬件还是软件,我们可以自称“中国计算机人”。中国计算机人有个理想,就是能够把中国的计算机事业发展好,而发展好计算机事业其实体现在两个方面,一是能够支撑产业发展,二是也要能够为全球 IT 领域技术创新做出贡献。
正是基于这样的初心使命,三年前龙蜥社区成立的时候,大家觉得契机是 CentOS 宣布停服,实际上的背景是中国庞大的信息产业、应用已经发展的非常成熟,我们已经积累了很多人才和产业资源,所以向计算机基础层 CPU、操作系统等领域的发展,已是大势所趋。
中国有句话叫“时代在召唤”!那么国内的基础软件该向何处发展?
过去中国的应用很发达,对 CPU 和操作系统为代表的计算机基础层的产品主要是在用。通过龙蜥社区成立的契机,龙芯中科希望能够全面参与到里面来,做出“中国计算机人”的贡献。
龙芯中科是中国自主 CPU 的代表企业,有 20 多年的发展历史。本世纪初,在国家项目的支持下,通过中国科学院计算所开始做 CPU 的研制。中国科学院计算所是我国计算机事业的摇篮,在这里成就孵化了包括龙芯中科在内的 4 家计算机领域的上市企业。经过了20 年的发展,龙芯中科目前中国第一家上市的 CPU 企业。除了是第一家上市 CPU 企业外,龙芯中科另外一个特点是基于自主指令集发展技术和产业生态。
二、贡献模式
作为 CPU 企业,龙芯中科怎么参与龙蜥社区的建设与贡献,我们有自己的思考和实践:
龙芯中科作为 CPU 企业参与操作系统社区,能够为社区提供多样化的架构支持。目前,全球的指令集有不少,对一个操作系统来说,“多样性”是生态繁荣的指标也是标志。上图的一些数字,技术的小伙伴以前可能有过关注,对于龙芯中科 LoongArch 指令集,在整个开源软件世界目前是顶层指令集架构。什么是顶层指令集架构?比如拨打国际长途电话,每个国家都有地区的编号。在开源软件世界对指令集架构实际也有一个编号,常见的 Intel X86 指令集,开源软件编号是 62,Arm 的指令集是183,RISC-V 开源指令集编号是243,而 LoongArch 国产指令集经国际开源软件界 GNU 组织分配,获得的编号是258。
作为新兴的指令集,LoongArch 指令集发布时间跟龙蜥操作系统社区成立基本上是差不多同时期。开源新兴指令集软件生态是很多人关注的焦点,尤其对软件生态来说,把一个庞大的基础软件生态体系发展起来,需要很多资源的投入和时间积累。今天的大会上很高兴分享 LoongArch 指令集,在国际开源软件世界生态建设的基本情况。
上图左边的表中,列的都是开源软件世界最基础、最重要的一些软件,从 Linux 内核、GCC 工具链、LLVM、Rust、Golang 等都是对软件生态发展起基石性、底座性支撑作用的软件。与指令集相关的有数百个国际开源软件社区都已经实现了对 LoongArch 原生支持。
如果对这些技术领域做简单的概述,有以下五点:
1.开源软件的基石 Linux 内核,目前社区云原生支持龙芯中科全系列 CPU 和桥片。
2.在开源软件世界,有两大支柱性的编译器,就是 GCC/LLVM,都已经实现了对龙芯中科 LoongArch 全量功能特性的支持。
3.新兴与传统编程语言:Rust、Golang、Pascal 等全面支持 LoongArch。
4.主流应用开发框架:Nodejs、.Net 社区开始发布支持龙芯中科 LoongArch 版本。
5.人工智能、音视频图形图像领域性能库,目前已实现对 LoongArch 的支持。
作为 CPU 企业龙芯中科有三方面的技术优势助力龙蜥社区发展。首先是性能优化领域,刚才讲像人工智能领域、图形图像、音视频编解码有很多性能库,它的质量好坏,很大程度上决定硬件平台硬件是否得到充分的释放和发挥。二是编译系统领域,编译系统是程序员最重要的开发工具。三是系统架构,像 Linux 内核、各类驱动、虚拟化、云计算等领域,都设有专业的技术团队,用来支撑各领域的发展。
龙芯中科是对编译系统类社区贡献量最大的国内厂商。过去在编译器领域,我国的积累是非常少的。我自己的经验来说,20 多年前刚开始从事龙芯中科 1 号研制的时候,那时候分析 GCC 编译器的源码。当时读编译器的源码就会发现,里面这么复杂的基础软件,而且又是对开源软件世界起到基石性支撑作用的软件,居然没有中国人的贡献。
经过 20 多年的发展,像 GCC、LLVM、V8 等引擎都有了很多来自于中国厂商和中国开发者的贡献。过去三年,龙芯中科累计向 GCC 社区贡献了超过 20 万行的源码,包括 Golang 社区和第三生态领域里,都实现了中国 LoongArch 指令集的支持。在这期间,龙芯中科开发者也积累了非常丰富的开源软件工作经验,而这些有经验的工程师会直接参与到龙蜥社区 SIG 组,助力各个领域的技术发展。
三、建设成果
经过几年的努力,尤其是在社区各个成员单位共同积极配合下,LoongArch 生态建设取得了比较好的成果。上图是 LoongArch 版本发展的历程图,2021 年,龙芯中科刚开始加入社区,2021 年 9 月,LoongArch SIG 组成立,到 2021 年 10 月第一个版本问世,再到 2022 年正式支持 LoongArch,包括今年对龙芯中科最新芯片有良好的支持。
值得一提的是, LoongArch 指令集是在 2021 年发布,接着跟龙蜥社区开展了紧密合作,到 2022 年 1 月,龙蜥社区发布了业界首个服务器操作系统发行版 LoongArch 指令集,是能够支持龙芯中科 3A5000 系列服务器的产品。2023 年联合社区各个伙伴一起发布了 Anolis OS 8.8 版本,8.8 版本实现了对龙芯中科最新芯片产品的支持,包括最新服务器 32 核的 3D5000,2K500 以及很多国产的网卡、驱动支持。
为了保证社区版本的研发,龙芯中科提供了超过 200 个处理器核心,用于构建设施;提供了测试用例超过 500 个,解决了大量在操作系统研制、使用过程中的各类问题。目前龙蜥社区 LoongArch 版本,它能够原生支持 Linux 全部主流应用开发环境,比如从编程语言、Java、云计算、大数据等软件都能够在龙蜥社区发行版上得到比较完善的支持。
上图列举了中国移动苏州研发中心基于龙蜥社区 LoongArch 版本研制产品操作系统的应用案例。强调一点,龙蜥操作系统社区成立 3 年,而 LoongArch 指令集也才刚三年,就能够走完从研发到产品到最终商业落地完整的产业闭环,这种效率我个人认为是非常高效的,也让我们对未来的发展充满了信心。
龙芯中科作为创始的理事单位,全方位地参与了龙蜥社区的建设,从社区理事会、技术委员会、运营委员会都派驻了专门人员推动龙蜥社区的繁荣和发展。龙芯中科在社区也成立了 LoongArch SIG 组,积极投入社区运营。这些付出得到了社区上下的认可,获得了 2022 -2023 年龙蜥优秀贡献者和优秀合作企业的荣誉。
现在是发展中国计算机事业和基础层关键技术黄金时期,我们也将不忘初心,继续前进,持续投入龙蜥社区建设。我们的愿景是龙蜥社区能够建设成为有国际影响力的操作系统社区,为持续支持多样化的指令集和算力架构贡献我们的力量。
视频回放、课件获取:
2023 龙蜥龙蜥操作系统大会直播回放及技术 PPT上线啦,欢迎点击下方链接观看~
回放链接:https://openanolis.cn/openanolisconference
技术 PPT :关注龙蜥公众号【OpenAnolis 龙蜥】,回复“龙蜥课件”获取。
—— 完 ——