RDMA 相关笔记。


1. RDMA 相关资源

  • libvma: VMA Source Code and Documentation
  • rdma-core: RDMA core userspace libraries and daemons
  • perftest: Infiniband Verbs Performance Tests
  • RDMA-Tutorial: A tutorial on RDMA based programming using code examples

2. RDMA 相关术语

Abbr Term
RDMA Remote Direct Memory Access
HPC High-Performance Computing
IPC InterProcess Communication
SCSI Small Computer System Interface
MPI Message Passing Interface
HBA Host Bus Adapter
HCA Host Channel Adapter: usually used to describe InfiniBand interface cards, is the point at which an InfiniBand end node connects to the InfiniBand network
TCA Target Channel Adapter, is a specialized version of a channel adapter intended for use in an embedded environment
MMIO Memory Mapped I/O
VIA Virtual Interface Architecture
RoCE RDMA over Converged ethernet
IB InfiniBand
IBTA InfiniBand Trade Association
iWARP internet Wide Area RDMA Protocol
NIC Network Interface Controller(Cards)
VMA Mellanox’s Messaging Accelerator
ULPs Upper Layer Protocols
RC Reliable Connection
UC Unreliable Connection
UD Unreliable Datagram
Verb Defines the types of communication operations
PD Protection Domain
CQ Completion Queue
QP Queue Pair, the endpoint of the Channel I/O
SQ Send Queue
RQ Receive Queue
WR Work Request, represents a single quantum of work that the application wants to perform
MR Memory Registration

3. RDMA 相关博文

4. RDMA 相关论文

  • 基于 RDMA 的分布式存储系统研究综述

    • RDMA 背景介绍
      • RDMA 允许本地 CPU 绕过操作系统,直接读写远端节点内存,该过程无需远端 CPU 的参与
      • RDMA 通信链路可以被配置为 3 种模式:RC, UC 和 UD
      • RDMA 访问远端内存依靠 2 类原语
        • 消息语义:Send/Recv
        • 内存语义:Write/Read
    • RDMA 与硬件管理
      • 缓存管理:网卡缓存用于暂存 CPU 发起的网络请求和相应的网络状态信息,其主要缓存 3 类数据
        • 注册内存从逻辑地址到物理地址的映射表
        • QP 状态,存放 QP 对应的元数据信息
        • 由 CPU 发起的网络请求条目

        当网卡处理能力不及 CPU 时,需控制 CPU 请求速率,避免网络吞吐下降

      • CPU 调度
        • 多核并发
        • 负载均衡
        • QP 共享 (会引入时序问题)
    • RDMA 与软件重构
      • RDMA 在 Key-Value 系统中的应用: Pilaf, HERD, HydraDB, RFP, C-Hint, FaRM, Nessie
      • RDMA 在文件系统中的应用: Octopus, NVFS, Crail
      • RDMA 在分布式事务中的应用: DrTM, FaRM, FaSST
      • RDMA 的通用性优化
        • 网络负载重分派
        • 数据备份与持久化
  • Accelerating Redis with RDMA over InfiniBand

    • Redis 客户端使用处于 UC 传输类型下的设置为 unsignaled 模式和 inlined 模式的 RDMA Write 操作来传输客户端请求至 Redis 服务器端
    • Redis 服务器端使用处于 UD 传输类型下的设置为 inlined 模式的 Send 操作响应客户端的请求
    • 当 Redis 启动时,在 HCA 上注册 M 个 Chunk,每个 Chunk 包含 Request Buffer 和 Respond Buffer
  • Introduction to infiniband for end users

    • 介绍了 InfiniBand 相关概念,只需阅读 1、4、5 三章即可。笔记地址