bRPC High performance best practices

周末

Chinese Session 2022-07-30 14:40 GMT+8  #rpc

bRPC is the most commonly used industrial-grade RPC framework in Baidu, with high performance, ease of use, and convenience of troubleshooting. Therefore, hundreds of services in Baidu have used bRPC. bRPC was developed early, and its performance has been able to meet the needs of most business scenarios. However, with the continuous development of cloud computing and the continuous innovation of hardware technology, the throughput and delay of bRPC network communication are put forward higher requirements. Therefore, bRPC should not only be satisfied with the high performance of many years ago, but should further improve throughput and latency, and maximize the current hardware capabilities to meet the current business needs.

This sharing will take cloud storage as an example to describe baidu’s bRPC adaptation practices to improve bRPC performance in cloud storage scenarios. It mainly includes three parts: one is the modification of bRPC thread model, using user-mode TCP and DPDK technology to speed up data receiving and sending; Second, optimization of the bRPC code, mainly including atomic variables, IOBuf and serialization optimization; Third, adoption of RDMA technology, give full play to RDMA performance advantages. The above transformation of bRPC has been used in the CDS cloud disk system of Baidu Cloud, and has been put into production on a large scale. This greatly improves the front-end IOPS performance of Baidu Cloud CDS storage product.

Speakers:


Mo Zhou: Baidu senior R&D engineer, responsible for baidu high-performance user mode protocol stack research and development