Section: 2.2 SMC network devices
Scali MPI Connect Release 4.4 Users Guide 12
Figure 2-1: illustrates how applications started with mpimon have their communication system
established by a system of daemons on the nodes. This process uses TCP/IP communication
over the networking Ethernet, whereas optional high performance interconnects are used for
communication between processes.
Parameter control is performed by mpimon to check as many of the specified options and
parameters as possible. The user program names are checked for validity, and the nodes are
contacted (using sockets) to ensure they are responding and that mpid is running.
Via mpid mpimon establishes contact with the nodes and transfers basic information to enable
mpid to start the submonitor mpisubmon on each node. Each submonitor establishes a
connection to mpimon for exchange of control information between each mpisubmon and
mpimon to enable mpisubmon to start the specified userprograms (MPI-processes).
As mpisubmon starts all the MPI-processes to be executed they MPI_Init(). Once inside here
the user processes wait for all the mpisubmons inovolved to coordinate via mpimon. Once all
processes are ready mpimon will return a “start running” message to the processes. They will
then return from MPI_Init() and start executing the user code.
Stopping MPI application programs is requested by the user processes as they enter the
MPI_Finalize() call. The local mpisubmon will signal mpimon and wait for mpimon to return a
“all stopped message”. This comes when all processes are waiting in MPI_Finalize(). As the user
processes return from the MPI_Finalize() they release their resources and terminates. Then the
local mpisubmon terminates and eventuall mpimon terinates.
2.2 SMC network devices
Figure 2-2: Scali MPI Connect relies on DAT to interface to a number of interconnects
Beginning with SSP 4.0.0 and SMC 4.0.0 the Scali MPI offers generic support for interconnects.
This does not yet mean that every interconnect is supported out of the box, since SMC still
requires a driver for each interconnect. But from SMC's point of view, a driver is just a