关键词:浪潮服务器,BIOS,统一镜像
导读:BIOS 作为唤醒计算系统的第一句话,是计算机最底层的、最直接的硬件设置和控制程序。在当前快速变化的客户 IT 架构需求面前,BIOS 开发也变得复杂多样。传统开发模式,产品与 BIOS 一一对应,一款产品有 20 多个定制需求,就要开发 20 多个 BIOS,每个 BIOS 都有上万个代码文件,严重影响产品开发周期。为此,浪潮构建了业内首款 BIOS 统一镜像,将产品开发测试时间缩短 55%,效率提升了 122%。
随着物联网、云计算、大数据、AI 技术的飞速发展,互联网与传统产业的融合越来越深入," 互联网 +"、"+ 互联网 " 模式层出不穷,迸发出越来越大的价值。应用场景化、产品个性化成为主流,新的商业模式、新的软件应用、新的管理工具不断涌现,客户需求越来越多样化,客户要求的响应速度也越来越快," 快 " 成了最基本和最重要的诉求。为了给客户提供快捷、高效、精准的服务,提高客户体验,浪潮开创性地提出了 JDM(联合开发 ,Joint Design Manufacture)模式,JDM 模式可以实现协同设计、敏捷开发、快速交付,将个性化定制与大批量生产有机结合。作为 JDM 模式的一个重要业务环节,服务器 BIOS 开发要能够适应当前需求个性化、开发定制化、供应批量化的形势,要在最短的时间内,以用户可接受的成本约束,将用户需要的产品开发出来。
开发效率提升 1 倍,浪潮 BIOS 开发化繁为简
随着客户需求越来越多样化,在面对大量的紧急需求时,BIOS 开发和测试成为产品整体研发周期的重要瓶颈。传统的服务器 BIOS 开发模式要求 BIOS 开发与产品型号一一对应,BIOS 开发时间在整个产品的研发周期中占比很大。为提升效率,浪潮让 BIOS 开发化繁为简,实现了一套软件适配全线的服务器、存储产品,将 BIOS 开发时间缩短了 55%,效率提升了 122%。
在若干年前互联网还未如此繁荣,服务器 BIOS 开发采用面向产品型号开发模式,每个机型产品对应一套 BIOS 软件,有多少个产品就有多少套 BIOS 软件,机型配置简单,而且还未出现服务器产品的定制化需求,基于在 BIOS 厂商软件包做硬件适配,并将老产品的功能移植到新产品上并做少量优化即可满足产品需求,这种传统的开发模式完全可以应对。
随着互联网的迅速发展,互联网客户的需求就出现了井喷现象,就拿 AI 云服务器 NF5468M5 来说,支持三个机型配置和十种以上 GPU 拓扑 , 另外还要兼容客户定制的配置,在研发测试中出现各种 GPU 识别、资源支持、信息显示等一系列问题,这时研发团队加班加点紧急制定开发方案,单独为这类多颗 GPU 配置制定了一套动态识别并进行动态分配资源的机制,最终解决了各种配置问题,同时该产品多达二十多个客户定制,对应二十多个 BIOS 定制版本,每个版本需要不定期升级,而且时间上都是紧急任务,在很长一段时间内研发人员每天都在进行不同的定制化工作,修改、调试、测试、发布软件版本。随着浪潮 JDM 模式的提出,同时近几年遇到越来越多的开发瓶颈,显然,传统开发模式已完全不能适应新形势下的业务需求,必须探索一种新的 BIOS 开发模式。
在传统服务器 BIOS 开发模式的基础上,浪潮要化繁为简就必须解决一个问题,用一套软件及一套镜像适配在全线服务器和存储产品上,实现统一镜像。而这就要改变 BIOS 软件架构并以独立软件产品模式实施 BIOS 需求、设计、开发、测试、工程化、交付工作,实现固件归一化。新一代的 BIOS 软件架构的提出,就是要提供一种面向规范及接口的新型开发模式,这种模式可以灵活适配不同服务器产品,从而为 JDM 模式提供强有力的支撑。
图 1 统一镜像应用
从 0 到 1 挑战重重," 三把利剑 " 横空出世
事非经过不知难,在实现 BIOS 开发统一镜像的过程中,浪潮遇到了三大挑战:首先是如何动态适配不同的服务器产品;其次是如何降低产品的定制化时间;第三是如何提高产品的开发迭代速度。寻找解决方案的过程本就漫长而又艰难,由于目前业界鲜有全线产品适配的 BIOS 软件架构先例,更让人一度怀疑这一目标的合理性。尽管关关难过,但浪潮研发团队并没有放弃,经过不断地探索,他们成功打造出硬件平台自适应框架、可扩展配置接口、BIOS 特性扩展包的 " 三把利剑 ",构建出新一代 BIOS 软件架构,大大缩短了产品的 BIOS 开放测试周期,能够快速满足客户大规模的定制化产品需求。
利剑之一:硬件平台自适应框架
针对第一个挑战:如何动态适配不同的服务器产品。传统服务器的 BIOS 开发模式为镜像与产品一一对应,只支持对应产品的硬件配置,无法实现适配于其它产品。浪潮发现,要实现统一镜像,就需要建立一套硬件平台自适应框架,首先要将 BIOS 相关的硬件设计进一步标准化,形成统一的硬件约束,然后在 BIOS 镜像预设一段产品配置模块区域,用于装载全线产品的产品配置包,产品配置包中包含各个与硬件相关的配置参数,同时在预先制定的硬件约束下使各个产品拥有唯一识别码,在启动过程中 BIOS 动态选择产品配置模块中与之匹配的产品配置包加载产品的硬件配置参数,可以做到适配不同的服务器产品,使 BIOS 软件版本与硬件型号产品完全脱耦,从而提升 BIOS 软件产品的适配性。硬件平台自适应框架的建立彻底告别了传统的针对每个产品单独编译发布版本的方式,大大提高了开发效率。
图 2 硬件平台自适应示意图
利剑之二:可扩展配置接口
针对第二个挑战:如何降低产品的定制化时间。客户的定制化需求,特别是互联网厂商对 BIOS 菜单选项默认值设定有严格的要求,比如客户 1 对内存可纠正错误上报是到达 1000 个即报错,客户 2 是出现 2000 个再报错,客户 3 是出现 5000 个再报错。在这种情况下,一个通用版本的固定设置很难满足所有客户的需求 , 因此需要一个可扩展配置接口来满足客户定制化的需求。通过对 BIOS 镜像划分多个特定的区域,预留功能数据库区域,用于存放各个功能的配置接口,随着功能的增加,对应功能模块也随之增加,同时扩展功能数据库的接口,配置接口面向配置区开放。产品定制通过定制化配置工具输入定制需求,定制化配置区的特征值,在不需要进行软件编译的情况下进行灵活适配即可完成一键生成客户定制版本,减少二次开发的工作量,提高 BIOS 软件产品的交付速度。
图 3 可扩展配置接口
利剑之三:BIOS特性扩展包
针对第三头 " 拦路虎 ":如何提高产品的开发迭代速度。传统面向产品型号的 BIOS 开发模式,功能开发与产品耦合较多,给不同平台的功能移植带来一定的工作量,必然影响开发效率,不同产品系列复用率难度较高。而在 JDM 模式下,浪潮一款新服务器的研发周期从 1.5 年压缩到了 9 个月,当出现新产品爆发式增长的情况,这种开发模式无法在兼顾短周期响应的情况下保证开发质量。为此,浪潮研发团队对接国内外客户固件技术团队,贴近客户运维一线,充分理解客户需求,在新一代 BIOS 软件架构设计中,针对前期数代产品积累的功能特性和收集到的新功能需求,提炼成单独的可扩展功能模块,各个模块形成扩展包脱离与硬件平台的耦合,在不同产品系列可以复用,形成浪潮独有的 CBB 模块。一旦出现新的产品需求,可快速将已经固化的 BIOS 特性包移植到新平台软件包,仅做少量模块嵌入调试和优化升级即可实现所需功能,既提升了 BIOS 软件产品的迭代速度,又保证了开发的质量。
图 4 BIOS 软件结构
苦尽甘来:开发模式由面向产品型号到面向规范及接口的转变
当前,新一代 BIOS 软件架构正在应用于浪潮 M6 全线通用服务器产品的研发中,在开发阶段,所有的功能开发仅需一次,完全不需要产品同步工作,保证了开发质量,大大提高开发效率,目前已形成 36 个浪潮独立特性模块,支持面向场景化一键定制性能功耗策略、智能故障诊断、固件安全、启动功能定制等重要核心技术;在测试阶段,每个迭代周期不同产品仅需对硬件配置的相关功能做重复测试,而这部分工作量仅占全功能测试的 15%,其他通用功能通过在不同产品上做交叉测试,提高了测试效率;在生产阶段,产品定制化通过定制化配置工具搭配镜像输出版本,即可兼容全线产品,提升了定制化版本发布效率。基于新一代 BIOS 软件架构,浪潮一款服务器产品的 BIOS 研发及测试周期缩短了 55%,效率提升了超过 1 倍。
相信在 M6 系列服务器产品推向市场时,将看到浪潮越来越多的基于新一代 BIOS 软件架构的产品,对市场的多样化需求,灵活地提供服务器 BIOS 深度定制,快速响应客户需求,提高交付效率,有效支撑 JDM 业务模式。
登录后才可以发布评论哦
打开小程序可以发布评论哦