Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Cluster
Cluster sencillo
sencillo con
con MPI
MPI
ASALTO AL
TRASTERO
Catsi, Fotolia
Si tenemos equipos antiguos guardados en el trastero y no sabemos
H
oy en día cada vez son necesa- Desde su creación en Junio de 1994 ha La Figura 1 muestra gráficamente la
rios más recursos para procesar sido muy utilizado, apareciendo varias estructura de nuestra red.
cierta información en investiga- implementaciones de este estándar,
ciones científicas, surgiendo la necesi- siendo las más utilizadas las que se Instalación
dad de crear grandes computadoras u muestran en la tabla 1. Instalaremos en todos los equipos la dis-
ordenadores con gran capacidad de pro- Seleccionaremos para este artículo la tribución Debian Etch v.4.0 r2 utilizando
ceso, pero con un reducido coste econó- implementación MPICH, por ser la más la opción de instalación por red de un
mico. sencilla de utilizar y por soportar siste- CD mínimo, que podremos obtener
MPI (Message Passing Interface o Inter- mas heterogéneos. desde la página oficial de Debian [4].
faz de Paso de Mensajes) es un estándar La instalación se realizará validando
que define la sintaxis y la semántica de Estructura del Cluster las opciones que aparecen por defecto
las funciones contenidas en una librería Para esta ocasión vamos a disponer de 3 en el asistente, especificando la
de paso de mensajes diseñada para ser equipos con las características que apa- configuración de red de cada uno de los
utilizada con aplicaciones ejecutadas en recen en la tabla 2, y de un pequeño equipos. Llegados al punto de los pro-
sistemas con múltiples procesadores. switch de 8 puertos 10/100 Mbps, todo gramas a instalar seleccionaremos sis-
El paso de mensajes es un modelo de ello recuperado del trastero, con los que tema estándar.
comunicación ampliamente usado en formaremos la red de la que se compon- La Figura 2 muestra la opción que
computación paralela que permite reali- drá nuestro cluster. debe seleccionarse.
zar agrupamiento de máquinas para tra-
bajar en un fin común. Tabla 1: Implementaciones MPI
MPI es una librería de funciones y
Denominación Detalles
macros que pueden ser usados en C y LAM/MPI[1] Utiliza un demonio activo en cada nodo y proporciona ciertas herramientas
Fortran para desarrollar programas y que de monitorización
aprovechen la existencia de múltiples OpenMPI[2] Es descendiente directo de LAM/MPI, en continuo desarrollo, y resulta un
procesadores por medio del paso de buen candidato para usar en el futuro.
MPICH[3] Independiente de la arquitectura utilizada y fácilmente portable.
mensajes.
Una vez realizada la instalación y rei- ocurrir que no se haya instalado el del paquete de herramientas de comuni-
niciado el equipo, sólo nos queda paquete nfs-utils o bien que inicial- cación segura del protocolo SSH/SecSH
comentar la línea del fichero mente no se hayan cargado, por lo que para redes:
/etc/apt/sources.list que hace referencia tendremos que hacerlo nosotros a mano
al cd-rom como origen de paquetes a ahora: apt-get install openssh-server
instalar para desactivarla.
/sbin/portmap Desde el directorio home del usuario
Configuración del Nodo /usr/sbin/rpc.mountd que vaya a tener permisos para ejecutar
Maestro /usr/sbin/rpc.nfs aplicaciones utilizando mpich, genera-
El primer paso es configurar una car- /usr/sbin/rpc.statd mos sus claves públicas y privadas.
peta compartida desde el servidor acce-
sible desde todos los nodos de la red, Modificamos el fichero /etc/hosts.allow cd $HOME
donde ubicaremos ciertos archivos para permitir el acceso de los nodos al ssh-keygen -t dsa
necesarios y la instalación de mpich. recurso compartido. Incluiremos una
Vamos a utilizar NFS (Network File línea con el formato que se especifica a Nos aparecerán una serie de preguntas a
System, Sistema de Archivos de Red), continuación para cada nodo. las que contestaremos con el valor por
protocolo que permite acceder a fiche- defecto. La ejecución de este comando
ros remotos dentro de una red tratándo- portmap: direccion_ipnodo creará una carpeta denominada .ssh,
los de forma local. Como este paquete donde se encuentran las claves públicas
estará incluido dentro de nuestra distri- Editamos el fichero /etc/hosts.deny y y privadas generadas, y el archivo
bución, podemos instalarlo cómoda- añadimos la siguiente línea para que authorized_keys, que contiene las claves
mente utilizando la herramienta de ins- ningún equipo, excepto los especifica- públicas de los equipos que tendrán
talación de paquetes. dos en el fichero host.allow, pueda acce- acceso al nuestro.
der a este recurso. Copiaremos la clave pública al recurso
apt-get installU compartido para que esté accesible para
nfs-kernel-server portmap: ALL los nodos. Se recomienda la siguiente
nomenclatura:
Creamos la carpeta que se va a compartir: Nos falta añadir al fichero /etc/hosts
los nodos esclavos según la nomencla- cp .ssh/id_dsa.pub U
mkdir /mnt/compartido tura: /mnt/compartido/U
root_mastermpi.pub
Y configuramos NFS para que permita el dirección_ip nombre_del_equipo
acceso remoto desde otros equipos de la 192.168.0.75 esclavo1mpi Ejecutaremos ssh-agent -s y ssh-add para
red. Editamos el archivo /etc/exports aña- que desde el maestro no se pida la clave
diendo una línea por cada equipo que El siguiente paso que debemos dar es si la hemos definido. Llegados a este
vaya a acceder al recurso. establecer los cauces de comunicación punto sólo nos queda instalar y configu-
entre el nodo maestro y los esclavos. rar MPICH, para lo cual necesitaremos
/mnt/compartidoU Para hacerlo podemos utilizar rsh instalar los paquetes necesarios para
192.168.0.75(rw,sync) (Remote Shell) [5] o ssh (Secure Shell) compilación.
[6], entre otras opciones. En nuestro
Actualizamos la información de este caso utilizaremos el protocolo ssh, apt-get installU
archivo para NFS basado en algoritmos de cifrado de crip- build-essential gfortran gccU
tografía asimétrica, que utiliza un par de bzip2
exportfs -ra claves pública y privada, y que propor-
ciona medidas de seguridad muy supe- Tabla 3: Parámetros de
Verificamos que se encuentran carga- riores a rsh. No es objeto de este artículo Configuración de MPICH
dos todos los demonios necesarios para explicar en qué consiste este mecanismo
Parámetro Descripción
nfs: de cifrado, pero para los lectores curio-
-prefix Especifica dónde se
sos que deseen más información, hay un
instalará la biblioteca
rpcinfo -p excelente artículo al respecto en la Wiki- -with-device Dispositivo asociado
pedia [7]. ch_p4: Nodos SMP y sistemas
Deben aparecer los servicios nfs, Primero debemos instalar el paquete heterogéneos
mountd y portmap. De no ser así, puede Openssh [8], que es una versión libre globus2: Sistema con globus
instalado.
Tabla 2: Características Equipos ch_shmem: Sistemas basados en
memoria compartida
Tipo Especificaciones Técnicas -with-arch Arquitectura utilizada
Nodo Maestro Pentium III 833 Mhz, 256 Mb Ram, 4 Gb HDD, Tarjeta red 10/100 Mbps -rsh Mecanismo de
Nodos Esclavos Pentium III 833 Mhz, 128 Mb Ram, 4 Gb HDD, Tarjeta red 10/100 Mbps comunicación a utilizar
192.168.0.74:/mnt/compartidoU
/mnt/compartido nfs rw U
0 0
mount /mnt/compartido