High Speed Socket API for Windows
Dolphin SuperSockets for Windows is WinSock2 compliant and provides up to 10 times better latency and up to 4 times better throughput than 10 Gigabit Ethernet.
This page describes the Windows version. Consult these pages for SuperSockets for Linux.
Dolphin SuperSockets for Windows was developed to enable existing WinSock2 applications to run transparently over the Dolphin Express Interconnect without using the time consuming and CPU intensive TCP/IP networking protocols. The Dolphin Express technology includes hardware to ensure correct and secure data transmission enabling implementations of extremely lightweight, but still highly reliable, software protocols for applications with processes running on different individual computers. Windows applications that use sockets and have communication bottlenecks will benefit greatly from implementing Dolphin SuperSockets.
How it Works
The SuperSockets module identifies itself as a Layered Service Provider within the operating system. By default, it is activated for applications that are launched through an intermediary utility and de-activated for all other services and applications. Performance counters and error messages can be retrieved with operating system's supplied tools.
During runtime, all socket calls will be routed through the Dolphin Sockets switch. A Dolphin Express communication channel is enabled by a configuration file named dishosts.conf. This file contains the host names of the machines in the cluster and their associated NodeId in the network. Sockets that are configured for a Dolphin Express endpoint will be routed through the low latency Dolphin SuperSockets module. All other connections will be routed through the standard WinSock2 library and regular Ethernet. Measurements show that the redirection is virtually instantaneous and adds no overhead to system calls.
The Dolphin SuperSockets library is optimized for high throughput and low latency communication over Dolphin Express and to reduce the number of system resources and interrupts needed. The Dolphin SuperSockets library uses direct remote memory CPU store operations (PIO) to transfer small amounts of data and engages the adapter card DMA engine to transmit large messages.
SuperSockets for Windows supports connectivity to other systems running Windows or Linux systems running the SuperSockets User Space library.
The installation of Dolphin SuperSockets is simple, just select the SuperSockets feature from the Windows installer.
The figure below shows performance results for two Intel Core2 2.00 GHz systems interconnected using Dolphin Express, 10G Ethernet and 1G Ethernet. The benchmark is a simple application running a socket ping-pong test. The figure shows the half RTT (Round Trip Time). The minimum latency for Dolphin SuperSockets is 1.3 microseconds.
SuperSockets is Accelerating Local Socket Communication
The SuperSockets library accelerates communication between systems but also communication between sockets applications running on a single SMP server.
Target Applications and Compatibility
The Dolphin SuperSockets library for Windows is currently provided for the purpose of supporting embedded applications . The Windows Winsock2 environment contains a rich set of socket functions and options and we have verified and support the most usual socket calls: socket(), bind(), listen(), connect(), accept(), send(), recv(), WSASend(), WSARecv(), WSAGetOverlappedResult(), GetOverlappedResult(), disconnect() and closesocket(). Additional socket functions and options will be added upon request from our customers.
Dolphin SuperSockets for Windows is available with the Dolphin Express PX and IX product lines.
Please contact your Dolphin sales representative for more information.