ssc18 Rdma
ssc18 Rdma
RDMA Tutorial
Jana Giceva
Large-Scale Data & Systems (LSDS) Group
Imperial College London
http://lsds.doc.ic.ac.uk
<[email protected]>
1
What is RDMA?
✓ Asynchronous operations
Great for overlapping communication and computation.
Your Application
Command
space
User
channel
uverbs
Socket Layer
Kernel
Adapter Driver
RDMA-enabled Channel Adapter network card
Jana Giceva - Imperial College London src: InfiniBand Trade Association: Introduction to IB for end users
Setting up the RDMA data channels
The send and receive queues are there to schedule the work to be done.
A completion queue is used to notify when the work has been completed.
▪ InfiniBand (IB)
• QDR 4x – 32 Gbps
• FDR 4x – 54 Gbps
• EDR 4x – 100 Gbps
Traditional message passing where both the source and the destination
processes are actively involved in the communication.
Sender’s work request has a pointer to a buffer that it wants to send. The
WQE is enqueued in the send queue.
Receiver’s work request has a pointer to an empty buffer for receiving the
message. The WQE is enqueued in the receive queue.
The active side must obtain the passive side’s address and key beforehand.
Typically, the traditional RDMA send/receive mechanisms are used.
Added extra complexity for the developer to use the Verbs API
Upper Layer
Protocols MPI : Message Passing Interface
MPI NFS RDMA VNIC SRP ▪ Widely used in HPC
Cluster File Systems SDP RDS ▪ Example: OpenMPI, MVAPICH,
Intel MPI, etc.
RDMA adapter driver
File Systems:
IB Fabric Interconnect ▪ Lustre – parallel distributed FS
for Linux
▪ NFS_RDMA – Network FS over
src: InfiniBand Trade Association: Introduction to IB for end users
RDMA