中兴通讯作为通信解决方案提供商,能够提供通信领域端到端的解决方案。从4G到5G,通信领域主要涵盖接入网、传输网和核心网三张网。接入网涉及与手机交互的基站相关传输产品;传输网主要处理以太网从层一到层三的报文;核心网在4G和5G时代,随着移动互联网发展,演进方向更贴近数据中心业务,包含云端数据处理、虚拟化技术和云化技术。自5G起,中兴通讯的技术更偏向与互联网融合,技术栈也愈发相似。
中兴通讯的服务器业务已有多年历史,最初服务于内部核心网业务,部署在电信机房。随着公司在算力方面的发展,中兴通讯的服务器已在互联网数据中心和金融数据中心实现较大规模的商用。
7月18日,在第五届RISC-V中国峰会软件与生态系统分论坛现场,中兴通讯RISC-V生态总监、软件架构设计及性能专家贾云翔就RISC-V在数据中心软件生态系统中的机遇与挑战这一话题,分享了他的观察和观点。
贾云翔表示,RISC-V的标准发展分为扩展阶段、Profile和RVA23标准三个阶段,目前正逐步完善。从数据中心业务发展趋势来看,首先是标准逐渐完善,芯片陆续上市,随后补全相关技术软件和开源生态,最终促进整个生态发展。中兴通讯将从基础软件和开源生态角度,分享自身发现的问题及采取的行动。
在操作系统方面,上游社区对RVA23和服务器相关需求的支持正在逐步完善,仍处于补丁发布阶段。从上游社区到最终在数据中心商用,操作系统要求严格,需经历社区发行版和商用发行版两个阶段,最终才能落地到应用场景,这一过程往往耗时较长。
当前,商用发行版的内核主力基线多在 Linux 4.19到5.10之间,下一个基线是6.6,且6.6内核的应用预计将持续多年。然而,6.6内核对RISC-V的支持较为基础,因此,一方面要降低上游社区商用发行版的工作量,保持6.6内核基线;另一方面要将RISC-V相关的服务器通信合入其中。社区发行版在此过程中起到支撑商业应用的关键作用。
数据中心的业务对性能要求较高,视频编解码需要向量化解压技术,加密和数据库加速也对向量化有较高要求。
对比英特尔和Arm相关CPU的社区发行版情况,英特尔目前主要社区发行版指令集基线正从V2向V3转变,逐渐支持AVX指令;ARM支持NEON,且对RVA20提升的指令集需求强烈。
在工具链方面,主流社区版本为GCC 12.3,其对RVA23有支持。性能测试显示,GCC14.3相对于12性能提升12%,数据中心领域对工具链提升的需求十分强烈。
中兴通讯希望发布一个支持RVA23完整服务器特性功能的社区发行版,并就此与操作系统社区及相关合作伙伴进行了讨论,达成了初步实施方向。
内核版本维持 Linux 6.6,但会将高版本特性反合到社区中,以支持完整服务器特性;工具链从GCC12.3提升到14.3,既满足性能要求,又保证版本相对稳定;同时,将RVA23高版本特性反合到GCC14.3基线上。对于指令集基线构建,将从RISC-V64GC提升,为软件生态提供良好的指令集基线。
中兴通讯当前进展包括与龙蜥社区合作发布 Anolis OS 23.3 RISC-V 预览版,初步支持RISC-V;联合社区生态伙伴制定RVA23支持计划,预期社区年底发布版本;针对内核和GCC的反合工作也在进行中。
数据中心的业务范围广泛,涵盖存储、数据库、大数据、云和虚拟化技术以及多种编程语言的运行时。目前,大部分软件能在RISC-V相关服务器上运行,但稳定性和性能优化版本不足,官方也未发布相关Release版本。因此,服务器相关芯片上市后,仍需解决生态性能和稳定性问题,这需要各方共同努力。
贾云翔表示,生态的健康发展离不开二进制的兼容性。中兴通讯希望通过一次编译,使二进制文件能在各种指令集平台上运行,包括符合RVA23强制最小硬件要求的芯片,以及支持自定义扩展或可选扩展的芯片,未来还能兼容RVA23.1等版本。
通过探测 + 动态分发机制,在加速库内置默认实现,可支持RVA23或RVA64GC以保障通用性,同时针对不同硬件,通过探测机制增加多实现方式,充分发挥其性能,满足加速库或中间件对性能的追求。
目前,RISC-V处于围绕RVA23强制特性快速构建基础软件生态的第一阶段。未来,在此基础上可扩展领域RISC-V,搭配领域优化的相关软件,在各个应用领域发挥灵活和可扩展的优势,形成更多标杆产品。
贾云翔表示,中兴通讯积极拥抱开源,在多个开源社区是高级会员,并针对RVA做出了各种开源贡献。在ISA-L方面,CRC算法性能提升19倍,EC算法提升16位;在OpenSSL方面,SM2算法加密提升19倍,解密提升2.3倍;在DPDK方面,识别到向量化不足和预取未支持的问题,正在开发验证;在GCC方面,对525SPEC进行了优化,提升了性能;在AI领域也进行了相关适配。
贾云翔指出,随着芯片标准逐渐成熟,RISC-V在数据中心将占据一席之地,但也面临诸多挑战。性能方面仍有大量工作待完成,扩展指令集仍在发展,可能引发碎片化风险。此外,认证工作尚未启动,也将带来巨大的工作量。
1210
