字节跳动自研 OpenBMC 方案成功上线,STE 团队工程师都做了哪些事?

OpenBMC 是 Linux Foundation 组织里的一个项目,也是目前开源 BMC 里方案最成熟、社区最活跃的项目。日前,我们得知字节跳动系统部 STE 团队自研的 OpenBMC,已在内部成功上线,并稳定运行了两个多月。这也是字节跳动首次正式上线并初步产品化的 OpenBMC 方案。

为此,我们专访了字节跳动系统部 STE 团队工程师,他为我们分享了字节跳动自研 OpenBMC 的布局和推进过程。

传统 BMC 生态封闭,及时响应困难重重

BMC 是服务器上的管理模块,它包含独立的 SoC 以及 SoC 上运行的系统,完成对服务器的管理、监控、并对外提供服务。对于服务器来说是不可或缺的重要组成部分。

目前服务器 BMC 的方案里,部分厂商有完全自研的方案,部分厂商则会基于 IBV (Independent BMC Vendor) 的商业 BMC 进行定制化开发,但这些都是闭源的,服务器使用者无法掌控 BMC 的完整功能。

同时,商业 BMC 也具有诸多局限,比如一些不必要的功能,可能影响网络和系统稳定性;修复 bug、漏洞往往需要反馈 ODM 厂商,甚至需要 IBV 支持,这使得修复时间过长;部分 bug 只在特定环境下复现,更增加了修复的难度。

随着互联网的不断发展,数据中心的不断壮大,对数据中心服务的运维需求,也越来越呈现出精细化、定制化的趋势。

严重依赖各 ODM 厂商、IBV 的传统 BMC 开发模式,开发周期长,无法实时响应互联网多变的需求。一个更加开放、更加现代的 BMC 方案,成为当务之急。

功能新架构优,OpenBMC 成字节跳动首选

OpenBMC 是 Linux Foundation 里的一个开源项目,它方案成熟、社区活跃,受到 IBM、Google、Facebook、Intel、Inspur 等国内外各大厂商的支持。

在架构方面,OpenBMC 支持 Aspeed、Nuvoton 等多种 BMC 芯片,以及 x86、ARM、OpenPOWER 等多种服务器架构,更是采用 Linux kernel 5.15、Systemd 249 (249.4+)、GCC 11.2.0、C++20 等最新的现代化技术架构。

227c68d9a70a477943e4eef7a9b5693f.png

OpenBMC 解决方案流程一览

但是 OpenBMC 最初是为了解决国外企业的数据中心需求设计开发的,无法完全适配国内互联网数据中心需求。基于 OpenBMC,结合字节跳动服务器管理和运维,开发自研版本,成为更理想的选择。

从社区版本到落地应用,OpenBMC 在字节跳动产品化

为了加快 OpenBMC 与字节跳动内部业务的适配,STE 团队调研了 OpenBMC 社区里,各个模块的技术方案,对比字节跳动内部对服务器的管理和运维,挑选出适用的方案。

8618eb8f2952180be37fa2afe5407843.png

OpenBMC 在字节跳动产品化过程示意图

对于能满足字节跳动内部需求的模块,STE 团队决定直接使用社区版本;对于额外的需求,则会基于社区模块,添加并增强功能,最终形成一个完整的解决方案,进行深度测试。

STE 团队工程师,为我们分享了具体的方案:

  • 对于 x86 specfic 的模块,复用 Intel 的模块,例如 PECI,node-manager

  • 对于 power control,复用x86-power-control

  • 对于各类传感器,基于现有的entity-manager/dbus-sensors/virtual-sensor,添加 yaml 来定义需要的 sensor

  • 对于风扇控制,复用phosphor-pid-control并添加了单、双转子的检测和适配

  • 对于 FRU,根据硬件情况改造相关代码,使其支持非标准 FRU 格式

  • 对于 SEL,实现新的统一的 logging 方式,把 log entry 转化为标准 SEL

  • 对于 code-update,基于phopsphor-bmc-code-mgmt添加了 BIOS、CPLD、FPGA 等模块的支持

  • 对于字节跳动内部的管理、运维,新增了代码来完成线上的适配工作

此外, STE 团队也在字节跳动内部搭建了 CI 服务器,完成了自动化的编译和测试,并且与开源社区的 Gerrit 打通:

  • 对于内部的每一个 Push/MergeRequest,会跑 CI

  • 对于每一次编译,都会通过 QEMU 来跑基本的测试

  • 对于重要的 release tag,还会通过 HW CI 在实际服务器上验证

  • 对于开源社区里meta-bytedance的每一个改动,也会跑编译和 QEMU CI

积极呼吁行业合作,共同参与社区共建

据 STE 团队工程师介绍,OpenBMC 项目目前已经在两种不同配置的机器上顺利完成上线,并持续稳定运行了两个多月。

同时,STE 团队的工程师们,也在 OpenBMC 开源社区里提交了涉及新 feature 及 bug fix 的诸多 commits,目前已经成为了 OpenBMC Technical Oversight Forum (TOF) 的一员。

  • https://github.com/search?p=1&q=org%3Aopenbmc+bytedance.com&type=Commits

  • https://github.com/openbmc/docs/blob/master/tof/contract.md

未来,字节跳动系统部 STE 团队将在更多的平台上持续研发 OpenBMC,来更好、更快速地支持服务器的管理和运维。工程师还表示,在后续开发中,STE 团队希望能与更多厂商进行全方位、多维度的紧密合作共建,共同开发更符合国内互联网数据中心需求的开源 BMC 方案。

专访最后,STE 团队的工程师也充分表达了对于优秀人才的渴求,欢迎对新技术、开源感兴趣的小伙伴加入字节跳动系统部 STE 团队,用最新的 kernel、最新的编译器,写最 modern 的 C++。


关于字节跳动系统部 STE 团队:

字节跳动系统部 STE 团队 (STE=System Technologies & Engineering,系统技术与工程) 一直致力于操作系统内核与虚拟化、系统基础软件与基础库的构建和性能优化、超大规模数据中心的系统稳定性和可靠性建设、新硬件与软件的协同设计等基础技术领域的研发与工程化落地,具备全面的基础软件工程能力,为字节上层业务保驾护航。同时,团队积极关注社区技术动向,拥抱开源和标准。

更多招聘信息,可联系 chenziying@bytedance.com 获取。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/34913.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

月薪11K!95后房产经纪人转行当程序员:工资过万不难,精神压力也不大

时代在不断的发展,人们对“衣食住行”的要求越来越高,而这其中人们对于“住”是格外的关注。 买房的人希望自己能买到合适的房子,而卖房的人也担心自己的房子卖便宜了,所以越来越多的人在买房卖房这一块儿很难抉择,因…

chatgpt赋能python:Python怎么装Pip

Python怎么装Pip Python是一种非常流行的编程语言,可以用于各种用途,包括网页开发、数据分析、科学计算等。如果你是一个Python编程新手,你可能不知道如何安装和使用Python包。Pip是Python包管理系统,可以帮助你安装和管理Python…

赛事报名启动丨百度Apollo星火自动驾驶大赛开始报名啦!

作为汽车智能化、网联化的关键环节,自动驾驶成为全球科技界、产业界竞争的新赛道。随着人工智能、5G通信、激光雷达、高精地图等多项技术不断完善,自动驾驶的判断力和理解力得到了显著提升。为了推动自动驾驶技术的发展、加快人工智能技术的迭代&#xf…

RocketMQ 在同程旅行的落地实践

本文作者:刘树东 - 同程艺龙技术专家 01/使用概况 同程旅行选择RocketMQ主要基于以下几个方面的考虑: 技术栈:公司主要以 Java 开发为主,因此我们倾向于选择一款用 Java 实现的MQ,且没有任何第三方依赖为最佳&#…

火爆全网的个人行程卡纪念版!3秒教你快速生成!

大家好 咱们直接开门见山! 3 秒生成你的专属行程卡纪念版 用下面这款小工具,只需要 3 秒,就能帮大家生成【行程卡纪念版】。 用一张图片记录你三年去过的地方。 回顾过去三年,我们发现许多美好的回忆已经深深地留在了我们的心中。…

CAN网络管理唤醒功能

采用1043的can 芯片:工作模式 – 正常模式 – 具有 INH 输出以及本地和远程唤醒请求功能的待机模式 – 具有 INH 输出以及本地和远程唤醒请求的低功耗睡眠模式 状态切换流程图: CAN唤醒的需求: 唤醒请求(Wake Up Request) 唤醒请求可分为两种: ● 主动唤醒请求:来自模…

(智能车比赛)基于 ADS 逐飞库 英飞凌 TC264 377系列 的多核使用经验

多核并行主要有两个方面 一,程序,变量储存地址设置 二,运行核选择 一、内存分配 概念及过程描述 尽量将不同的功能划分为各个模块,然后交给不同的cpu运行。 或者说不同的cpu负责运行不同的功能,cpu之间以少量的参…

CK-UR05-US桌面式超高频RFID发卡器开发手册之USB控制命令格式

CK-UR05-US桌面式超高频RFID发卡器支持USB控制命令格式,本文重点就此格式展开说明! CK-UR05-US桌面式超高频RFID发卡器 1、取版本号(GetReaderVersion) 功能:取读写器的硬件、软件版本 命令码: 02H 命令参数:无 命令包: 『40H 02H 02H BCH』 举例: 如…

RFID课程设计-图书管理系统用户端设计

RFID课程设计-图书管理系统用户端设计课程设计题目课程设计任务内容题目设计基本原理NFC开发概述标签调度系统如何将 NFC 标签映射到 MIME 类型和 URI如何将 NFC 标签分发到应用在 Android 清单中请求 NFC 访问权限过滤 NFC IntentACTION_NDEF_DISCOVEREDACTION_TAG_DISCOVERED…

Linux炫酷终端仪表盘

最近发现了一个适合装逼的终端命令,会在终端显示一个炫酷的仪表盘(提示:终端全屏显示效果才好) 先上图 首先安装三个软件 sudo apt-get install node nodejs-bin sudo apt install nodejs-legacy sudo apt install git 待会会下…

【袋鼠云】标签系统

文章目录 客户画像标签建设的演进1. 业务单元独立作战2. 离线数仓统一建设3. 实时数据多维补充4. 标签产品化管理5. 数据智能化管理 标签体系设计与加工一、标签体系设计1. 数据梳理2. 基于OLP模型体系化梳理标签3. 定义标签与加工口径 二、标签模型设计三、标签配置1. 根据业务…

AI最新开源:LMSYS Org开源LongChat、法律大语言模型ChatLaw、中文医疗对话模型扁鹊

一周SOTA:LMSYS Org开源LongChat、法律大语言模型ChatLaw、中文医疗对话模型扁鹊 文章目录 1. LMSYS Org发布LongChat,上下文碾压64K开源模型2. 北大团队发布法律大模型 ChatLaw3. 扁鹊:指令与多轮问询对话联合微调的医疗对话大模型 1. LMSY…

pta中级题库

目录 7-1 三个整数排序 7-3 求数列前n项之和 7-4 求一组数据的平均值 7-5 输出图形 7-6 一行字符变换 7-7 sdut- C语言实验——删除指定字符 7-35 二维数组中每行最大值和每行和 7-36 矩阵转置 7-38 二维数组元素变化 7-39 沙漏图形 7-40 连接两个字符串 7-41 统计…

基于等照度线和窗口匹配的图像修补算法

作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 一、关于图像修补 图像修补的目的是基于已有的图像信息或数据库内信息,对缺失区域进行合理地修复。在诸多领域如电影、…

pyecharts-Timeline讲解时间线

Pyecharts----Timeline (*^▽^*) 作者:发现美的眼睛(本人) 首先简单介绍一下pyecharts这个神奇的东东,如果你是从事web,那么Echarts就会熟悉知晓。 ——如果不是,那么这篇文章也会推荐一个非常好的&#x…

计算机网络英语作文150字,微信投票的英语,写一篇关于网络投票看法的英语作文150字左右...

你好微信投票的 Should students make friends online? Some people say yes Internet helps people make many friends Chatting on line, students can express their feelings and opinions more freely, and even get help for their foreign language studies Others, ho…

关于计算机500字英语作文,小学英语作文500字(共8篇)

小学英语作文500字由好范文网的会员“迈和”投稿精心推荐,小编希望以下多篇范文对你的学习工作能带来参考借鉴作用。 第1篇:小学英语作文500字 猜你正在找小学英语作文500字的怎么写?那么就给你这篇范文参考。 Im a happy girl.my english na…

关于计算机500字英语作文,500字英语作文范文

3 500字英语作文范文二 Protecting the Intangible Cultural Heritages Like tangible cultural heritages such as the Great Wall and the Forbidden City, intangible cultural heritages like Peking Opera and Confucius-commemorating rituals are equally crucial. We s…

Yarp项目代理ChatGPT,解决网络无法访问openAI的问题

1.创建Yarp项目 目的:通过代理解决网络无法访问openAI的问题 项目源码地址:https://github.com/raokun/YarpProject 1.创建.net7 webapi项目 创建一个webapi项目 2.搜索安装nuget包 1.搜索最新的Yarp.ReverseProxy包 https://www.nuget.org/package…

GPT-4 价值 20 美金的回复:是拯救还是毁灭?

编者注 - 周末闲着无聊,我们分别对比研究了 ChatGPT 2、3、4 版本的对话内容,结果发现,相较于前两个版本,第四版的精准度确实有所提高,但ChatGPT - 4 需要付费 20 美金。为了让这个发现更加有趣,我从网上挑…