Instalando un Cluster Beowulf usando Open MPI en Linux

Linux

Un cluster es un grupo de ordenadores que actúan como si fueran uno solo, pero sumando su poder de proceso. Se conectan por red local y se pueden usar para múltiples funciones de supercomputación para ingeniería, comercio, etc ... O simplemente si tienes equipos un poco viejos y quieres darle una nueva vida creando un cluster con ellos, este tutorial te ayudará a montarlo.

Un cluster Beowulf (parecido al que usa la NASA) consiste en un número de ordenadores conectados por red para procesamiento en paralelo. Todos tienen Linux o BSD, a menudo usando librerías PVM o MPI (en este caso Open MPI).

El funcionamiento es el siguiente, un ordenador hace de nodo maestro donde ejecutas el programa y le dices cuantos procesos quieres usar. Entonces el nodo maestro ejecuta el programa usando los procesos indicados en el mismo ordenador o sobre cualquier otra máquina de nuestro cluster. El proceso se comunica usando la librería MPI y enviando todos los datos enviados por STDOUT de los nodos esclavos se crea una tubería hacia el STDOUT del nodo maestro.

Para montar el cluster debes de tener las siguientes consideraciones:

  • Tienes al menos dos equipos conectados por red vía TCP/IP.
  • Cada máquina tiene la misma arquitectura de microprocesador (para los ejecutables).
  • Todas tienen Linux instalado.
  • Cada máquina tiene un usuario común (en el tutorial usan mpiuser).
  • El usuario mpiuser (el común) comparte la misma carpeta, a través de NFS, o sincronizada con rsync.
  • El autor se refiere a los nodos como slave1, slave2, etc ..
Bueno ya estamos listos para comenzar el tutorial:

Setting up a Beowulf Cluster Using Open MPI on Linux - TechTinkering

Una buena idea si tienes equipos viejos y quieres practicar un poco en esto de la supercomputación y procesamiento en paralelo.

Más info sobre clusters:

ClusterMonkey.