Clusters | Part 3

Clusters | Part 3

Network Connections

The nodes of a cluster can be connected via a simple Ethernet network with common plate (network adapters or NICs), or use special high-speed technologies such as Fast Ethernet, Gigabit Ethernet, Myrinet, InfiniBand, SCI, etc.


or more networks are used today, due to its relatively low cost. However, its technology limits the packet size, perform excessive error checks and protocols are not efficient, and transmission rates may limit the performance of clusters. For applications with coarse-grained parallelism can be a good solution.

The most popular option today is Gigabit Ethernet (1 Gbit / s), being the solution emerging 10 Gigabit Ethernet (10 Gbit / s). The latency of these technologies is around 30-100 ms, depending on the communication protocol used.

In any case, the management network for excellence, so although not the solution for high-performance network communications, the network is devoted to administrative tasks.

Myrinet (Myrinet 2000 and Myri-10G)

or Its latency is 1.3 / 10 s, and width of 2/10Gbps Banda, respectively for 2000 and Myri Myrinet-10G., or is the low latency network currently in use, both in clusters as MPPs being present in more than half of the TOP500 systems. Has two communication libraries at low level (GM and MX). On these libraries are implemented MPICH-GM, MPICH-MX and Sockets-GM Sockets MX to take advantage of the excellent characteristics of Myrinet. There are also IP emulation over TCP / IP, and IPoMX IPoGM.


A network or arising from a standard developed specifically for cluster communication. One of its biggest advantages is that by adding channels (x1, x4 and x12) leads to very high band widths. The basic connection is 2 Gbps effective and ‘quad connection’ x12 reaches 96Gbps. However, startups are not very high, are located around 10 microseconds, or Define a connection between a computer node and a node I / O. The connection goes from a Host Channel Adapter (HCA) to a Target Channel Adapter (TCA). Is being used primarily to access SAS disk arrays.

SCI (Scalable Coherent Interface) standard IEEE 1596-1992

 or, theoretical latency is 1.43 ms and bandwidth of 5333 Mbps bidirectional. When configured to ring topologies (1D), sire (2D) and hypercube (3D) without switch, you have an adequate network for clusters of small and medium size.

As a network or extremely low latency advantages over Myrinet clusters of small size by having a point to point topology and not necessary to purchase a switch. The software on SCI is less developed than on Myrinet, but yields are higher, highlighting SCI Sockets (which gets startups of 3 microseconds) and SCAMPI, a high performance MPI library.

In addition, through the pre-loading mechanism (LD_PRELOAD) can ensure that all communications go through the system SCI-SOCKETS (transparent to the user).


The middleware is software that usually sits between the operating system and applications in order to provide a cluster as follows:

  • A single interface to access the system, known as SSI (Single System Image), which creates the sensation to the user that uses a single very powerful computer;
  • Tools for optimizing and maintaining the system: process migration, checkpoint-restart (freeze one or more processes, move them to server and continue to operate in the new host), load balancing, fault tolerance, etc;
  • Scalability: must be able to automatically detect new servers connected to the cluster to proceed with its use.

There are several types of middleware, such as: MOSIX, openMosix, Condor, OpenSSI, etc.

The middleware receives incoming jobs to the cluster and redistributes them so that the process will run faster and the system suffers a server overload. This is done through policies defined in the system (automatically or by an administrator) that tell where and how to distribute the processes, a monitoring system, which controls the load on each CPU and the number of processes in it.

The middleware processes must also be able to migrate between servers with different purposes:

  • Load balancing: if a server is heavily loaded and another is idle processes, processes can be transferred to the latter to release the first load and optimize performance;
  • Server Maintenance: if there are processes running on a server that needs maintenance or an upgrade, you can migrate to another server process and proceed to disconnect from the first cluster;
  • Prioritization of work: if you have several processes running on the cluster, but one of them more important than others, this process can be migrated to servers that have more or better resources to speed up processing.

Parallel Programming Environments

Parallel programming environments allow implementation of algorithms that make use of shared resources: CPU (Central Processing Unit), memory, data and services.

Study: From Wikipedia, the free encyclopedia. The text is available under the Creative Commons.


Leave your comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.