ByteDance's self-developed OpenBMC solution was successfully launched. What did the STE team engineers do?

2021/11/1215:41:03 technology 1812

OpenBMC is a project in the Linux Foundation organization, and it is also the most mature project and the most active community project in the open source BMC. A few days ago, we learned that OpenBMC, self-developed by the STE team of the Bytedance System Department, has been successfully launched internally and has been running stably for more than two months. This is also the first time bytebeat is officially launched and initially commercialized the OpenBMC solution.

To this end, we interviewed the STE team engineer from the Bytedance System Department. He shared with us the layout and progress of the Bytedance self-developed OpenBMC.

The traditional BMC ecosystem is closed, and it is difficult to respond in time

BMC is a management module on the server, which includes an independent SoC and a system running on the SoC, which manages, monitors, and provides services to the server . It is an indispensable and important part of the server.

In the current server BMC solutions, some vendors have completely self-developed solutions, and some vendors will develop customized development based on the commercial BMC of IBV (Independent BMC Vendor), but these are all closed-source servers. The user cannot control the complete functions of the BMC.

At the same time, commercial BMC also has many limitations, such as some unnecessary functions, which may affect network and system stability; fixing bugs and vulnerabilities often requires feedback from ODM vendors and even IBV support, which makes the repair time too long Long; some bugs only reproduce under certain circumstances,It also increases the difficulty of repairing.

With the continuous development of the Internet and the continuous growth of data centers, the demand for operation and maintenance of data center services has become more and more refined and customized.

relies heavily on the traditional BMC development model of various ODM vendors and IBVs. The development cycle is long and cannot respond to the changing needs of the Internet in real time. A more open and modern BMC solution has become a top priority.

has excellent new architecture, and OpenBMC is the first choice for byte-beating

OpenBMC is an open source project in the Linux Foundation. It has mature solutions and active communities. , Inspur and other major manufacturers at home and abroad.

In terms of architecture, OpenBMC supports Aspeed, Nuvoton and other BMC chips, as well as x86, ARM , OpenPOWER and other server architectures. It also uses Linux kernel 5.15, Sy 4 STE 249 +), GCC 11.2.0, C++20 and other latest modern technology architectures.

ByteDance's self-developed OpenBMC solution was successfully launched. What did the STE team engineers do? - DayDayNews

OpenBMC solution process overview

However, OpenBMC was originally designed and developed to solve the data center needs of foreign companies and cannot fully adapt to the needs of domestic Internet data centers. Based on OpenBMC, combined with ByteDance server management and operation and maintenance, the development of a self-developed version has become a more ideal choice.

From the community version to the landing application, OpenBMC is productized by ByteDance

In order to speed up the adaptation of OpenBMC to the internal business of ByteDance, the STE team investigated the technical solutions of each module in the OpenBMC community. Compare the management and operation and maintenance of ByteDance's internal servers, and select the appropriate solutions.

ByteDance's self-developed OpenBMC solution was successfully launched. What did the STE team engineers do? - DayDayNews

Schematic diagram of OpenBMC's productization process in ByteDance

For modules that can meet the internal needs of ByteDance, the STE team decided to directly use the community version; for additional requirements, it will be based on community modules , Add and enhance functions, and finally form a complete solution for in-depth testing.

STE team engineers shared with us the specific solutions:

  • For x86 specficr modules, reuse Intel modules, lispan_lispan_lispan_span1_span1_span1_span1_span_span_span 109 for power control,Reuse x86-power-control
  • For all kinds of sensors, based on the existing entity-manager/dbus-sensors / virtual-sensor _span 4span virtual-sensor 4 Sensor
  • For fan control, reuse phosphor-pid-control and add the detection and adaptation of single and dual rotors
  • For FRU, modify the related code according to the hardware situation Make it support non-standard FRU format
  • For SEL, realize a new unified logging method, and convert log entry into standard SEL
  • _span_span pho-update, based on spanphor-span pho-update -code-mgmt added the support of BIOS, CPLD, FPGA and other modules
  • For the internal management, operation and maintenance of byte beating,Added code to complete the online adaptation work

In addition, the STE team also built a CI server inside ByteDance, completed automated compilation and testing, and collaborated with the open source community’s Gerrit get through:

  • will run CI _li1span _li1span _li1span_span_li4span _li1span _span_span _span_span_mu For important release tags, will also be verified on the actual server through HW CI
  • For every change of meta-bytedance in the open source community, it will also run the compilation and QEMU_ul 171

    actively calls for industry cooperation and joint community building

    According to the STE team engineer, the OpenBMC project has been successfully launched on two machines with different configurations and has been running stably for more than two months.

    At the same time,The engineers of the STE team have also submitted many commits involving new features and bug fixes in the OpenBMC open source community. They have now become members of the OpenBMC Technical Oversight Forum (TOF).

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

    In the future, the STE team of the Bytedance System Department will continue to develop OpenBMC on more platforms to better and faster support server management and operation and maintenance. The engineer also said that in the follow-up development, the STE team hopes to work closely with more manufacturers in all-round and multi-dimensional cooperation to jointly develop an open source BMC solution that better meets the needs of domestic Internet data centers.

    At the end of the interview, the engineers of the STE team also fully expressed their desire for outstanding talents. Friends who are interested in new technologies and open source are welcome to join the STE team of the Bytedance System Department and use the latest kernel , The latest compiler, write the most modern C++.


    About Bytedance System Department STE team:

    Byte Beating System Engineering Team STE=System Technologies & Engineering Team (STE=System TechnologiesSystem technology and engineering) has been committed to basic technologies such as operating system kernel and virtualization, system basic software and basic library construction and performance optimization, system stability and reliability construction of ultra-large-scale data centers, and collaborative design of new hardware and software. The field of research and development and engineering are implemented, with comprehensive basic software engineering capabilities, and escort the byte upper-level business. At the same time, the team actively pays attention to community technology trends and embraces open source and standards.

    For more recruitment information, please contact [email protected] to obtain.

    .

technology Category Latest News