Está en la página 1de 10

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/294872762

Construcción de un cluster de ordenadores utilizando equipos de bajo coste y


software libre

Conference Paper · October 2015

CITATIONS READS

0 1,000

5 authors, including:

J.L.G. Pallero Juan F. Prieto


Universidad Politécnica de Madrid Universidad Politécnica de Madrid
42 PUBLICATIONS   446 CITATIONS    60 PUBLICATIONS   343 CITATIONS   

SEE PROFILE SEE PROFILE

Ramón Alcarria Sandra Martínez-Cuevas


Universidad Politécnica de Madrid Universidad Politécnica de Madrid
184 PUBLICATIONS   1,415 CITATIONS    33 PUBLICATIONS   147 CITATIONS   

SEE PROFILE SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Infraestructura para presentación de información visual de bajo consumo y mantenimiento basada en pantallas de tinta electrónica. View project

mIO!: Tecnologías para prestar Servicios en Movilidad en el Futuro Universo Inteligente View project

All content following this page was uploaded by J.L.G. Pallero on 17 February 2016.

The user has requested enhancement of the downloaded file.


Construcción de un cluster de ordenadores utilizando equipos de bajo coste y software libre

CONSTRUCCIÓN DE UN CLUSTER DE ORDENADORES


UTILIZANDO EQUIPOS DE BAJO COSTE Y SOFTWARE LIBRE

J.L.G. Pallero
ETSI en Topografía, Geodesia y Cartografía, UPM, Madrid, España
jlg.pallero@upm.es
J.F. Prieto
ETSI en Topografía, Geodesia y Cartografía, UPM, Madrid, España
juanf.prieto@upm.es
R. Alcarria
ETSI en Topografía, Geodesia y Cartografía, UPM, Madrid, España
ramon.alcarria@upm.es
S. Martínez Cuevas
ETSI en Topografía, Geodesia y Cartografía, UPM, Madrid, España
sandra.mcuevas@upm.es
Rosa M. García Blanco
ETSI en Topografía, Geodesia y Cartografía, UPM, Madrid, España
rosamaria.garcia@upm.es

Para citar este trabajo:

Pallero, J.L.G.; Prieto, J.F.; Alcarria, R.; Martínez Cuevas, S. y García Blanco,
R.M. (2015). Construcción de un cluster de ordenadores utilizando equipos de
bajo coste y software libre. En Ruiz-Palmero, J.; Sánchez-Rodríguez, J. y
Sánchez-Rivas, E. (Edit.). Innovaciones con tecnologías emergentes. Málaga:
Universidad de Málaga.

Palabras clave:

Diseño de sistemas, miniordenador, red informática, software de código abierto.

-1-
Construcción de un cluster de ordenadores utilizando equipos de bajo coste y software libre

Resumen:

En este trabajo se describen los pasos necesarios para la construcción de un


cluster de ordenadores utilizando equipos de bajo coste y software libre, con el
propósito de ser utilizado en próximos cursos como herramienta en la
enseñanza de computación de alto rendimiento en el ámbito universitario. Con
base en un una comunicación de una edición anterior de este mismo congreso,
se detalla la construcción real del dispositivo, su configuración y su coste final,
demostrando la viabilidad y funcionalidad del proyecto.

1. INTRODUCCIÓN
En el 3er Congreso Internacional sobre Buenas Prácticas con TIC, en Pallero y
otros (2013) se presentó una propuesta de docencia en computación de alto
rendimiento basada en la utilización de equipos informáticos de bajo coste y
software libre. En dicho trabajo se hacía una descripción general de lo que es
un superordenador, sus ámbitos de utilización y la pertinencia de su empleo
como una herramienta docente más en Ciencia e Ingeniería. Con el fin de
facilitar el acceso a este tipo de dispositivos, se proponía la construcción de un
cluster a partir de los denominados Single Board Computer (SBC), equipos de
bajo coste (pero de relativa alta potencia) en auge en el mundo informático en
los últimos años.
En el trabajo citado se hacía un análisis de las características técnicas de tres
SBC de bajo coste y fácil adquisición en el mercado, analizando la relación
potencia/precio de cada uno de ellos, parámetro que finalmente fue el definitivo
a la hora de la selección del dispositivo a utilizar. A continuación, se exponían
las directrices generales para el montaje y se estimaba del coste. Finalmente,
se enumeraban una serie de materias en las cuales la utilización el cluster
como herramienta docente podría ser útil.
En el presente trabajo se detallan el montaje y configuración de un cluster de
dos computadoras, que es el esquema mínimo de un sistema de este tipo,
siguiendo las directrices propuestas en Toth (2014, 2015) e indicando el coste
de todos los elementos necesarios. Las configuraciones a nivel de sistema
operativo son mínimas (apenas la modificación de un único fichero en el caso
de necesitar acceso remoto), por lo que no son necesarios conocimientos
avanzados de redes ni sistemas para operar con el sistema. Como quedó
indicado en Pallero y otros (2013), se demuestra que por un precio reducido se
pueden replicar fácilmente la arquitectura y funcionalidades de un cluster de
computadoras de alto rendimiento. Si bien no se consigue un dispositivo con el
mismo nivel de eficiencia que una máquina de producción, se considera que
este factor no es determinante para una correcta docencia, por lo que no afecta
a la utilidad en el aula de la computadora.

-2-
Construcción de un cluster de ordenadores utilizando equipos de bajo coste y software libre

2. HARDWARE UTILIZADO
En esta sección se describe el hardware utilizado para la construcción y puesta
en marcha del cluster. De entre los distintos esquemas existentes, y siguiendo
a Toth (2014,2015), en este trabajo se ha empleado el más simple, es decir, el
formado por únicamente dos nodos de cálculo.

Figura 1: Esquema del cluster de trabajo.

En la Figura 1 se muestra la arquitectura general del cluster. Los nodos de


cálculo se comunican a través de una red ethernet que pasa a través de un
switch, mientras que el acceso por parte del usuario a dichos nodos puede
realizarse directamente, dotándolos (a uno o a ambos) de un monitor y un
teclado, o bien a través de una conexión remota desde otro PC. Este último
método es el más común en un entorno de producción real.
En las siguientes subsecciones se hará una descripción de todos los elementos
de hardware empleados en la construcción del cluster. En la Figura 2 se
muestra el cluster montado y listo para usar.

2.1. NODOS: SINGLE BOARD COMPUTERS


En la propuesta original de Pallero y otros (2013) se contemplaba la utilización
del SBC ODROID-U2 (OdroidU2, 2015), que había sido seleccionado de entre
varias opciones debido a que presentaba la mejor relación potencia/coste.
Actualmente, dicho modelo no se comercializa, habiendo sido sustituido por
parte del fabricante por el SBC ODROID-U3 (OdroidU3, 2015), el cual, en
cuanto a características técnicas se refiere, es prácticamente idéntico al
ODROID-U2, por lo que todo lo indicado en Pallero y otros (2013) sigue siendo
válido en este caso. Sus especificaciones principales son:
1. Procesador: Exynos4412 Prime Cortex-A9 Quad Core, 1.7 GHz.
2. Memoria: 2 GB.
3. Sistema de almacenamiento: Tarjeta Micro SD.
4. Puertos: 3 USB 2.0 y 10/100 Ethernet, entre otros.
5. Consumos estándar y máximo: 5 W/10 W.
6. Sistema operativo: Android, Ubuntu o Debian GNU/Linux.

-3-
Construcción de un cluster de ordenadores utilizando equipos de bajo coste y software libre

La frecuencia del procesador puede ser incrementada hasta los 2.0 GHz,
aunque en este caso sería necesaria la utilización de un ventilador que
ayudase a disipar el calor generado, aumentando también la energía
consumida por el conjunto. En este trabajo, los SBC trabajarán a su frecuencia
nominal de 1.7 GHz.

2.2. RED DE COMUNICACIONES


El SBC ODROID-U3 viene equipado con un puerto 10/100 Ethernet, es decir,
de una velocidad máxima de transferencia de 100 Mbps. Teniendo en cuenta
esta limitación, se ha elegido como switch el dispositivo TP-LINK TL-SF1008D
10/100 Mbps de 8 puertos. Se dispone así de un switch que aprovecha todas
las capacidades del SBC y se reduce al mínimo el coste (existen modelos con
menos puertos, pero se ha optado por el de 8 en vistas a futuras ampliaciones
en el número de nodos). El TP-LINK TL-SF1008D es fácil de encontrar, tanto
en tiendas especializadas como en grandes superficies.
En cuanto al cableado UTP, se ha optado por un cable de par trenzado de
categoría 5, que garantiza una velocidad mínima de transmisión de datos de
100 Mbps, estando en consonancia con el switch y el puerto ethernet del SBC.
El cableado necesario incluye tres unidades: dos para la conexión de cada
SBC al switch y un tercer cable opcional para la conexión del nodo de acceso,
si se utiliza, también al switch.

2.3. SISTEMA DE ALIMENTACIÓN


Cada SBC ODROID-U3 requiere de una fuente de alimentación capaz de
entregar 5 V y 2 A para su correcto funcionamiento. Si bien, de acuerdo a la
información ofrecida en http://www.hardkernel.com, el consumo normal es de 5
W, en algunos casos (uso de periféricos USB, ventilador, etc.) éste puede llegar
a los 10 W.
Para el montaje del cluster, y con vistas a futuras ampliaciones, se ha optado
por utilizar una fuente de alimentación ENSTICK GS-150-5, con salida de 5V y
30 A (EntsGS150, 2015, código MUA1510501). Este modo de proceder tiene
dos ventajas fundamentales:
1. Reduce el cableado y la necesidad de tomas de corriente en
comparación con la utilización de fuentes de alimentación individuales
para cada SBC. Este aspecto es especialmente importante si el cluster
tiene muchos nodos.
2. Se han instalado las conexiones necesarias para la utilización de un
amperímetro y, de esta forma, tener una medida real de la energía
consumida por el cluster en funcionamiento.

-4-
Construcción de un cluster de ordenadores utilizando equipos de bajo coste y software libre

Como contrapartida, el coste de la fuente utilizada es superior al de dos fuentes


individuales para el caso particular de este trabajo, en el que se utilizan
únicamente dos SBC. Además, se requieren conocimientos técnicos de
electricidad para realizar las soldaduras y conexiones necesarias, por lo que si
se carece de ellos la opción adecuada es el uso de fuentes individuales para
cada SBC.

3. SISTEMA OPERATIVO Y CONFIGURACIÓN


Existen varias configuraciones de disco duro para el montaje de un cluster de
computadoras. Entre ellas, los dos extremos son (Beowulf, 2015):
1. Instalación sin disco duro. En este esquema, los nodos no disponen de
disco duro, el cual sólo está presente en un nodo maestro, que se
encarga de servir el sistema de ficheros y los programas ejecutables a
los nodos de trabajo. Esta configuración tiene como ventaja la facilidad
de administración y ampliación del cluster, mientras que adolece de la
generación de un mayor tráfico de datos a través de la red que otros
esquemas de montaje.
2. Instalación completa en cada nodo. Cada nodo dispone de su disco
duro, donde está instalado el sistema operativo completo y todos los
programas a ejecutar. Como ventaja de esta configuración, cabe citar
que se disminuye el tráfico de red con respecto al modo de nodos sin
disco duro. En cambio, el mantenimiento y ampliación del cluster se
vuelve mucho más complejo.
En este trabajo, cada nodo dispondrá de su disco duro, en el cual se realizará
una instalación completa del sistema operativo.
En Toth (2015) se pueden encontrar varias imágenes de disco duro (para
tarjetas de al menos 16 GB de capacidad) configuradas para el montaje de un
cluster de dos SBC. Las imágenes correspondientes al SBC ODROID-U3
tienen instalado el sistema operativo Ubuntu 13.10, así como todas las
herramientas de desarrollo para la programación en C/C++ y la interfaz de paso
de mensajes MPI. Una vez descargadas, se copian en sendas tarjetas MicroSD
de al menos 16 GB y están listas para usar.
Introducidas las tarjetas de memoria, los SBC se conectan al switch y a la
fuente de alimentación. Para el acceso al sistema hay que conectar un monitor,
un teclado y un ratón al menos a uno de los nodos (a cualquiera de los dos) o a
ambos. El sistema nos pedirá las credenciales de acceso. Ambos nodos tienen
el mismo usuario (odroid), con la misma contraseña (odroid).
Por defecto, las instalaciones descargadas proveen un programa de prueba,
tanto en código fuente en lenguaje C (hellompi.c) como ya compilado, para

-5-
Construcción de un cluster de ordenadores utilizando equipos de bajo coste y software libre

verificar el correcto funcionamiento del cluster. Dicho programa imprime en


pantalla información detallada acerca del hilo de ejecución (su identificador y el
nodo al que pertenece) y se encuentra en el directorio del usuario en los dos
nodos de trabajo. Conviene recalcar que, según el esquema que estamos
utilizando de nodos con su propio disco duro e instalación completa del sistema
operativo, todos los ejecutables del usuario han de estar presentes en todos los
nodos del cluster. Para ello, es necesario compilar cualquier programa del
usuario en todos los nodos o bien hacerlo sólo en uno y copiar el ejecutable en
el otro.
El objetivo de este trabajo no es servir de tutorial sobre programación con MPI
en entornos de memoria distribuida, por lo que el usuario interesado deberá
dirigirse a alguna de las múltiples referencias que sobre este tema existen. A
modo de ejemplo, un buen texto es Gropp (2014).
La compilación del código en entornos MPI ha de llevarse a cabo con las
herramientas que provee el propio entorno de paso de mensajes, las cuales
hacen la llamada correcta al compilador y a todas las bibliotecas necesarias
para una correcta generación del ejecutable. Tomando como base el programa
de ejemplo de la instalación del cluster, la orden de compilación sería
mpicc hellompi.c ­o hellompi1
Esta orden genera un ejecutable llamado hellompi1 (las dos instalaciones
descargadas de Toth (2015) ya contienen por defecto el ejecutable, llamado
hellompi) que, como se ha indicado anteriormente, debe estar presente en
los dos nodos de trabajo. La ejecución del programa ha de llevarse a cabo
también a través de una interfaz específica del entorno MPI que, en este caso,
podría ser
mpiexec ­n 8 ­f machinefile ./hellompi1
El programa mpiexec recibe dos argumentos que definen el entorno de
ejecución en cuanto al número de procesadores a utilizar. Con el primero de
ellos, ­n 8, se indica el número de procesadores que se usarán (en este caso
se ha indicado el máximo, que es 8, ya que cada ODROID-U3 dispone de 4
núcleos). Con el segundo, ­f machinefile, se indica un fichero en el que
está definido el número máximo de procesadores a usar por cada nodo. Si bien
esta última opción no es necesario usarla explícitamente, en esta instalación
del cluster sí se requiere (el fichero machinefile ya viene preparado en el
directorio del usuario de cada SBC). El resultado de la ejecución del programa
anterior, que puede ser invocado desde cualquiera de los dos nodos de trabajo
que forman la máquina, es
odroid@odroidtop:~$ mpiexec ­n 8 ­f machinefile ./hellompi
Hi.  I'm processor odroidtop, rank 0 of 8

-6-
Construcción de un cluster de ordenadores utilizando equipos de bajo coste y software libre

Hi.  I'm processor odroidtop, rank 2 of 8
Hi.  I'm processor odroidtop, rank 3 of 8
Hi.  I'm processor odroidbottom, rank 5 of 8
Hi.  I'm processor odroidbottom, rank 6 of 8
Hi.  I'm processor odroidtop, rank 1 of 8
Hi.  I'm processor odroidbottom, rank 4 of 8
Hi.  I'm processor odroidbottom, rank 7 of 8
Como se puede comprobar, el programa funciona correctamente y muestra
información de cada procesador utilizado (los identificadores de cada uno de
ellos, etiqueta rank, no tienen por qué aparecer de menor a mayor), así como el
nombre del nodo al que pertenecen.
El proceso de compilación y ejecución seguido hasta aquí es idéntico para
cualquier programa que el usuario desee ejecutar.

3.1. CONFIGURACIÓN PARA ACCESO REMOTO


Si bien, como se ha dicho previamente, una manera de acceder al cluster es a
través de un monitor, un teclado y un ratón conectados a uno o ambos nodos,
en entornos reales de producción el procedimiento más común es hacerlo
mediante conexión remota, a partir del PC del propio usuario. Para ello, es
necesario conocer la dirección IP del nodo al que queramos acceder. Los
nodos de la instalación utilizada tienen establecida la siguiente configuración de
red:
• Nodo odroidtop
iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0
gateway 192.168.1.1
• Nodo odroidbottom
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1
Existen dos formas de realizar la configuración para acceso remoto: (1)
reconfigurando los parámetros de red de los SBC, y (2) adaptando la
configuración del PC desde el que queremos acceder a la configuración de los
SBC. En nuestro caso, por ser la más sencilla, optamos por la segunda opción.
Abrimos el fichero /etc/network/interfaces de nuestro PC (que ha de
correr bajo un sistema compatible con UNIX) y añadimos las siguientes líneas:

-7-
Construcción de un cluster de ordenadores utilizando equipos de bajo coste y software libre

iface eth0 inet static
address 192.168.1.3
netmask 255.255.255.0
gateway 192.168.1.1
De este modo, utilizamos los mismos parámetros de red que el cluster, siendo
la nueva dirección IP de nuestro PC la 192.168.1.3. A continuación,
conectamos el PC al switch, reiniciamos la conexión de red y ya podemos
conectarnos de forma remota a cualquier nodo del cluster por medio de la
orden
ssh odroid@192.168.1.X
donde X se ha de sustituir por el número correcto de la IP del nodo al que
queramos acceder. Una vez conectados, el cluster se opera con normalidad.

4. COSTE TOTAL DEL SISTEMA


En lo que sigue, se detalla el coste de cada uno de los elementos utilizados en
la construcción del cluster:
• 2 SBC ODROID-U3: 68.39 € (septiembre de 2014).
• 2 tarjetas MichoSD Kingston, 16 GB, clase 10: 12.70 €.
• Fuente de alimentación ENSTICK GS-150-5: 75.08 €.
• Switch TP-LINK TL-SF1008D 10/100 Mbps: 12.27 €.
• Cable de red ethernet clase 5 conectores RJ-45: 10.29 €.
• Tornillería, electrónica y cables de alimentación: 24.11 €.
Total: 202.80 €.

Figura 2: Cluster montado, listo para usar.

-8-
Construcción de un cluster de ordenadores utilizando equipos de bajo coste y software libre

5. CONCLUSIONES
En este trabajo se ha detallado el montaje básico y configuración de un cluster
de 2 SBC ODROID-U3, utilizando el sistema operativo Ubuntu 13.10 a partir de
imágenes preconstruidas disponibles en la red, detallando la configuración
necesaria para el acceso en modo remoto a partir de otro PC. Para el
suministro de energía, se ha optado por la adaptación de una fuente de
alimentación con potencia suficiente que permita posteriores ampliaciones.
Como trabajos futuros, se pretende introducir el cluster como herramienta
docente en la ETSI en Topografía, Geodesia y Cartografía en futuros cursos
académicos, en la enseñanza de materias relacionadas con los métodos
numéricos y en aquéllas en las que se trabaja con problemas que requieren de
una alta capacidad de cálculo. También se propone la redacción de un pequeño
tutorial con instrucciones detalladas del montaje y configuración del cluster.

6. REFERENCIAS
Beowulf (2015) http://www2.ic.uff.br/~vefr/research/clcomp/Beowulf-Installation-
and-Administration-HOWTO-4.html#ss4.1 (visitado el 01/09/2015).
EntsGS150 (2015) http://www.micropik.com/pag_varios_mod_fuentes_lineales.htm
(visitado el 01/09/2015).
Gropp, W.; Lusk, E. y Skjellum, A (2014). Using MPI. Portable Parallel
Programming with the Message-Passing Interface. Cambridge: The MIT Press.
OdroidU2 (2015) http://www.hardkernel.com/main/products/prdt_info.php?
g_code=G135341370451 (visitado el 01/09/2015).
OdroidU3 (2015) http://www.hardkernel.com/main/products/prdt_info.php?
g_code=G138745696275 (visitado el 01/09/2015).
Pallero, J.L.G.; Martínez Cuevas, S. y García Blanco, R.M. (2013). Propuesta
de docencia en computación de alto rendimiento utilizando equipos de bajo
coste. En Sánchez, J.; Ruiz, J. y Sánchez, E. (Coords.). Buenas prácticas con
TIC en la investigación y la docencia. Málaga: Universidad de Málaga.
Toth, D. (2014). A Portable Cluster for Each Student. Proceedings of the Fourth
NSF/TCPP Workshop on Parallel and Distributed Computing Education
(EduPar-14). Phoenix, USA.
Toth, D. (2015). http://web.centre.edu/david.toth/portablecluster/ (visitado el
01/09/2015).

-9-

View publication stats

También podría gustarte