【RDMA】⽂档和教程和相关知识
⽬录
参考和学习资料和途径
⽂档和教程
教程
视频教程:
⽂档
《》
《RDMA Aware Networks Programming User ManualRev 1.7》
中⽂翻译:
论⽂:
PPT:
RDMA⽹卡⼚商官⽹
开发社区
Linux社区
Linux内核的RDMA⼦系统还算⽐较活跃,经常会讨论⼀些协议细节,对框架的修改⽐较频繁,另外包括华为和Mellanox在内的⼀些⼚商也会经常对驱动代码进⾏修改。
代码位于内核drivers/infiniband/⽬录下,包括框架核⼼代码和各⼚商的驱动代码。
RDMA社区
对于上层⽤户,IB提供了⼀套与Socket套接字类似的接⼝——libibverbs,前⽂所述三种协议都可以使⽤。参考着协议、API⽂档和⽰例程序很容易就可以写⼀个Demo出来。本专栏中的RDMA社区专指其⽤户态社区,在github上其仓库的名字为linux-rdma。
主要包含两个⼦仓库:
rdma-core
⽤户态核⼼代码,API,⽂档以及各个⼚商的⽤户态驱动。
perftest
⼀个功能强⼤的⽤于测试RDMA性能的⼯具。
UCX
UCX是⼀个建⽴在RDMA等技术之上的⽤于数据处理和⾼性能计算的通信框架,RDMA是其底层核⼼之⼀。我们可以将其理解为是位于应⽤和RDMA  API之间的中间件,向上层⽤户⼜封装了⼀层更易开发的接⼝。
笔者对其并不了解太多,只知道业界有⼀些企业在基于UCX开发应⽤。
其他知识
玩家
标准/⽣态组织
提到IB协议,就不得不提到两⼤组织——IBTA和OFA。
IBTA
成⽴于1999年,负责制定和维护Infiniband协议标准。IBTA独⽴于各个⼚商,通过赞助技术活动和推动资源共享来将整个⾏业整合在⼀起,并且通过线上交流、营销和线下活动等⽅式积极推⼴IB和RoCE。
IBTA会对商⽤的IB和RoCE设备进⾏协议标准符合性和互操作性测试及认证,由很多⼤型的IT⼚商组成的委员会领导,其主要成员包括博通,HPE,IBM,英特尔,Mellanox和微软等,华为也是IBTA的会员。
OFA
成⽴于2004年的⾮盈利组织,负责开发、测试、认证、⽀持和分发独⽴于⼚商的开源跨平台infiniband协议栈,2010年开始⽀持RoCE。其对⽤于⽀撑RDMA/Kernel bypass应⽤的OFED(OpenFabrics Enterprise Distribution)软件栈负责,保证其与主流软硬件的兼容性和易⽤性。OFED软件栈包括驱动、内核、中间件和API。
上述两个组织是配合关系,IBTA主要负责开发、维护和增强Infiniband协议标准;OFA负责开发和维护Infiniband协议和上层应⽤API。硬件⼚商和⽤户
硬件⼚商
设计和⽣产IB相关硬件的⼚商有不少,包括Mellanox、华为、收购了Qlogic的IB技术的Intel,博通、Marvell,富⼠通等等,这⾥就不逐个展开了,仅简单提⼀下Mellanox和华为。
Mellanox
IB领域的领头⽺,协议标准制定、软硬件开发和⽣态建设都能看到Mellanox的⾝影,其在社区和标准制定上上拥有最⼤的话语权。⽬前最新⼀代的⽹卡是⽀持200Gb/s的ConnextX-6系列。
华为
去年初推出的鲲鹏920芯⽚已经⽀持100Gb/s的RoCE协议,技术上在国内处于领先地位。但是软硬件和影响⼒⽅⾯距离Mellanox还有⽐较长的路要⾛,相信华为能够早⽇赶上⽼⼤哥的步伐。
⽤户
微软、IBM和国内的阿⾥、京东都正在使⽤RDMA,另外还有很多⼤型IT公司在做初步的开发和测试。在数据中⼼和⾼性能计算场景下,RDMA代替传统⽹络是⼤势所趋。笔者对于市场接触不多,所以并不能提供更详细的应⽤情况。
下⼀篇将⽤⽐较直观的⽅式⽐较⼀次典型的基于Socket的传统以太⽹和RDMA通信过程。
⼆、 使⽤的调研⽅式
1. 中国知⽹搜索:搜到的论⽂质量较差,舍弃。故没有产⽣作⽤。
2. RDMA技术标准制定⽅官⽹:⽤于了解技术原理。
3. ⼀个有关RDMA的博客:⽤于了解技术原理。
4. :使⽤频繁,主要⽤于查看术语定义。
5. Google scholar搜索:主⼒,⼤部分论⽂由此获取。
6. 查看论⽂作者的其他论⽂:查阅过程中发现Dhabaleswar K.DK Panda作者的名字常常出现,于是查了⼀下该作者的其他论⽂。
7. 问师兄:⾮常频繁,帮助很⼤。
8. 后来在中国科学技术⼤学⽼师放在科学⽹的⼀篇博⽂《引⽂分析软件histcite简介》的启发下利⽤histcite软件分析了Web of
Science核⼼合集数据库中与RDMA相关的约500篇论⽂,并进⾏可视化 
RDMA与TCP的⽐较
(图来⾃RDMA技术标准制定⽅官⽹的⼀个培训ppt)
成本上RDMA较贵:
10G普通⽹卡:Mellanox MCX341A-XCCN ConnectX-3 10Gigabit Ethernet Card
$170.00
Infiniband交换机:Mellanox MCS7510 66Tb/s, 324-port EDR Infiniband chassis switch, includes 12 fans and 6 power supplies (N+N), RoHS R6
$66,950.00
infiniband卡:Mellanox MCX456A-ECAT ConnectX VPI Infiniband Host Bus Adapter
$1,575.00
论⽂分类:
1.对RDMA读操作的研究
分析RDMA读操作不同情况下的利弊
Dragojevic A, Narayanan D, Castro M. RDMA Reads: To Use or Not to Use?[J]. IEEE Data Eng. Bull., 2017, 40(1): 3-14.
键值对应⽤中未使⽤读操作的⽅案
Kalia A, Kaminsky M, Andersen D G. Using RDMA efficiently for key-value services[C]//ACM SIGCOMM Computer Communication Review. ACM, 2014, 44(4): 295-306.
键值对应⽤中使⽤了读操作但做出改进的⽅案
C. Mitchell, Y. Geng, and J. Li. Using One-Sided RDMA Reads to Build a Fast,
CPU-Efficient Key-Value Store. In USENIX ATC, 2013.
分析发现在⼴域⽹上RDMA读操作性能较差
Yu W, Rao N S V, Wyckoff P, et al. Performance of RDMA-capable storage protocols on wide-area network[C]//Petascale Data Storage Workshop, 2008. PDSW'08. 3rd. IEEE, 2008: 1-5.
MPI应⽤中将Rendezvous Protocol的实现由写操作实现改为使⽤读操作实现。
Sur S, Jin H W, Chai L, et al. RDMA read based rendezvous protocol for MPI over InfiniBand: design alternatives and benefits[C]//Proceedings of the eleventh ACM SIGPLAN symposium on Principles and practice of parallel programming. ACM, 2006: 32-39.
提出的优化⽅案中避免RDMA单边操作(RDMA读/写)
Kalia A, Kaminsky M, Andersen D G. FaSST: Fast, Scalable and Simple Distributed Transactions with Two-Sided (RDMA) Datagram RPCs[C]//OSDI. 2016: 185-201.
这篇研究RDMA隐藏成本的分析中也有提及:
Author(s): Frey PW (Frey, Philip W.); Alonso G (Alonso, Gustavo)
Title: Minimizing the Hidden Cost of RDMA
Source: 2009 29TH IEEE INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS : 553-+
Date: 2009
DOI: 10.1109/ICDCS.2009.32
2.对RDMA虚拟化,软件化的研究
linux mysql教程视频
这个⽅向在2011年被提出来⼀次,作者们研究设计了⼀个软件RDMA栈,并试图应⽤在商业云上。
Trivedi A, Metzler B, Stuedi P. A case for RDMA in clouds: turning supercomputer networking into
commodity[C]//Proceedings of the Second Asia-Pacific Workshop on Systems. ACM, 2011: 17.
最近⼜有两篇论⽂关注这⽅⾯的问题:
虚拟化RDMA(新,2017年论⽂)
Fan S, Chen F, Rauchfuss H, et al. Towards a Lightweight RDMA Para-Virtualization for HPC[C]//COSH/VisorHPC@ HiPEAC. 2017: 39-44.
软件化RDMA。(新,2017年论⽂)
Mao Miao, Fengyuan Ren, Xiaohui Luo, Jing Xie, Qingkai Meng, and Wenxue Cheng. 2017. SoftRDMA: Rekindling High Performance Software RDMA over Commodity Ethernet. In Proceedings of the First Asia-Pacific Workshop on
Networking (APNet'17). ACM, New York, NY, USA, 43-49. DOI:
3.对RDMA内存管理的研究
⼀个提⾼RDMA内存管理效率的⽅案(⼀个计算所⽼师的论⽂)
Ou L, He X, Han J. An efficient design for fast memory registration in RDMA[J]. Journal of Network and Computer Applications, 2009, 32(3): 642-651.
在MPI应⽤中⼀个提⾼RDMA内存管理效率的⽅案
Mamidala A, Vishnu A, Panda D. Efficient shared memory and RDMA based design for MPI_Allgather over infiniband[J]. Recent Advances in Parallel Virtual Machine and Message Passing Interface, 2006: 66-75.
设计了⼀个新协议来Overlap内存管理的开销,跟单边操作(读/写)也有关系
Woodall T, Shipman G, Bosilca G, et al. High performance RDMA protocols in HPC[J]. Recent Advances in Parallel Virtual Machine and Message Passing Interface, 2006: 76-85.
4.将RDMA应⽤于GPU的研究
以下四篇论⽂成如上图关系:
第⼀篇⾸先提出使⽤GPUDirect RDMA来实现 Inter-node MPI Communication:
Potluri S, Hamidouche K, Venkatesh A, et al. Efficient inter-node MPI communication using GPUDirect RDMA for InfiniBand clusters with NVIDIA GPUs[C]//Parallel Processing (ICPP), 2013 42nd International Conference on. IEEE, 2013: 80-89.
有3篇跟进:
Wang H, Potluri S, Bureddy D, et al. GPU-aware MPI on RDMA-enabled clusters: Design, implementation and evaluation[J]. IEEE Transactions on Parallel and Distributed Systems, 2014, 25(10): 2595-2605.
Hamidouche K, Venkatesh A, Awan A A, et al. Exploiting GPUDirect RDMA in Designing High Performance OpenSHMEM for NVIDIA GPU Clusters[C]//Cluster Computing (CLUSTER), 2015 IEEE International Conference on. IEEE, 2015: 78-87.
Banerjee D S, Hamidouche K, Panda D K. Designing high performance communication runtime for GPU managed memory: early experiences[C]//Proceedings of the 9th Annual Workshop on General
Purpose Processing using Graphics Processing Unit. ACM, 2016: 82-91.
5.将RDMA应⽤于键值对存储的研究
这篇主要关注安全性问题:
Yang M, Yu S, Yu R, et al. InnerCache: A Tactful Cache Mechanism for RDMA-Based Key-Value Store[C]//Web Services (ICWS), 2016 IEEE International Conference on. IEEE, 2016: 646-649.
提⾼性能(在RDMA读操作部分中介绍过)
Kalia A, Kaminsky M, Andersen D G. Using RDMA efficiently for key-value services[C]//ACM SIGCOMM Computer Communication Review. ACM, 2014, 44(4): 295-306.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。