HP ML530 RDMA protocol: improving network performance - Page 10

InfiniBand RDMA protocols, Direct Access Programming Library, Sockets Direct Protocol

Page 10 highlights

InfiniBand uses a communications stack (Figure 6) that specifies both the functionality and physical connectivity of the channel adapter. Adapter functionality is defined by its verb set as detected by the application programming interface (API) of the operating system being used. Each layer is subservient to the layer preceding it and must complete its function before passing the responsibility on to the next layer. Figure 6. InfiniBand communication layers TX Upper RX Level Uses DAPL, SDD, and/or SRP protocols to handle RDMA operations Protocol Transport Processes information according to the operation specified by the verb(s) invoked Network Responsible for routing packets between subnets Data Link Physical Handles send and receive data at the packet level and provides addressing, buffering, flow control, error detection, and switching Establishes the physical link, monitors link status, and informs the data link layer when the link is up or down InfiniBand RDMA protocols The upper layer protocol (ULP) layer works closest to the operating system and application, and defines how much (if any) software overhead will be required by the data transfer. A number of InfiniBand upper layer protocols are available, three of which support RDMA operations: • Direct Access Programming Library • Sockets Direct Protocol • SCSI RDMA Protocol Direct Access Programming Library The Direct Access Programming Library (DAPL) allows low-latency RDMA communications well-suited for inter-node transfers. The uDAPL provides user-level access to RDMA functionality on InfiniBand. Applications must be written with a specific uDAPL implementation to use RDMA for data transfers between nodes. The kDAPL operates at the kernel level. Sockets Direct Protocol Sockets Direct Protocol (SDP) is a sockets-based RDMA protocol that operates from the kernel. Applications must be written to take advantage of the SDP interface. SDP is based on the WinSock Direct Protocol used by Microsoft server operating systems, and is suited for connecting databases to application servers. 10

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

InfiniBand uses a communications stack (Figure 6) that specifies both the functionality and physical
connectivity of the channel adapter. Adapter functionality is defined by its verb set as detected by the
application programming interface (API) of the operating system being used. Each layer is subservient
to the layer preceding it and must complete its function before passing the responsibility on to the next
layer.
Figure 6.
InfiniBand communication layers
TX
Upper
Level
Protocol
RX
Uses DAPL, SDD, and/or SRP protocols to handle RDMA
operations
Transport
Processes information according to the operation specified
by the verb(s) invoked
Network
Responsible for routing packets between subnets
Data Link
Handles send and receive data at the packet level and
provides addressing, buffering, flow control, error
detection, and switching
Physical
Establishes the physical link, monitors link status, and
informs the data link layer when the link is up or down
InfiniBand RDMA protocols
The upper layer protocol (ULP) layer works closest to the operating system and application, and
defines how much (if any) software overhead will be required by the data transfer. A number of
InfiniBand upper layer protocols are available, three of which support RDMA operations:
Direct Access Programming Library
Sockets Direct Protocol
SCSI RDMA Protocol
Direct Access Programming Library
The Direct Access Programming Library (DAPL) allows low-latency RDMA communications well-suited
for inter-node transfers. The uDAPL provides user-level access to RDMA functionality on InfiniBand.
Applications must be written with a specific uDAPL implementation to use RDMA for data transfers
between nodes. The kDAPL operates at the kernel level.
Sockets Direct Protocol
Sockets Direct Protocol (SDP) is a sockets-based RDMA protocol that operates from the kernel.
Applications must be written to take advantage of the SDP interface. SDP is based on the WinSock
Direct Protocol used by Microsoft server operating systems, and is suited for connecting databases to
application servers.
10