RDMA 在典型场景下的技术应用分析与探索
当前OPPO的数据中心中已经有一定数量支持RDMA的网卡(包含IB及ROCEv2),除了机器学习场景以外,之前的文章ORPC[1] 也已经分享了OPPO在RPC over RDMA传输的实践,具体RDMA相关前置知识也可以参考此篇文章。为了充分发挥RDMA低延迟、远程内存访问、bypass cpu/os、及高带宽的优势,我们选取了一些业务程序进行传输方案的改造和测试,并总结探讨一般业务程序改造为RDMA传输的经验。 01 业务适配RDMA类型 RDMA传输的适配,从业务场景的使用角度来看,大致可分为如下几种类型。 场景一:机器学习、分布式存储等场景,使用社区成熟的方案,如在机器学习场景中使用的NCCL、Tensorflow等框架中都适配了多种传输方式(包含tcp、rdma等),块存储Ceph中也同时支持tcp及rdma两种通信模式,这种业务场景下业务侧更多关注的是配置及使用,在IAAS基础设施侧将RDMA环境准备好后,使能框架使用rdma的传输模式即可。 场景二:业务程序使用类似于RPC远程调用的通信方式,业务侧需要将原有使用的RPC(大部分是GRPC)调用改为ORPC调用,在...