Sockets Direct Protocol (SDP)

The Sockets Direct Protocol (SDP) is a networking protocol originally defined by InfiniBand Trade Association.

Conventional networking using socket streams can create bottlenecks when it comes to moving big data. RDMA enables moving data directly from the memory of one computer to another computer, bypassing the operating system of both computers and resulting in significant performance gains.

SDP features high throughput, low latency, quality of service and failover, and it is designed to be scalable.

High throughput refers to an environment that can deliver a large amount of processing capacity over a long period of time. Low latency refers to the minimal delay between processing input and providing output, such as you would expect in a real-time application.

  • It is a transport-agnostic protocol for Remote Direct Memory Access (RDMA) network fabrics.
  • SDP is a pure wire-protocol level specification and does not go into any socket API or implementation specifics.
  • The purpose of the Sockets Direct Protocol is to provide an RDMA-accelerated alternative to the TCP protocol on IP. The goal is to do this in a manner which is transparent to the application.
  • SDP support was introduced to the JDK 7 for applications on Solaris and Linux.
  • SDP support is essentially a TCP bypass technology.
  • When SDP is enabled and an application attempts to open a TCP connection, the TCP mechanism is bypassed and communication goes directly to the IB network.
  • There are no API changes required in your code to take advantage of the SDP protocol.

DP support is disabled by default. The steps to enable SDP support are:

  1. Create an SDP configuration file.
  2. Set the system property that specifies the location of the configuration file.
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License