General Information: -------------------- What is Sockets-MX WSD ? --------------------------------- Sockets-MX WSD is a proxy driver which plugs into the Winsock Direct Switch Architecture which is available on a set of Windows Operating systems. When installing Sockets-MX WSD for Windows, the switch will be able to map standard Microsoft Winsock Applications to the Myrinet System Area Network. This will have a performance improvement in two ways. First is to reduce latency significantly (below 10usec) and second is to increase bandwidth up to the thruput available with Myrinet networks. Winsock Applications which use the TCP_STREAM stream protocol for a connection oriented data exchange will benefit from the faster Myrinet transport than using TCP/IP over slower media. The Winsock Direct switch will not map applications using UDP to Myrinet. This distribution of Sockets-MX WSD is Winsock 1.1 compliant and Winsock 2 compliant. It is important to know that Winsock Direct Path is a Windows build in feature. This means, that no additional software is required to build a high performance cluster with Microsoft Operating systems. The supported Operating systems are Windows 2003 Server, Windows 2000 Advanced Server Sp2 or higher, and Windows 2000 Datacenter Server 1) run the examples as tcp/ip programs 2) install the WSD: Applications will use Sockets-MX_WSD who have the wsd-mx.dll in their path. This can be done by copying the dll into the applications directory. - call inst_wsd.exe -install/-remove to enable the Winsock Direct Proxy 3) now run the examples again which will use Myrinet as a transport Configuration: --------------------------------- There is no configuration required. Sockets-MX_WSD will detect and probe the network to determine candidates for Sockets-MX_WSD. Some configuration of the WSD-MX proxy is driven by environment parameters. If you open a MS DOS prompt and do set WSD_MX_ENVIRONMENT_VARIABLE=1 you will obtain either little debug output or you can also change the behavior of the proxy. Parameter: WSD_MX_BLOCKING -- Causes the communication manager to immediately wait for events DEFAULT: poll/wait WSD_MX_DISABLE_RDMA -- Will continue to use send / recv beyond 10K WSD_MX_SPIN_COUNT -- Value will be used as loop count for detection of messages. Default 200. WSD_MX_ENABLE_AFFINITY -- When set, will perform SetProcessAffinityMask WSD_MX_SUBNET -- e.g: set WSD_MX_SUBNET=192.168.0 - Will avoid WSD confusion about which IP to use for connections set WSD_MX_SHOW_STARTUP=1 for visible information WSD_MX_SHOW_STARTUP -- When set, will show startup information WSD_MX_SHOW_SUBMITTED_HOSTNAMES -- Show hostnames submitted to the switch ------------- UNDER DEBUG MODE ---------------------- A debug dll will offer the following environment variables: WSD_MX_DEBUG_CONNECT -- Will printf output to the console about the WSD connection setup -------------- LOGGING INFORMATION -------------------- WSD_MX_LOG_FILE -- When set: The environment will print information to a file named debug_.txt file in the working directory. Default: Uses OutputDebugString WSD_MX_LOG_STDOUT -- When set: The environment will print information to stdout. Default: Uses OutputDebugString Testing Platforms: Sockets-MX_WSD has been tested on x64 machines running Windows CCS Limitations: --------------------------------- WSADuplicateSocketHandle is currently not supported. Note: We highly do not recommend copying the wsd-mx.dll into system32. That way - during system startup - each process involved with network protocols will open an MX endpoint leading to possible exhaustion of resources. Since those applications / services never close their network access it is not possible to gain back those resources.