├── 2RDMA_Aware_Programming_user_manual.pdf ├── README.md ├── pic ├── 1.jpg ├── 2.jpg └── 3.jpg └── rdma编程思想.md /2RDMA_Aware_Programming_user_manual.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coolriver/RDMA_Aware_Programming-CN/b2a14cca89b4124a934d48c621d08f7eed1c311d/2RDMA_Aware_Programming_user_manual.pdf -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | RDMA_Aware_Programming-CN 2 | ========================= 3 | 4 | 2RDMA_Aware_Programming_user_manual 一书的中文翻译 5 | -------------------------------------------------------------------------------- /pic/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coolriver/RDMA_Aware_Programming-CN/b2a14cca89b4124a934d48c621d08f7eed1c311d/pic/1.jpg -------------------------------------------------------------------------------- /pic/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coolriver/RDMA_Aware_Programming-CN/b2a14cca89b4124a934d48c621d08f7eed1c311d/pic/2.jpg -------------------------------------------------------------------------------- /pic/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coolriver/RDMA_Aware_Programming-CN/b2a14cca89b4124a934d48c621d08f7eed1c311d/pic/3.jpg -------------------------------------------------------------------------------- /rdma编程思想.md: -------------------------------------------------------------------------------- 1 | RDMA网络编程用户手册1.4版 2 | ====================== 3 | 4 | ###术语表 5 |
术语 | 释义 |
---|---|
Access Layer | 操作系统底层构架,用来支持访问互联的集群(VPI,InfiniBand,Ethernet,FCoE). 8 | 它包括所有支持上层网络协议的基本传输服务、中间件和管理程序 |
AH(Address Handle) | 在UD QP中,用来描述远程路径的对象 |
CA(Channel Adapter) | 一个InfiniBand链路的终端设备,它执行传输层的功能 |
CI(Channel Interface) | 通过网络适配器、相关固件和设备驱动的组合,呈现给Verbs 12 | 编程用户的通信管道 |
CM(Communication Manager) | 负责建立、维持、释放RC和UC QP服务类型连接的体系;服务ID解析协议 14 | 确保了使用UD服务的用户找到支持指定设备的QP;每个终端节点的IB端口都有一个CM. |
Compare & Swap | 通知远程QP读取一个64bit的值,将这个值与提供的比较对象值作比较 16 | ,如果相等,那么就把读取的这个值替换成QP提供的另一个数值。 |
CQ(Completion Queue) | 一个包含CQE的队列(先进选出) |
CQE(Completion Queue Entry) | CQ中的一个记录,它描述了已完成的WR的信息 19 | (状态,大小等) |
DMA(Direct Memory Access) | 允许硬件在不经CPU参与的情况下 21 | 将数据块移进和移出内存 |
Fetch & add | 通知远程QP读取一个64bit的数值,将它替换为它和QP提供 23 | 的待加数的和。 |
GUID(Globally Unique IDentifier) | 在一个子网中,唯一标志一个设备或组件的 25 | 64bit数字 |
GID(Global IDentifier) | 一个128位的标志,用来标志网络适配器上的一个端口, 27 | 路由器上或者组播里的一个端口;为了更有效地寻找、通信和路由,IBA在标准IPV6地址的基础上定义了一些额外的 28 | 特性和约束,这就形成了GID。 |
GRH(Global Routing Header) | 用来在子网间传递数据包和传递组播信息的包头。 30 | 包头基于IPv6协议 |
Network Adapter | 允许网络中计算机之间传递数据的硬件。 |
Host | 一台运行着操作系统,并且控制着一个或多个network adapter的计算机。 |
IB | InfiniBand |
Join operation | 一个IB端口要明确地加入一个多播组,必须向SA发送请求来接收 36 | 多播数据包。 |
lkey | 在MR注册之后接收到的一个数字,它在本地被WR用来标志内存注册和 38 | 相关权限。 |
LID(Local IDentifier) | 40 | 子网管理程序指定给终端节点的一个16位地址。每个LID在它所在的子网中是唯一的。 |
LLE(Low Latency Ethernet) | 42 | 在CEE(Converged Enhanced Ethernet聚合加强型以太网)基础之上的RDMA服务。CEE允许IB在以太网上传输。 |
NA(Network Adapter) | 44 | 一个网络链接的终端设备,它执行传输层功能。 |
MGID(Multicast Group ID) | 46 | MGID唯一标志一个IB多播组,它由SM管理。SM将每个MGID都关联一个MLID,并对网络中的IB交换机 47 | 进行编程控制,确保加入多播组的所有端口都能接收到数据包。 |
MR(Memory Region) | 49 | 已被注册为被允许使用的连续内存缓冲区。为了使网络适配器能利用它们,这些缓冲区需要先被 50 | 注册。在注册期间,一个L_Key和R_Key被创建出来用来关联相应的注册缓冲区。 |
MTU(Maximum Transfer Unit) | 52 | 端口收发数据包的最大有效负载的数据大小(不包括包头)限度。 |
MW(Memory Window) | 54 | 一个被分配的资源,在与已注册的内存中一块特定的区域绑定后,能被远程直接使用。每个MW都有一个 55 | 关联的窗口句柄、一些使用权限信息和当前的R_Key |
Outstanding Work Request | 57 | 工作队列中没有被轮询到已完成的WR |
pkey(Partition key) | 59 | pkey标志了端口所属的分区。pkey大概类似于以太网中的VLAN ID。pkey用来指向端口的 60 | pkey表中的一项。SM(subnet manager)将每个端口至少关联一个pkey |
PD(Protection Domain) | 62 | 只有内部成员才能进行交互的域。AH与QP进行交互,MR与WQ进行交互。 |
QP(Queue Pair) | 64 | 为了在网络中节点之间传递数据,将独立的WQ打包在一起形成的一个配对 65 | (发送队列和接收队列)。有三种类型的QP:UD 不可靠数据报,UC 不可靠连接,RC 66 | 可靠连接。 |
RC(Reliable Connection) | 68 | 基于面向连连接的QP传输服务。一个QP与另一个QP相关联,两者之间的信息传输是可靠的 69 | (具体体现在数据的正确性和顺序性) |
RDMA(Remote Direct Memory Access) | 71 | 在不需远程计算机CPU的干预下,对它的内存进行操作。 |
RDMA_CM(Remote Direct Memory Access Communication Manager) | 73 | 用来建立可靠性连接和不可靠性数据报传输的API。它为建立连接提供了RDMA传输接口。 74 | 此API基于套接字,同时又适用于基于QP的语义:信息传递必须通过专门的RDMA设备, 75 | 并且数据传输是基于消息机制。 |
Requestor | 77 | 在一个连接中,发起数据传输的一端(通过发送一个请求) |
Responder | 79 | 在一个连接中,回复发起者发送的请求命令的的一端。请求命令可能包括 80 | 对回复者内存进行读或写的请求,和要求回复者接收一条信息。 |
rkey | 82 | 在MR注册之后接收到的一个数字,对到来的RDMA操作进行许可认证。 |
RNR(Receiver Not Ready) | 84 | 在一个基于RC的QP中,两端的连接已经存在,但是RR目前不在接收端。 |
RQ(Receive Queue) | 86 | 一个用来存储用户发送的RR的工作队列。 |
RR(Receive Request) | 88 | 是一个会被发送到RQ中的WR。它描述了应该把到来的需要写的数据写在哪里。 89 | 需要注意的是,一个RDMA写操作会消耗一个RR。 |
RTR(Ready To Receive) | 91 | 一种QP的状态,它表示某个RR可以被发送和处理。 |
RTS(Ready To Send) | 93 | 一种QP的状态,它表示某个SR可以被发送和处理。 |
SA(Subnet Administrator) | 95 | 用来查询和操作子网管理数据的接口。 |
SGE(Scatter/Gather Elements) | 97 | 一个结构,指向本地已注册过的内存块的一部分或者整块。结构中的元素包含 98 | 内存块的起始地址、大小和lkey(和它相关的权限信息一起)。 |
S/G Array | 100 | 在WR里,存放S/G元素的元组。根据使用的操作命令,可以将不同缓冲区的数据收集起来, 101 | 并将这些数据当成一个单独的数据流进行发送,或者将一个单独的数据流切分成许多不同的 102 | 缓冲区。 |
SM(Subnet Manager) | 104 | 设置和管理子网的体系。它的功能包括:获知子网的网络拓扑结构,分配LID, 105 | 决定路由策略和设置路由表,一个主的SM或者还有一个从的SM(双机热备模式), 106 | 初始化子网中交换机的路由表从而在子网中建立网络通路。 |
SQ(Send Queue) | 108 | 用来存储用户发送的SR的队列。 |
SR(Send Request) | 110 | 是一个会被发送到SQ中的WR,描述了需要传输的数据有多大、数据的目标位置以及传输的方式 111 | (具体的操作码会确定传输方式)。 |
SRQ(Share Receive Queue) | 113 | 是一个保存着接收到的信息的WQE队列,接收到的信息可以来自于任何相关的RC/UC/UD QP. 114 | 多个QP可与同一个SRQ关联。 |
TCA(Target Channel Adapter) | 116 | 一个不需要支持verb语法的通道适配器,通常用在I/O设备中。 |
UC(Unreliable Connection) | 118 | 基于面向连接的QP传输服务,一个QP和另一个QP相联系。QP们没有执行可靠协议,传输过程中 119 | 信息可能丢失。 |
UD(Unreliable Connection) | 121 | 一种QP传输服务,消息的以包为单位。每个UD QP能和子网中其它的UD QP进行数据的接收和发送。 122 | 消息在传递的过程中可能会丢失并且到达顺序可能会混乱。UD QP是唯一支持多播消息的模式。 123 | UD数据包的大小受限于MTU |
Verbs | 125 | 网络适配器的功能的一种抽象描述。使用Verbs,任何应用都能创建和管理用于RDMA数据传输的 126 | 对象。 |
VPI(Virtual Protocol Interface) | 128 | 允许用户能够改变端口的2层协议。 |
WQ(Work Queue) | 130 | SQ或RQ中的一种。 |
WQE(Work Queue Element) | 132 | 读音为"wookie",是WQ(工作队列)中的一个元素。 |
WR(Work Request) | 134 | 用户提交至WQ(工作队列)的一个请求。 |