Протокол Sockets Direct (SDP): высокоскоростная передача данных по RDMA
Sockets Direct Protocol
Протокол Sockets Direct Protocol (SDP) для RDMA сетей: высокая производительность, передача данных без копирования, поддержка SOCK STREAM. OpenFabrics Alliance.
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Введение
Протокол удалённых вычислений низкого уровня
Low level remote computing protocol
Протокол Sockets Direct Protocol (SDP) — это транспортно-независимый протокол, обеспечивающий поддержку потоковых сокетов через сети с удалённым прямым доступом к памяти (RDMA). SDP был первоначально разработан Рабочей группой по программному обеспечению (SWG) Торговой ассоциации InfiniBand. Изначально созданный для InfiniBand (IB), в настоящее время SDP поддерживается альянсом OpenFabrics Alliance.
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.
Протокол
SDP определяет стандартный сетевой протокол поверх RDMA-ткани для поддержки потоковых сокетов (SOCK STREAM). SDP использует различные сетевые возможности RDMA для высокопроизводительных передач данных без копирования. SDP является спецификацией протокола исключительно сетевого уровня и не затрагивает особенности API сокетов или реализации. Цель протокола Sockets Direct – предоставить альтернативу протоколу TCP на IP с ускорением посредством RDMA. Эта задача решается таким образом, чтобы быть прозрачным для приложения. Solaris 10 и Solaris 11 Express включают поддержку SDP. Ряд других вариантов Unix-подобных операционных систем планируют добавить поддержку протокола Sockets Direct. Windows предлагает подсистему Winsock Direct, которую можно использовать для поддержки SDP. Поддержка SDP была добавлена в JDK 7 выпуска Java Platform, Standard Edition (июль 2011 г.) для приложений, развернутых в операционных системах Solaris и Linux (OFED 1.4.2 и 1.5). Oracle Database 11g поддерживает подключение через SDP. Sockets Direct Protocol работает только с потоковыми сокетами и, будучи установленным в системе, обходит резидентный в ОС стек TCP для потоковых соединений между любыми конечными точками в RDMA-ткани. Все остальные типы сокетов (например, датаграммные, raw, пакетные и т.д.) поддерживаются стеком IP Linux и работают через стандартные IP-интерфейсы (например, IPoIB на InfiniBand-тканях). Стек IP не зависит от стека SDP; однако, стек SDP зависит от IP-драйверов для локального назначения IP-адресов и для разрешения IP-адресов для идентификации конечных точек. SDP используется австралийской телекоммуникационной компанией Telstra на своей 3G-платформе Next G для трансляции потокового мобильного телевидения. Этот протокол устарел или больше не поддерживается OFED в последних версиях, поэтому рекомендуется искать альтернативные решения. Возможные варианты – RSocket, Winsock и другие.
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.