Решение OpenBMC собственной разработки ByteDance успешно запущено Что сделали инженеры команды STE?

задняя часть внешний интерфейс Linux
Решение OpenBMC собственной разработки ByteDance успешно запущено Что сделали инженеры команды STE?

OpenBMC — это проект, организованный Linux Foundation, а также проект с наиболее зрелым решением и самым активным сообществом BMC с открытым исходным кодом. Несколько дней назад мы узнали, что OpenBMC, разработанный командой STE системного отдела ByteDance, был успешно запущен внутри компании и стабильно работает уже более двух месяцев. Это также первое решение OpenBMC, которое ByteDance официально запустила и изначально коммерциализировала.

С этой целью мы взяли интервью у инженера из команды STE системного отдела ByteDance, который поделился с нами макетом и процессом продвижения собственной разработки ByteDance OpenBMC.

Традиционная экосистема BMC закрыта, и своевременно реагировать сложно

BMC — это модуль управления на сервере, включающий в себя независимый SoC и систему, работающую на SoC, которая управляет, контролирует и предоставляет услуги серверу. Это неотъемлемая часть сервера.

В текущем решении BMC для серверов некоторые производители имеют решения, полностью разработанные самостоятельно, а некоторые производители будут проводить индивидуальную разработку на основе коммерческого BMC от IBV (независимый поставщик BMC), но они имеют закрытый исходный код, и пользователи сервера не могут контролировать BMC. , Полная функциональность.

В то же время коммерческий BMC также имеет множество ограничений, таких как некоторые ненужные функции, которые могут повлиять на стабильность сети и системы; исправление ошибок и уязвимостей часто требует обратной связи с производителями ODM и даже требует поддержки IBV, что делает время ремонта слишком долгим. ; некоторые ошибки бывают только в повторении в конкретной среде, что увеличивает сложность исправления.

С непрерывным развитием Интернета и непрерывным ростом центров обработки данных спрос на эксплуатацию и обслуживание услуг центров обработки данных становится все более и более утонченным и индивидуальным.

Он в значительной степени опирается на традиционную модель разработки BMC различных производителей ODM и IBV с длительным циклом разработки и не может реагировать на меняющиеся потребности Интернета в режиме реального времени. Более открытое и современное решение BMC стало главным приоритетом.

Отличная новая архитектура функций, OpenBMC — лучший выбор для байтового битинга.

OpenBMC — проект с открытым исходным кодом в Linux Foundation, имеет зрелое решение и активное сообщество, поддерживается крупными отечественными и зарубежными производителями, такими как IBM, Google, Facebook, Intel и Inspur.

Что касается архитектуры, OpenBMC поддерживает различные чипы BMC, такие как Aspeed и Nuvoton, а также различные серверные архитектуры, такие как x86, ARM и OpenPOWER, и использует ядро ​​​​Linux 5.15, Systemd 249 (249.4+), GCC 11.2.0, C ++20 И так далее по новейшей современной технологической архитектуре.

Краткий обзор потока решений OpenBMC

Однако OpenBMC изначально проектировался и разрабатывался для удовлетворения потребностей центров обработки данных иностранных компаний и не может полностью удовлетворить потребности отечественных центров обработки данных Интернета. На основе OpenBMC в сочетании с управлением, эксплуатацией и обслуживанием сервера ByteDance разработка собственной версии стала более идеальным выбором.

От версии сообщества до целевого приложения OpenBMC создается в ByteDance.

Чтобы ускорить адаптацию OpenBMC и внутреннего бизнеса ByteDance, команда STE изучила технические решения каждого модуля в сообществе OpenBMC, сравнила управление внутренним сервером, эксплуатацию и обслуживание ByteDance и выбрала подходящее решение.

Схематическая диаграмма процесса производства OpenBMC в ByteDance

Для модулей, которые могут удовлетворить внутренние потребности ByteDance, команда STE решает использовать версию сообщества напрямую; для дополнительных требований она добавит и улучшит функции на основе модуля сообщества и, наконец, сформирует полное решение для углубленного тестирования.

Инженер команды STE поделился с нами конкретным планом:

  • Для конкретных модулей x86 повторно используйте модули Intel, такие как PECI,node-manager
  • Для управления мощностью, мультиплексx86-power-control
  • Для всех типов датчиков на базе существующихentity-manager/dbus-sensors/virtual-sensor, добавьте yaml, чтобы определить нужный датчик
  • Для управления вентилятором, мультиплексphosphor-pid-controlИ добавлено обнаружение и адаптация одиночных и двойных роторов.
  • Для FRU измените соответствующий код в соответствии с аппаратным обеспечением для поддержки нестандартного формата FRU.
  • Для SEL внедрить новый унифицированный метод ведения журнала для преобразования записи журнала в стандартный SEL.
  • Для обновления кода на основеphopsphor-bmc-code-mgmtДобавлена ​​поддержка BIOS, CPLD, FPGA и других модулей
  • Для внутреннего управления, эксплуатации и обслуживания ByteDance были добавлены новые коды для завершения работы по онлайн-адаптации.

Кроме того, команда STE также построила CI-сервер внутри ByteDance, завершила автоматическую компиляцию и тестирование и пообщалась с Герритом в сообществе открытого исходного кода:

  • Для каждого Push/MergeRequest внутри будет запускаться CI
  • Для каждой сборки базовые тесты выполняются через QEMU.
  • Важные теги релиза также проверяются на реальном сервере через HW CI.
  • для сообщества открытого исходного кодаmeta-bytedanceКаждое изменение также запускает компиляцию и QEMU CI.

Активно призывайте к отраслевому сотрудничеству и вместе участвуйте в создании сообщества

По словам инженера команды STE, проект OpenBMC успешно запущен на двух машинах с разной конфигурацией и стабильно работает уже более двух месяцев.

В то же время инженеры команды STE также представили множество новых функций и исправлений ошибок в сообществе открытого исходного кода OpenBMC.commits, теперь сталоOpenBMC Technical Oversight Forum (TOF)член .

В будущем команда STE системного отдела ByteDance продолжит разработку OpenBMC на большем количестве платформ, чтобы лучше и быстрее поддерживать управление и работу серверов. Инженер также сказал, что в ходе последующей разработки команда STE надеется на всестороннее и многостороннее тесное сотрудничество с большим количеством производителей для совместной разработки решения BMC с открытым исходным кодом, которое больше соответствует потребностям внутреннего Интернета. центры обработки данных.

В конце интервью инженеры команды STE также в полной мере выразили свою тягу к выдающимся талантам.Малые партнеры, заинтересованные в новых технологиях и открытом исходном коде, могут присоединиться к команде STE системного отдела ByteDance и использовать новейшие ядро и новейший компилятор для написания самого современного C++.


О команде STE отдела ByteDance Systems:

Команда STE отдела ByteDance Systems (STE = System Technologies & Engineering) занималась ядром операционной системы и виртуализацией, построением и оптимизацией производительности базового программного обеспечения системы и базовых библиотек, а также стабильностью системы гипермасштабируемых центров обработки данных. Были реализованы базовые технологические области, такие как создание надежности и совместная разработка нового оборудования и программного обеспечения, с комплексными базовыми возможностями разработки программного обеспечения для сопровождения бизнеса байтов верхнего уровня. В то же время команда активно следит за техническими тенденциями сообщества и использует открытый исходный код и стандарты.

Для получения дополнительной информации о наборе, пожалуйста, свяжитесь сchenziying@bytedance.comПолучать.