The following sections describe the configuration files that specifically control the behaviour of Dolphin SuperSockets. Next to these files, SuperSockets retrieve important configuration information from
dishosts.conf as well.
To make changes in any of these file effective, you need to run dis_ssocks_cfg on every node. Changes do not apply to sockets that are already open.
This file defines system-wide settings for all SuperSockets applications using LD_PRELOAD. All settings can be overridden by environment variables named
Usage of poll/select optimization. Default is 0 which means that the SuperSockets optimization for the
select() system calls is used. This optimization typically reduces the latency without increasing the CPU load. To only use the native system methods for
select(), set this value to 1.
Receive poll time [µs]. Default is 30. Increasing this value may reduce the latency as the CPU will spin longer to wait for new data until it blocks sleeping. Reducing this value will send the CPU to sleep earlier, but this may increase message latency.
Transmit poll time [µs]. Default is 0, which means that the CPU does not spin at all when a no buffers at the receiving side are available. Instead, it will imeadeatly block until the receiver reads data from these buffers (which makes buffer space available again for sending). The situation of no available receive buffers does rarely occur, and increasing this value is not recommended.
Message buffer size [byte]. Default is 128KB. This value determines how much data can be sent without the receiver reading it. It has no significant impact on bandwidth.
Minimum message size for DMA [byte]. Default is 0 (DMA disabled).
Maximum number of messages gather into a single DMA transfer. Default is 1.
Switch point [byte] from INLINE to SHORT protocol. Default depends on driver.
Switch point [byte] from SHORT to LONG protocol. Default depends on driver.
Usage of accelerated
gettimeofday(). Default is 0 which disables this optimization. Set to 1 to enable it.
Usage of fully asynchronous transfers. Default is 1, which means that the SHORT and LONG protocol is processed by a dedicated kernel thread. By this, the sending process is available immedeatly, and the actual data transfer is performed asynchronously. This generally increases throughput and reduces CPU load with affecting small message latency. To disable asynchronous transfers, set this option to 0; in this case, all data transfers are performed by the CPU that runs the process that called the send function.
This file is used to configure the port filter for SuperSockets. If no such file exists all ports will be enabled by default. It is, however, recommended to exclude all system ports. A suitable port configuration file is part of the SuperSockets software package. You can adjust it to your specific needs.
# Default port configuration for Dolphin SuperSockets # Ports specifically enabled or disabled to run over SuperSockets. # Any socket not specifically covered, is handled by the default: EnablePortsByDefault yes # Recommended settings: # Disable the privileged ports used by system services. DisablePortRange tcp 1 1023 DisablePortRange udp 1 1023 # Disable Dolphin Interconnect Manager service ports. DisablePortRange tcp 3443 3444
The following keywords are valid:
Determines the policy for unspecified ports.
Explicitly disables the given port range for the given socket type.
Explicitly enables the given port range for the given socket type.