BRPC与UCX集成指南## 用UCX实现BRPC对RDMA的支持 徐逸锋 ## BRPC简介 ·BRPC是Curve的基础通讯框架 ·支持远程过程调用 -C++ -TCP传输 -bthread协程(m:n调度,减少基于内核的下文切换,减少cache miss) ·多协议支持 -baidu_std,http,grpc... .protobuf BRPC简介 Client/Server架构 使用Protobuf定义协议文件 [Image](/uploads/documents/5/b/e/8/5be86fb7870cf65bf8bec539445b8c62/p20_1.jpg) ## UCX .NVIDIA Mellanox 开源项目 ·支持RDMA,TCP,Shared memory等 ·能透明支持多个链路传输,例如多网卡bond ·编译成.so或lib的方式,可以集成到应用程序里 ·有完善的配置功能,ucx_info可以dump配置信息 起来,自动选择最快路径传输。 ·高级特性 - 大消息报文的自动分片传输 —Active message, atomic operation, tag match, stream ## 典型的RDMA栈  Kernel-level Verbs0 码力 | 66 页 | 16.29 MB | 1 年前3
POCOAS in C++: A Portable Abstraction for Distributed Data Structuressupercomputers This Talk Background: how do we write a program for a supercomputer? Introduce PGAS Model, RDMA Building Remote Pointer Types Building Distributed Data Structures Extending to GPUs This Talk Talk Background: how do we write a program for a supercomputer? Introduce PGAS Model, RDMA Building Remote Pointer Types Building Distributed Data Structures Extending to GPUs This Talk Background: Background: how do we write a program for a supercomputer? Introduce PGAS Model, RDMA Building Remote Pointer Types Building Distributed Data Structures Extending to GPUs ## This Talk Background:0 码力 | 128 页 | 2.03 MB | 1 年前3
OpenShift Container Platform 4.6 网络1. 高性能多播 ..... 127 12.8.2. 为多播配置 SR-IOV 接口 ..... 128 12.9. 在 DPDK 和 RDMA 模式中使用虚拟功能 (VF) 的示例 ..... 129 12.9.1. 在 DPDK 和 RDMA 模式中使用虚拟功能 (VF) 的示例 ..... 129 12.9.2. 先决条件 ..... 130 12.9.3. 在 Intel .... 130 12.9.4. 使用带有 Mellanox NIC 的 DPDK 模式的虚拟功能 (VF) 示例 ..... 132 12.9.5. 带有 Mellanox NIC 的 RDMA 模式中的虚拟功能 (VF) 示例 ..... 135 12.10. 卸载 SR-IOV NETWORK OPERATOR ..... 138 12.10.1. 卸载 SR-IOV Network VF 的 pod 中运行远程直接内存访问 (RDMA) 或 Data Plane Development Kit (DPDK) 应用程序。 本示例演示了在 RDMA 模式中使用虚拟功能 (VF) 的 pod: ## 使用 RDMA 模式的 Pod 规格 apiVersion: v1 kind: Pod metadata: name: rdma-app annotations:0 码力 | 256 页 | 2.78 MB | 2 年前3
PyTorch Release NotesNVIDIA cuBLAS 12.1.3.1 NVIDIA cuDNN 8.9.3 NVIDIA NCCL 2.18.3 NVIDIA RAPIDS $ ^{TM} $ 23.06 Apex rdma-core 39.0 NVIDIA HPC-X 2.15 OpenMPI 4.1.4+ GDRCopy 2.3 TensorBoard 2.9.0 Nsight Compute 2023 NVIDIA cuBLAS 12.1.3.1 NVIDIA cuDNN 8.9.2 NVIDIA NCCL 2.18.1 NVIDIA RAPIDS $ ^{TM} $ 23.04 Apex rdma-core 39.0 NVIDIA HPC-X 2.15 OpenMPI 4.1.4+ GDRCopy 2.3 TensorBoard 2.9.0 Nsight Compute 2023 NVIDIA cuBLAS 12.1.3.1 NVIDIA cuDNN 8.9.1.23 NVIDIA NCCL 2.18.1 NVIDIA RAPIDS $ ^{™} $ 23.04 Apex rdma-core 36.0 NVIDIA HPC-X 2.14 OpenMPI 4.1.4+ GDRCopy 2.3 TensorBoard 2.9.0 Nsight Compute 20230 码力 | 365 页 | 2.94 MB | 2 年前3
OpenShift Container Platform 4.9 网络14.6. 配置 SR-IOV INFINIBAND 网络附加 188 14.7. 将 POD 添加到额外网络 193 14.8. 配置高性能多播 199 14.9. 使用 DPDK 和 RDMA 200 14.10. 卸载 SR-IOV NETWORK OPERATOR 209 第 15 章 OPENSHIFT SDN 默认 CNI 网络供应商 211 15.1. 关于 VF 的 pod 中运行远程直接内存访问 (RDMA) 或 Data Plane Development Kit (DPDK) 应用程序。 本示例演示了在 RDMA 模式中使用虚拟功能 (VF) 的 pod: ## 使用 RDMA 模式的 Pod 规格 apiVersion: v1 kind: Pod metadata: name: rdma-app annotations: k8s k8s.v1.cni.cncf.io/networks: sriov-rdma-mlnx spec: containers: - name: testpmd image: <rdma_image>rdma_image> imagePullPolicy: IfNotPresent securityContext: runAsUser: 0 capabilities:0 码力 | 388 页 | 4.04 MB | 2 年前3
OpenShift Container Platform 4.13 网络将POD添加到额外网络 ..... 329 26.8. 为SR-IOV网络配置接口级别网络SYSCTL设置 ..... 335 26.9. 配置高性能多播 ..... 347 26.10. 使用DPDK和RDMA ..... 349 26.11. 使用POD级别绑定 ..... 366 26.12. 配置硬件卸载(OFFLOADING) ..... 369 26.13. 将BLUEFIELD-2从DPU切换到NIC SR-IOV VF 的 pod 中运行远程直接内存访问 (RDMA) 或 Data Plane Development Kit (DPDK) 应用程序。 本示例演示了在 RDMA 模式中使用虚拟功能 (VF) 的 pod: 使用 RDMA 模式的 Pod 规格 apiVersion: v1 kind: Pod metadata: name: rdma-app annotations: k8s k8s.v1.cni.cncf.io/networks: sriov-rdma-mlnx spec: containers: - name: testpmd image: <rdma_image> imagePullPolicy: IfNotPresent securityContext: runAsUser: 0 capabilities:0 码力 | 697 页 | 7.55 MB | 2 年前3
OID CND Asia Slide: CurveFSsix nodes. Each node consists of 20 x SSDS, 256GB memory, and 2 x e5-2660 cpus Performance using RDMA - Compared with TCP, I/O throughput increases by 20% vs of Single Vol Environment: 3 replicas on Consistency protocol High performance • pre-created file pool • data strip like RAID • Zero data copy • RDMA Cloud Native  CURVE Roadmap √ CURVE Community √ You can take away ## CURVE Roadmap ## • Features o Supports RDMA and SPDK ☐ Further reduce I/O latency and improve throughput ☐ Support data lifecycle management0 码力 | 24 页 | 3.47 MB | 1 年前3
Ceph分布式存储实战 (云计算与虚拟化技术丛书)各个厂商或组织遵循这些标准实现自己的MPI软件包,典型的实现包含开放源码的MPICH、OpenMPI、LAM-MPI以及商业实现Intel MPI。其中,OpenMPI实现了MPI-1.2和MPI-2.0的通信规范,并支持TCP和RDMA(Remote Direct Memory Access),是常用的MPI实现库。CentOS 7.2默认带有OpenMPI软件包,安装过程如下。 ## (1) 下载OpenMPI [root@compute-node1 [root@ceph-mon1 tgt]# vim Makefile # Export the feature switches so sub-make knows about them export ISCSI_RDMA export CEPH_RBD = 1 export GLFS_BD export SD_NOTIFY [root@ceph-mon1 tgt]# vim scripts/tgtd.spec 4. RDMA RDMA(Remote Direct Memory Access)可以在不需要操作系统干预的情况下,完成两个主机之间内存数据的传输,见图9-9。传统的套接字接口调用在每次IO过程中需要经历若干次内存拷贝和上下文切换,RDMA技术可以让应用程序在用户态直接将buffer(缓冲区)中的数据写入网卡(NIC)的内存中,以网络为载体,发送到远程网卡,直接写入应用缓存中。在RDMA的工作过0 码力 | - 页 | 13.97 MB | 1 年前3
PFS SPDK: Storage Performance Development Kit发挥某些被操作系统屏蔽的功能,例如nvme write zero ·根据阿里《When Cloud Storage Meets RDMA》的说法 ·在100Gbps网络带宽时,内存带宽成为瓶颈 Intel Memory Latency Checker (MLC)测试得到的CPU内存带宽是61Gbps ## RDMA可以减轻CPU负担 ·可以减少CPU操作网络通讯的开销 ·读写内存都由网卡进行offline ·应 attachment是一个IOBuf .IOBuf直接通过rdma发送出去 ·以上过程在读chunk的代码路径上实现了零copy。 ## 写入nvme的零copy实现 当前只支持到SGL,对于PRP的实现不支持。 ·对于只支持PRP的nvme,可以开启读数据零copy功能 ·对于支持SGL的nvme,可以同时开启读、写零copy功能 ·RDMA模块当前还未完成修改,需要修改ucx内存分配,使用dpdk内存,才可以完成DMA写NVME0 码力 | 23 页 | 4.21 MB | 1 年前3
Distributed Ranges: A Model for Building Distributed Data Structures, Algorithms, and Viewsreceive calls  - RDMA - directly read/write to remote memory 












