Table of Contents
pscom
communication libraryThis chapter provides more technical details and background information about ParaStation MPI.
The ParaStation MPI communication library libpscom
offers secure and reliable end-to-end connectivity.
It hides the actual transport and communication
characteristics from the application and higher level libraries.
The libpscom
library supports a wide range
of interconnects and protocols for data transfers.
Using a generic plug-in system, this library may open connections
using the following networks and protocols:
TCP:
uses standard TCP/IP sockets to
transfer data. This protocol may use any interconnect.
Support for this protocol is built-in to the
libpscom
.
P4sock:
uses an optimized network
protocol for Ethernet (see the section called “ParaStation protocol p4sock”, below).
Support for this protocol is built-in to the
libpscom
.
InfiniBand:
based on a verbs kernel layer and a
libverbs
library, typically provided by
the hardware vendor, the libpscom
may use InfiniBand to actually transfer data.
The corresponding plug-in library is called
libpscom4openib
.
Myrinet:
using the GM library and
kernel level module, the libpscom
library is able to use Myrinet for data transfer.
The particular plug-in library is called
libpscom4gm
.
Shared Memory:
for communication within
a SMP node, the libpscom
library uses
shared memory.
Support for this protocol is built-in to the
libpscom
.
DAPL:
The libpscom
supports a DAPL
transport layer.
Using the libpscom4dapl
plug-in, it may
transfer data across various networks like InfiniBand or 10G
Ethernet using a vendor-provided
libdapl
.
QsNet:
The libpscom
supports the QsNetII
transport layer.
Using the libpscom4elan
plug-in, it may
transfer data using the libelan
.
The interconnect and protocol used between two distinct processes is chosen while opening the connection between those processes. Depending on available hardware, configuration (see the section called “Configuration of the ParaStation MPI system”) and current environment variables (see the section called “Controlling ParaStation MPI communication paths”), the library automatically selects the fastest available communication path.
The library routines for sending and receiving data handle arbitrary large buffers. If necessary, the buffers will be fragmented and reassembled to meet the underlying transport requirements.
The application is dynamically linked with the
libpscom.so
library.
At runtime, this library loads plug-ins for various
interconnects, see above.
For more information on controlling ParaStation MPI communication pathes,
refer to the section called “Controlling ParaStation MPI communication paths”.