腾讯自研交换机标准化之路:S³IP实践
前言
云业务高速发展,数据中心网络基础设施的规模也随之爆发式增长,为了应对海量设备在质量、效率、成本方面带来的诸多挑战,腾讯于2018年启动了自研交换机项目。自研交换机采用“白盒硬件”加“自研NOS”模式,通过硬件方面严格把控设计,软件方面基于开源SONiC(Software for Open Networking in the Cloud)深度自研的TCSOS(Tencent Cloud Switch Operating System),从2019年在25G数据中心首次批量部署,到如今在基础网络所有重要网络场景中落地,为我们打造高性能、高可靠、智能化的自主可控网络业务系统提供了稳定的基座。
腾讯自研交换机团队在享受开源开放生态红利的同时,也发现了早期SONiC生态缺少平台相关软硬件标准规范的短板,这一短板严重影响我们与ODM厂商的协作效率、软硬件交付质量以及产品升级演进。在此背景下,自研交换机标准化工作被提上日程。
自研交换机痛点及解决之道
腾讯自研交换机主要采用ODM联合开发模式,ODM厂商负责提供白盒交换机硬件和BSP驱动,腾讯自研团队负责审核硬件设计和开发上层NOS软件。这种合作模式理论上可以让双方更聚焦于各自擅长的领域,提升开发效率和系统质量。但是由于合作标准规范的缺失,我们在项目实际开展过程中遇到了诸多困难,而这些困难也是白盒交换机行业共有的痛点。
1.1 痛点1 没有统一的硬件驱动接口规范(sysfs)
Sysfs是应用访问硬件信息的入口,在S³IP sysfs规范制定之前,白盒交换机用户都有自己的sysfs标准,但是这些标准并不统一。为满足不同用户对硬件访问的定制化需求,ODM厂商需要对sysfs标准逐个适配,形成了各自独立的“烟囱”,最终造成烟囱林立的局面。
图1 推出S³IP sysfs规范前“烟囱林立”的局面
与ODM厂商联合开发遇到的问题包括:
1) 协作效率低。体现在合作厂商众多,又没有统一的驱动接口规范,随着产品演进,新的ODM厂商加入,驱动接口更新,以及验收用例增加,导致频繁沟通、适配和系统集成。低效的环节多,系统集成周期长,严重影响产品交付的及时性。
2) BSP软件故障率高。体现在厂商为满足不同用户的驱动规范需求,会分别成立项目团队维护。由于代码不共用,已经解决的驱动问题,在我们设备上需要投入资源重复解决,容易造成遗漏,影响产品质量。
1.2 痛点2 各家产品硬件设计差异大,增加测试、运维工作量
硬件是白盒交换机产品的底座,硬件设计不仅影响产品的质量和成本,同时也是产品开发和运维效率提升的关键因素。腾讯早期的自研交换机产品,因为缺少统一的硬件规范,在适配和使用过程中都碰到了一些问题。
以出问题较多的CPU控制模组为例,早期使用厂家私有模组,不同厂家模组的形态、功能、接口差异很大,所以在软件适配多厂家产品时,需要重复投入很大的开发、测试人力,且不同厂家的模组通常会出现不同的质量问题,导致线上问题收敛速度较慢。后来随着白盒规范化需求的增加,COM-Express控制模组逐渐成为了自研产品的首选,但是COM-Express在使用中也暴露出了一些问题:
1)COM-Express规范面向工控类产品,无法很好的适配白盒交换机系统需求,而且规范对于系统运维类的功能定义有所缺失,导致最终用户通常都需要对模组进行二次定制开发;
2)COM-Express模组受连接器限制,供电能力和高速Serdes支持方面均无法满足下一代交换机产品需求。
为了解决上述问题,同时促进白盒交换机硬件生态的进一步发展,我们需要定义一套全新的控制模组标准,保留适当灵活性的同时减少通用组件的硬件设计差异,实现开发成本的降低和产品质量的提升,而统一的组件也有利于产品后期运维。
图2 控制模组发展历程
1.3 痛点3 没有统一的验收平台
自研交换机在交付现网前,需要在硬件生产、软件研发、整机交付等不同场景运行不同的测试验收用例,来保证自研交换机的可用性。在S³IP项目成立之前,SONiC社区缺少这样的测试验收平台,也缺少测试用例集合。我们需要构建私有的测试验收平台,并积累测试用例,来检测硬件批次问题和硬件单体故障,这个工作对我们有很大的挑战。
1.4 解决之道-S³IP标准化
我们联合运营商、互联网自研交换机团队,协同众多ODM厂商、芯片厂商发起了S³IP项目(Simplified Switch System Integration Program,简化交换机系统集成项目),该项目为ODCC的子项目,旨在解决交换机上层软件和底层设备集成过程中的共性问题。针对上述痛点,制定了一系列规范以提升白盒交换机软硬件的交付质量和效率。规范包括:
《S3IP Sysfs规范》:规范了平台硬件管理接口。sysfs规范目的是,构建统一的硬件抽象层(对上统一硬件服务),屏蔽不同硬件平台的差异,确保硬件监控应用和驱动的可移植性。
《S³IP-OCM硬件规范》:规范了硬件组件接口。OCM规范致力于白盒交换机控制模组的标准化,作为交换机的控制核心,控制模组对于系统的稳定性、集成效率和现场运维有着非常大的影响。
《PIT(platform integration test)规范》:提供统一的测试验收规范。ODM厂商在白盒设备生产时,以及最终用户在使用时,通过这套验收规范,能筛选出问题设备。PIT规范屏蔽了生产过程和物料导致的设备差异,使用统一的测试验收规范,确保设备交付质量。
图3 S³IP规范组成
S³IP是首个由国内公司联合发起的数据中心交换机软硬件标准规范的开源组织,通过软硬件规范的推广,让需求方能够更聚焦于需求应用,供给方能够更有的放矢,推动白盒生态良性发展。腾讯作为S³IP发起者之一,主导制定了Sysfs规范,深度参与制定了OCM硬件规范和PIT规范。
腾讯实践S³IP规范
2.1 S³IP sysfs规范落地效果
截至2022年9月,符合S³IP Sysfs规范的自研交换机已在腾讯DCN、DCI、可编程网关等场景规模化部署。
图4 腾讯数据中心网络架构
白盒交换机在S³IP sysfs规范落地后有如下亮点:
1) 硬件信息规范化,为智能化识别/预测硬件故障铺平了道路。腾讯自研交换机有丰富的产品系列,这些自研交换机的硬件拓扑虽然不同,但都呈现出S³IP sysfs规范要求的目录结构。通过这些目录和文件,很容易获取硬件信息。下图为不同厂商适配S³IP sysfs后的效果。
图5 设备适配S³IP sysfs规范的效果
适配S³IP sysfs规范后,硬件数据有格式化的目录结构,非常便于导入数据库并进行深度处理。我们通过分析历史故障的数据特征,很容易实现现网硬件故障的识别和预判。
2) 大幅降低BSP软件故障率。过去一年的现网运营数据与以往数据对比,发现BSP软件的故障率大幅度降低。ODM厂商一般会对接多个白盒交换机用户,这些白盒交换机用户大多是S³IP联盟成员,而联盟成员都遵循相同的驱动接口规范。这样ODM厂商的驱动代码可以复用,故障解决的经验可以积累,产品交付质量可以不断提升,BSP软件故障率下降成为必然。
3) 显著提升协作效率。主要体现在降低了沟通成本,缩短了开发周期。腾讯新引入了多家S³IP联盟内的ODM厂商,这些ODM厂商都遵循S³IP软硬件规范,显著降低了沟通成本。新设备适配时间明显缩短,TCS84和TCS94设备从BSP适配到BSP稳定运行的周期,比上一代产品缩短了2个月。
2.2 S³IP OCM硬件规范的落地
OCM规范以交换机系统需求为出发点,从组件、功能、接口、工程等多角度对控制模组的设计进行了详细阐述,并给出了应用示例。该规范具有如下特点:
1)为交换机产品量身定制,满足应用和扩展需求的同时,尽量保持精简;
2)细化各领域设计要求,让厂家更清晰的了解设计要点,减少歧义,最终实现多厂家接口和功能的统一;
3)结合系统运维需求痛点,模组支持运行状态监控、固件热升级、关键部件现场可更换等重要特性;
图6 OCM规范定义
腾讯自研的OCM控制模组是跟随规范同步设计开发的,已应用在最新发布的CPO交换机上,同时也计划应用在未来新的自研交换机产品上。
图7 OCM模组规格及应用
腾讯积极回馈行业生态
腾讯自研交换机团队希望通过S³IP项目,推动白盒交换机开放、开源、标准化,简化交换机的系统集成,加速白盒交换机的发展。经过一年半的实践,白盒交换机软硬件标准化的目标也逐渐达成。
S³IP规范是业界第一个数据中心网络相关的软硬件规范,腾讯贡献的OCM规范和Sysfs规范在国内已经是事实的规范。这些规范在S³IP生态中取得了如下成果:
1) S³IP用户成员,包括中国移动、阿里巴巴、百度、腾讯、美团、快手、京东等,全都采用S³IP sysfs标准,将其作为自研交换机规格说明书的一部分。
图8 S³IP用户组成员
2) S³IP的厂商组,都实现了白盒硬件适配S³IP sysfs的驱动,并经过S³IP项目的验收。
腾讯为了加速S³IP sysfs规范落地,开发了S³IP sysfs框架,并向S³IP联盟成员开源,同时我们也积极将S³IP成果反馈到SONiC社区,丰富SONiC社区功能,促进白盒交换机行业发展,实现共赢。
►►►
总结与展望
2022年9月7日S³IP发布会在北京国际会展中心隆重举行,腾讯网络和数据中心总经理邹贤能受邀做开场发言,“S³IP项目从2020年立项以来,在项目组的共同努力下,获得快速发展并取得可喜的成绩。作为项目的联合发起者,腾讯既是贡献者也是受益者,在最新一代自研100G数据中心交换机上,我们成功的实现了S³IP规范的落地,也期待S³IP项目在未来继续成长,持续扩大影响力。让我们一起推动数据中心和网络产业更快速的发展。”
S³IP规范正吸引白盒交换机用户和ODM厂商加入联盟。我们相信S³IP规范有潜力成为全球数据中心的通用规范。腾讯作为S³IP创始成员,将秉承开放开源的思路,积极参与白盒交换机标准化工作,推动数据中心和网络产业更快速地发展。
欢迎关注公众账号“鹅厂网事”,我们给你提供最新的行业动态信息、腾讯网络最接地气的干货分享。
注1:凡注明来自“鹅厂网事”的文字和图片等作品,版权均属于“深圳市腾讯计算机系统有限公司”所有,未经官方授权,不得使用,如有违反,一经查实,将保留追究权利;
注2:本文图片部分来自互联网,如涉及相关版权问题,请联系:sandyshuang@tencent.com或 mianyang@tencent.com
/
关
注
我
们
/
/ 鹅厂网事/
分享鹅厂网络的那些事
相关文章
- 真·富可敌国!苹果公司光卖iPhone的收入就比乌克兰GDP还高
- 李飞飞两位高徒联合指导:能看懂「多模态提示」的机器人,zero-shot性能提升2.9倍
- 曝微软裁员近千人,涉 Xbox 等多个部门,被裁员工感叹「2022,真难」!
- 上班拍抖音需谨慎!Tiktok「科技网红」因自拍泄密被苹果解雇
- 大厂暴力裁员!马斯克放话Twitter先裁75%,Meta班车司机都丢饭碗了
- 「图像编辑」太卷了!谷歌最新论文发布仅6小时就被自己砸了场子
- Adobe发布PS 2020版!这样安装才能用!你要懂!
- 软件测试|Pycharm版本控制与分支管理
- 有点意思的Gif动图生成平台开发实战
- 智慧城市---智能供热系统
- 跟着Nature Communication学作图:R语言ggplot2画世界地图展示采样地点
- 跟着Nature Communication学作图:R语言ggplot2话点线图展示基因表达量的范围
- 跟着Nature Ecology&Evolution学作图:R语言ggmsa包展示多序列比对结果
- 跟着Nature ecology&evolution学python:toytree模块画进化树
- Java19 带来的虚拟线程是怎样玩出花提升十倍性能的
- 跟着Nature Metabolism学作图:R语言ggplot2散点图
- 跟着Nature Communications学作图:R语言ggplot2散点加误差线展示响应比(Response ratio)
- 面试官问:Stream 中的 map、peek、foreach 方法的区别?彻底懵了......
- 总有一本适合你~分享9本和生物信息学相关的python电子书
- 了解学习高通量测序技术(NGS)神器SequencEnG:66种高通量测序技术全介绍