Glossary

Address Resolution Protocol

A sending host decides, through a protocols routing mechanism, that it wants to transmit to a target host located some place on a connected piece of a physical network. To actually transmit the hardware packet usually a hardware address must be generated. In the case of Ethernet this is 48 bit Ethernet address. The addresses of hosts within a protocol are not always compatible with the corresponding hardware address (being different lengths or values).

The Address Resolution Protocol (ARP) is used by the sending host in order to resolve the Ethernet address of the target host from its IP address. It is described in the RFC 826. The ARP is part of the TCP/IP protocol family.

Administration Network

The administration network is used for exchanging (meta) data used for administrative tasks between cluster nodes.

This network typically carries only a moderate data rate and can be entirely separated from the data network. Almost always, Ethernet (Fast or more and more Gigabit) is used for this purpose.

Administrative Task

A single process running on one of the compute nodes within the cluster. This process does not communicate with other processes using MPI.

This task will not be accounted within the ParaStation MPI process management, ie. it will not allocate a dedicated CPU. Thus, administration tasks may be started in addition to parallel tasks.

See also Serial Task for tasks accounted with ParaStation MPI.

admin-task

See Administrative Task.

ARP

See Address Resolution Protocol.

Data Network

The data network is used for exchanging data between the compute processes on the cluster nodes. Typically, high bandwidth and low latency is required for this kind of network.

Interconnect types used for this network are Myrinet or InfiniBand, and (Gigabit) Ethernet for moderate bandwidth and latency requirements.

Especially for Ethernet based clusters, the administration and data network are often collapsed into a single interconnect.

CPU

Modern multi-core CPUs provide multiple CPU cores within a physical CPU package. Within this document, the term CPU will be used to refer to a independing computing core, independent of the physical packaging.

DMA

See Direct Memory Access.

Direct Memory Access

In the old days devices within a computer were not able to put data into memory on their own but the CPU had to fetch it from them and to store it to the final destination manually.

Nowadays devices as Ethernet cards, harddisk controllers, Myrinet cards etc. are capable to store chunks of data into memory on their own. E.g. a disk controller is told to fetch an amount of memory from a hard disk and to store it to a given address. The rest of the jobs is done by this controller without producing further load to the CPU.

Obviously this concept helps to disburden the CPU from work which is not its first task and thus gives more power to solve the actual application.

Forwarder

See ParaStation MPI Forwarder.

Logger

See ParaStation MPI Logger.

Master Node

The evaluation of temporary node lists while spawning new tasks is done only by one particular psid(8) within the cluster. The node running this daemon is called master node.

The master node is dynamically selected within the cluster and may change, if the current master node is no longer available. Election is based on the node IDs, refer to parastation.conf(5).

Network Interface Card

The physical device which connects a computer to a network. Examples are Ethernet cards (which are nowadays often found to be on board) or Myrinet cards.

NIC

See Network Interface Card.

Non-Uniform memory access (NUMA)

Non-Uniform memory access describes the fact that for some multiprocessor design the access time to the memory depends on the location of this memory. Within this designs, the memory is typically closely attached to a CPU. CPUs have access to memory attached to other CPUs using additional logic inducing additional latency. Therefore the access time for different memory addresses may vary.

Parallel Task

A bunch of processes distributed within the cluster forming an instance of a parallel application. E.g. a MPI program running on several nodes of a cluster can only act as a whole but consists of individual processes on each node. ParaStation MPI knows about their relationship and can handle them as a distributed parallel task running on the cluster.

Sometimes also referred as job.

ParaStation MPI Logger

The counterpart to the ParaStation MPI Forwarder. This process receives all output collected by the forwarder processes and sends it to the final destination, stdout or stderr. Furthermore input to the ParaStation MPI task is forwarded to a specific process.

The first process of the task started usually converts to the logger processes after spawning all the other processes of the parallel task.

ParaStation MPI Forwarder

Collects output written by ParaStation MPI controlled processes to stdout or stderr and sends it to the ParaStation MPI Logger.

Furthermore the forwarder controls the process and sends information about its exit status to the local daemon.

PMI

Process Manager Interface: protocol to standardize startup of tasks of a parallel job. Implemented in mpd and ParaStation MPI psid.

Process

The atomic part of a Parallel Task. A process is at first a standard Unix process. Since ParaStation MPI knows about its membership in a parallel task, it can be handled in a peculiar way if an event takes place on some other node (e.g. another process of the task dies unexpectedly, a signal is send to the task, etc.).

Serial Task

A single process running on one of the compute nodes within the cluster. This process does not communicate with other processes using MPI. ParaStation MPI knows about this process and where it is started from.

A serial task may use multiple threads to execute, but all this threads have to share a common address space within a node.