日本电影一区二区_日本va欧美va精品发布_日本黄h兄妹h动漫一区二区三区_日本欧美黄色

字節(jié)跳動自研 OpenBMC 方案成功上線,STE 團隊工程師都做了哪些事?

OpenBMC 是 Linux Foundation 組織里的一個項目,也是目前開源 BMC 里方案最成熟、社區(qū)最活躍的項目。日前,我們得知字節(jié)跳動系統(tǒng)部 STE 團隊自研的 OpenBMC,已在內(nèi)部成功上線,并穩(wěn)定運行了兩個多月。這也是字節(jié)跳動首次正式上線并初步產(chǎn)品化的 OpenBMC 方案。

為此,我們專訪了字節(jié)跳動系統(tǒng)部 STE 團隊工程師,他為我們分享了字節(jié)跳動自研 OpenBMC 的布局和推進過程。

傳統(tǒng) BMC 生態(tài)封閉,及時響應(yīng)困難重重

BMC 是服務(wù)器上的管理模塊,它包含獨立的 SoC 以及 SoC 上運行的系統(tǒng),完成對服務(wù)器的管理、監(jiān)控、并對外提供服務(wù)。對于服務(wù)器來說是不可或缺的重要組成部分。

目前服務(wù)器 BMC 的方案里,部分廠商有完全自研的方案,部分廠商則會基于 IBV (Independent BMC Vendor) 的商業(yè) BMC 進行定制化開發(fā),但這些都是閉源的,服務(wù)器使用者無法掌控 BMC 的完整功能。

同時,商業(yè) BMC 也具有諸多局限,比如一些不必要的功能,可能影響網(wǎng)絡(luò)和系統(tǒng)穩(wěn)定性;修復 bug、漏洞往往需要反饋 ODM 廠商,甚至需要 IBV 支持,這使得修復時間過長;部分 bug 只在特定環(huán)境下復現(xiàn),更增加了修復的難度。

隨著互聯(lián)網(wǎng)的不斷發(fā)展,數(shù)據(jù)中心的不斷壯大,對數(shù)據(jù)中心服務(wù)的運維需求,也越來越呈現(xiàn)出精細化、定制化的趨勢。

嚴重依賴各 ODM 廠商、IBV 的傳統(tǒng) BMC 開發(fā)模式,開發(fā)周期長,無法實時響應(yīng)互聯(lián)網(wǎng)多變的需求。一個更加開放、更加現(xiàn)代的 BMC 方案,成為當務(wù)之急。

功能新架構(gòu)優(yōu),OpenBMC 成字節(jié)跳動首選

OpenBMC 是 Linux Foundation 里的一個開源項目,它方案成熟、社區(qū)活躍,受到 IBM、Google、Facebook、Intel、Inspur 等國內(nèi)外各大廠商的支持。

在架構(gòu)方面,OpenBMC 支持 Aspeed、Nuvoton 等多種 BMC 芯片,以及 x86、ARM、OpenPOWER 等多種服務(wù)器架構(gòu),更是采用 Linux kernel 5.15、SySTEmd 249 (249.4 )、GCC 11.2.0、C 20 等最新的現(xiàn)代化技術(shù)架構(gòu)。

字節(jié)跳動自研 OpenBMC 方案成功上線,STE 團隊工程師都做了哪些事?

OpenBMC 解決方案流程一覽

但是 OpenBMC 最初是為了解決國外企業(yè)的數(shù)據(jù)中心需求設(shè)計開發(fā)的,無法完全適配國內(nèi)互聯(lián)網(wǎng)數(shù)據(jù)中心需求?;?OpenBMC,結(jié)合字節(jié)跳動服務(wù)器管理和運維,開發(fā)自研版本,成為更理想的選擇。

從社區(qū)版本到落地應(yīng)用,OpenBMC 在字節(jié)跳動產(chǎn)品化

為了加快 OpenBMC 與字節(jié)跳動內(nèi)部業(yè)務(wù)的適配,STE 團隊調(diào)研了 OpenBMC 社區(qū)里,各個模塊的技術(shù)方案,對比字節(jié)跳動內(nèi)部對服務(wù)器的管理和運維,挑選出適用的方案。

字節(jié)跳動自研 OpenBMC 方案成功上線,STE 團隊工程師都做了哪些事?

OpenBMC 在字節(jié)跳動產(chǎn)品化過程示意圖

對于能滿足字節(jié)跳動內(nèi)部需求的模塊,STE 團隊決定直接使用社區(qū)版本;對于額外的需求,則會基于社區(qū)模塊,添加并增強功能,最終形成一個完整的解決方案,進行深度測試。

STE 團隊工程師,為我們分享了具體的方案:

  • 對于 x86 specfic 的模塊,復用 Intel 的模塊,例如 PECI,node-manager
  • 對于 power control,復用x86-power-control
  • 對于各類傳感器,基于現(xiàn)有的entity-manager/dbus-sensors/virtual-sensor,添加 yaml 來定義需要的 sensor
  • 對于風扇控制,復用phosphor-pid-control并添加了單、雙轉(zhuǎn)子的檢測和適配
  • 對于 FRU,根據(jù)硬件情況改造相關(guān)代碼,使其支持非標準 FRU 格式
  • 對于 SEL,實現(xiàn)新的統(tǒng)一的 logging 方式,把 log entry 轉(zhuǎn)化為標準 SEL
  • 對于 code-update,基于phopsphor-bmc-code-mgmt添加了 BIOS、CPLD、FPGA 等模塊的支持
  • 對于字節(jié)跳動內(nèi)部的管理、運維,新增了代碼來完成線上的適配工作

此外, STE 團隊也在字節(jié)跳動內(nèi)部搭建了 CI 服務(wù)器,完成了自動化的編譯和測試,并且與開源社區(qū)的 Gerrit 打通:

  • 對于內(nèi)部的每一個 Push/MergeRequest,會跑 CI
  • 對于每一次編譯,都會通過 QEMU 來跑基本的測試
  • 對于重要的 release tag,還會通過 HW CI 在實際服務(wù)器上驗證
  • 對于開源社區(qū)里meta-bytedance的每一個改動,也會跑編譯和 QEMU CI

積極呼吁行業(yè)合作,共同參與社區(qū)共建

據(jù) STE 團隊工程師介紹,OpenBMC 項目目前已經(jīng)在兩種不同配置的機器上順利完成上線,并持續(xù)穩(wěn)定運行了兩個多月。

同時,STE 團隊的工程師們,也在 OpenBMC 開源社區(qū)里提交了涉及新 feature 及 bug fix 的諸多 commits,目前已經(jīng)成為了 OpenBMC Technical Oversight Forum (TOF) 的一員。

  • https://github.com/search?p=1&q=org:openbmc bytedance.com&type=Commits
  • https://github.com/openbmc/docs/blob/master/tof/contract.md

未來,字節(jié)跳動系統(tǒng)部 STE 團隊將在更多的平臺上持續(xù)研發(fā) OpenBMC,來更好、更快速地支持服務(wù)器的管理和運維。工程師還表示,在后續(xù)開發(fā)中,STE 團隊希望能與更多廠商進行全方位、多維度的緊密合作共建,共同開發(fā)更符合國內(nèi)互聯(lián)網(wǎng)數(shù)據(jù)中心需求的開源 BMC 方案。

專訪最后,STE 團隊的工程師也充分表達了對于優(yōu)秀人才的渴求,歡迎對新技術(shù)、開源感興趣的小伙伴加入字節(jié)跳動系統(tǒng)部 STE 團隊,用最新的 kernel、最新的編譯器,寫最 modern 的 C 。


關(guān)于字節(jié)跳動系統(tǒng)部 STE 團隊:

字節(jié)跳動系統(tǒng)部 STE 團隊 (STE=System Technologies & Engineering,系統(tǒng)技術(shù)與工程) 一直致力于操作系統(tǒng)內(nèi)核與虛擬化、系統(tǒng)基礎(chǔ)軟件與基礎(chǔ)庫的構(gòu)建和性能優(yōu)化、超大規(guī)模數(shù)據(jù)中心的系統(tǒng)穩(wěn)定性和可靠性建設(shè)、新硬件與軟件的協(xié)同設(shè)計等基礎(chǔ)技術(shù)領(lǐng)域的研發(fā)與工程化落地,具備全面的基礎(chǔ)軟件工程能力,為字節(jié)上層業(yè)務(wù)保駕護航。同時,團隊積極關(guān)注社區(qū)技術(shù)動向,擁抱開源和標準。

更多招聘信息,可聯(lián)系 chenziying@bytedance.com 獲取。

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
公眾號
公眾號
在線咨詢
分享本頁
返回頂部
拜泉县| 宁明县| 定安县| 文山县| 都江堰市| 临湘市| 延安市| 洪湖市| 民勤县| 工布江达县| 景泰县| 奈曼旗| 镇巴县| 绥芬河市| 长宁县| 平顺县| 沽源县| 民权县| 汉源县| 东兴市| 万盛区| 景东| 石棉县| 辛集市| 曲靖市| 团风县| 勐海县| 江安县| 昌都县| 镇原县| 盐山县| 辽中县| 德清县| 裕民县| 孟连| 双城市| 东城区| 永福县| 丰镇市| 呼玛县| 邢台县|