Misplaced Pages

Sockets Direct Protocol

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
Low-level remote-computing protocol
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
This article provides insufficient context for those unfamiliar with the subject. Please help improve the article by providing more context for the reader. (November 2016) (Learn how and when to remove this message)
This article may be too technical for most readers to understand. Please help improve it to make it understandable to non-experts, without removing the technical details. (November 2016) (Learn how and when to remove this message)
(Learn how and when to remove this message)

The Sockets Direct Protocol (SDP) is a transport-agnostic protocol to support stream sockets over remote direct memory access (RDMA) network fabrics. SDP was originally defined by the Software Working Group (SWG) of the InfiniBand Trade Association. Originally designed for InfiniBand (IB), SDP is currently maintained by the OpenFabrics Alliance.

Protocol

SDP defines a standard wire protocol over an RDMA fabric to support stream sockets (SOCK_STREAM). SDP uses various RDMA network features for high-performance zero-copy data transfers. 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.

Solaris 10 and Solaris 11 Express include support for SDP. Several other Unix operating system variants plan to include support for Sockets Direct Protocol. Windows offers a subsystem called Winsock Direct, which could be used to support SDP.

SDP support was introduced to the JDK 7 release of the Java Platform, Standard Edition (July 2011) for applications deployed in on Solaris and Linux operating systems (OFED 1.4.2 and 1.5). Oracle Database 11g supports connection over SDP.

Sockets Direct Protocol only deals with stream sockets, and if installed in a system, bypasses the OS resident TCP stack for stream connections between any endpoints on the RDMA fabric. All other socket types (such as datagram, raw, packet, etc.) are supported by the Linux IP stack and operate over standard IP interfaces (i.e., IPoIB on InfiniBand fabrics). The IP stack has no dependency on the SDP stack; however, the SDP stack depends on IP drivers for local IP assignments and for IP address resolution for endpoint identifications.

SDP is used by the Australian telecommunications company Telstra on their 3G platform Next G to deliver streaming mobile TV.

This protocol has been deprecated or not maintained by OFED in the latest releases, hence look for alternatives. The probable suggestions will be RSocket, Winsock, etc.

References

  1. "ANNEX A4: SOCKETS DIRECT PROTOCOL (SDP)". In InfiniBand™ Architecture Release 1.2.1, p. 1215ff. PDF download from InfiniBand Trade Association, accessed October 2011
  2. Winsock Direct: The Value of System Area Networks, accessed October 2011
  3. Understanding the Sockets Direct Protocol, Oracle Java Tutorials, 2011
  4. "Configuring SDP Protocol Support for Infiniband Network Communication to the Database Server". In Oracle® Database Net Services Administrator's Guide, accessed October 2011
  5. Tziporet Koren, "[ewg] Status of SDP? (and ib_sdp patch for Linux-3.4.x)" Apr 14 2012: "Is SDP obsolete? - its deprecated"
Category: