BRPC与UCX集成指南
1 用UCX实现BRPC对RDMA的支持 徐逸锋2 BRPC简介 ●BRPC是Curve的基础通讯框架 ●支持远程过程调用 –C++ –TCP传输 –bthread协程(m:n调度,减少基于内核的下文切换 ,减少cache miss) ●多协议支持 –baidu_std,http,grpc… ●protobuf3 BRPC简介 ●Client/Server架构 ●使用Protobuf定义协议文件 例子:Request输入处理19 Channel创建Socket20 Channel远程调用的发起21 UCX ●NVIDIA Mellanox 开源项目 ●支持RDMA,TCP,Shared memory等 ●能透明支持多个链路传输,例如多网卡bond ●编译成.so或lib的方式,可以集成到应用程序里 ●有完善的配置功能,ucx_info可以dump配置信息 ●有性能测试工具 ●比较详细的文档2223 –Active message, atomic operation, tag match, stream27 典型的RDMA栈28 UCX 编程的一些基本概念 ●Context –收集机器资源(内存,网卡等),在应用的各个部分共享 ●Worker –完成ucx的功能,可以在应用程序中调用的函数(不是单独执行的线程) ●Listener –接收连接请求 ●Ep –连接对象,在ep上请求发送和接收290 码力 | 66 页 | 16.29 MB | 5 月前3PyTorch Release Notes
included: cudf, xgboost, rmm, cuml, and cugraph.) ‣ Apex ‣ rdma-core 36.0 ‣ NVIDIA HPC-X 2.10 with UCX 1.12.0 ‣ OpenMPI 4.1.2rc4+ ‣ GDRCopy 2.3 ‣ TensorBoard 2.9.0 ‣ Nsight Compute 2022.2.1 ‣ Nsight included: cudf, xgboost, rmm, cuml, and cugraph.) ‣ Apex ‣ rdma-core 36.0 ‣ NVIDIA HPC-X 2.10 with UCX 1.12.0 ‣ OpenMPI 4.1.2rc4+ ‣ GDRCopy 2.3 ‣ TensorBoard 2.9.0 ‣ Nsight Compute 2022.2.1 ‣ Nsight included: cudf, xgboost, rmm, cuml, and cugraph.) ‣ Apex ‣ rdma-core 36.0 ‣ NVIDIA HPC-X 2.10 with UCX 1.12.0 ‣ OpenMPI 4.1.2rc4+ ‣ GDRCopy 2.3 ‣ TensorBoard 2.9.0 ‣ Nsight Compute 2022.2.1 ‣ Nsight0 码力 | 365 页 | 2.94 MB | 1 年前3PFS SPDK: Storage Performance Development Kit
●当前只支持到SGL,对于PRP的实现不支持。 ●对于只支持PRP的nvme,可以开启读数据零copy功能 ●对于支持SGL的nvme,可以同时开启读、写零copy功能 ●RDMA模块当前还未完成修改,需要修改ucx内存分配,使用dpdk内 存,才可以完成DMA写NVME10/17/22 16 PFS DMA 总体架构10/17/22 17 TCP也可以部分零copy ●读写盘的部分是零copy的 ●网0 码力 | 23 页 | 4.21 MB | 5 月前3
共 3 条
- 1