PDF de programación - Diseño e implementación de un clúster de cómputo de alto rendimiento

Imágen de pdf Diseño e implementación de un clúster de cómputo de alto rendimiento

Diseño e implementación de un clúster de cómputo de alto rendimientográfica de visualizaciones

Publicado el 2 de Febrero del 2021
504 visualizaciones desde el 2 de Febrero del 2021
653,1 KB
10 paginas
Creado hace 12a (17/11/2011)
U n i v e r s i d a d d e G u a n a j u a t o

Diseño e implementación de un clúster de
cómputo de alto rendimiento
José de Jesús Rocha Quezada*, Salvador Botello Rionda*, José Miguel Vargas Félix*,
Iván Agustín Munguía Torres*

RESUMEN

Este trabajo presenta el diseño, construcción y configuración de un sistema de computa-
doras agrupadas en un arreglo tipo clúster, el cual tiene un bajo costo y es comúnmente
utilizado para resolver problemas que demandan grandes capacidades de cómputo, tanto
de memoria como de procesamiento. En general estas tecnologías son costosas, pero en
este trabajo se presenta una alternativa económica. Estos problemas no pueden ser re-
sueltos en computadoras aisladas debido a la gran cantidad de datos que involucran y a
la cantidad de operaciones numéricas que se requieren realizar. En este trabajo se mues-
tran resultados en aplicaciones numéricas que tienen gran utilidad práctica (Mecánica
de Solidos, Mecánica de Fluidos, Problemas Térmicos, etc.), en donde se refleja un buen
desempeño y un adecuado uso de los recursos computacionales. El clúster mencionado
en este trabajo ofrece una excelente capacidad de cómputo a un bajo costo.

aBSTRaCT

This paper presents the design, construction and configuration of a computer system
in a cluster type setup, which has a low cost and is commonly used to solve problems
that require large computing capabilities, both memory storage and processing. In gen-
eral, these technologies are expensive, but this paper presents a low-cost alternative.
These problems cannot be solved on isolated computers due to the large amount of data
involved and the amount of numerical operations required to perform. In this paper we
show numerical results in applications that have great practical utility (Solid Mechanics,
Fluid Mechanics, Thermal Problems, etc…), which reflect good performance and proper
use of computational resources. The cluster mentioned in this paper provides excellent
computing power at low cost.

Recibido: 1 de septiembre de 2011
Aceptado: 17 de noviembre de 2011
Artículo de Revisión

INTRoDUCCIóN

Los problemas actuales de modelación numérica requieren gran capacidad de cómputo. Si bien las com-
putadoras personales son cada vez más rápidas y eficientes, para obtener un buen resultado en este tipo
de aplicaciones se requiere mucha mayor capacidad de procesamiento y memoria. Para poder resolver pro-
blemas de modelación numérica, por ejemplo de yacimientos petroleros, mecánica de fluidos, mecánica de
sólidos, solución de ecuaciones diferenciales parciales, entre otros, es necesario disponer de la capacidad de
cómputo ofrecida por un clúster de computadoras. Este trabajo presenta el diseño, construcción y configu-
ración de un sistema de computadoras agrupadas en una distribución tipo clúster, así como resultados de
su aplicación a problemas reales.

Palabras clave:
Clúster; física computacional, programación
en paralelo; OpenMP; MPI; Mecánica de Só-
lidos; problemas térmicos.
Keywords:
Cluster; computational physics; parallel pro-
gramming; OpenMP; MPI; Solids Mechanics;
heat diffusion.

Definición y estructura de un clúster

Un clúster de computadoras se puede definir como un conjunto o conglomera-
do de computadoras, construidas con componentes de hardware comunes, que
se comportan como una única computadora (figura 1).

**Centro de Investigación en Matemáticas, A.C. Callejón Jalisco s/n. Valenciana, Guanajuato, Gto., México. C.P 36240. Teléfono: (473) 732-7155, Fax (473) 732-5749. Correos electrónicos:
[email protected], [email protected], [email protected], [email protected].

24

Vol. 21 No. 3 Septiembre-Diciembre 2011

U n i v e r s i d a d d e G u a n a j u a t o

Figura 1. Clúster de cómputo de tipo Beowulf.

Un clúster es entonces un conjunto de computa-
doras, llamadas nodos, que están conectados entre sí
a través de una red de cómputo de alta velocidad. Un
ejemplo de este tipo de clústers son los clúster tipo
Beowulf [8] como el que se muestra en la figura 1.

Cada nodo del clúster cuenta con varios procesado-
res y bancos de memoria, los cuales están interconec-
tados ente sí. Los procesadores modernos son multi-
núcleo (o multi-core), cada núcleo es una unidad de
procesamiento independiente. Esto es, cada procesa-
dor (chip, o encapsulado) contiene dos o más núcleos.

La velocidad de acceso a la memoria en el clúster
se acelera por medio de memoria llamada caché, la
consistencia de los datos entre los procesadores, los
bancos de memoria y la memoria caché se mantie-
ne por medio de circuitos de coherencia de caché. En
la figura 2 se puede ver un diagrama esquemático de
una configuración de un clúster de cuatro nodos.

De manera lógica, cada nodo del clúster tiene una
parte de hardware y otra de software. El hardware está
compuesto por procesadores, memoria, interfaz de red
y discos duros entre otros. En cuanto al software, el
nivel bajo corresponde al sistema operativo, el medio
consiste en las librerías de paralelización y el alto está
representado por la aplicación que se desea ejecutar
en el clúster.

La red de comunicaciones entre los nodos juega un
papel muy importante en la eficiencia del equipo. Un
switch de red normal no es suficiente, se debe elegir un
switch especializado considerando el gran volumen de
datos y la velocidad con la que son requeridos. Existen
switch de alta velocidad de transmisión de datos tipo
Infiniband pero son demasiado costos y su utilización
puede limitar sustancialmente el poder de cómputo de
un clúster. Es esencial realizar una buena selección
del tipo de switch a utilizar a fin de garantizar un bajo
tiempo de latencia (tiempo de espera al enviar datos
de un nodo a otro) y capacidad de memoria intermedia
para evitar congestionamiento y pérdida de datos.

Una aplicación o programa diseñado para ejecu-
tarse en un clúster se ejecuta en el nodo maestro,
el sistema operativo y la librería de paralelización se
encargan de ejecutar copias de este programa en los
nodos esclavos del clúster. Todas estas instancias de
la aplicación se ejecutan en paralelo y trabajan en
conjunto enviándose datos para colaborar en el cálcu-
lo de la solución final.

MéToDoS

A continuación se presenta el diseño y la implementa-
ción del clúster que fue construido y se encuentra ac-
tualmente funcionando en el Centro de Investigación
en Matemáticas CIMAT [2]. El nombre que se le dio al
clúster fue “El Insurgente” en honor al Bicentenario
de la independencia de México.

Figura 2. Diagrama esquemático de los componentes del clúster.

Figura 3. Emblema del clúster El Insurgente del CIMAT

Vol. 21 No. 3 Septiembre-Diciembre 2011 25

U n i v e r s i d a d d e G u a n a j u a t o

son más económicos que los de fibra óptica. Es muy
importante que la persona que construya el clúster
conozca a fondo los componentes y configuraciones
físicas y lógicas que se van a utilizar tanto de red como
de las computadoras.

Software: El sistema operativo debe constar con
servicios dedicados para compartir y respaldar archi-
vos, así como capacidad de acceder a los datos de tra-
bajo rápidamente. El sistema operativo debe también
proveer servicios de monitoreo y reporte de fallas en
el sistema. Es posible cubrir estos requerimientos con
Windows HPC, sin embargo, el costo de esta versión
de Windows es alto. La alternativa es utilizar alguna
distribución de Linux.

Después de probar diferentes distribuciones, se
eligió Rocks Clusters System. Ésta distribución es fá-
cil de instalar y configurar, además de tener la ventaja
de ser un software libre con licencia "open source".
Rocks Clusters System está basado en RedHat En-
terprise Server 5. Se debe poner especial atención en
configurar el nodo maestro que sirve como nodo de
autenticación para red exterior. En cuanto a compi-
ladores, se instaló GCC de GNU el cual también es
software libre.

Hardware: Los nodos deben ser altamente esca-
lables y dedicados a trabajar por largos periodos de
tiempo, deben de contar con más de un procesador y
tener una muy eficiente velocidad de procesamiento.
Por lo tanto se seleccionó una arquitectura multi-nú-
cleo de 64 bits compatible con x86_64, la cual cuenta
con mayor capacidad de direccionamiento de memoria
que las computadoras de 32 bits (el límite de estas
últimas es de 4GB).

Interconexión: Se debe considerar también el tipo
de cableado a utilizar para conectar los nodos. Estos
van desde cable UTP de cobre hasta fibra óptica. Por
cuestión económica seleccionamos el estándar UTP de
cobre con la norma IEEE 802.11 con la categoría de
cableado 5e. Los switches que se adquirieron fueron
de una velocidad de 1000 Gbps. El primero que se
probó era de poca eficiencia en el ciclo interno y sin
soporte de cargas masivas de intercambio de datos
entre los puertos. Cuando se ejecutaron los procesos
en el clúster, el switch se colapsaba debido a que sus
recursos internos de memoria no eran suficientes. Se
tomó la decisión de remplazar el switch por uno admi-
nistrable, eficaz y rápido en el intercambio de informa-
ción entre los puertos, con un ancho de banda interno
alto y con una arquitectura sin bloqueos.

Almacenamiento: En caso de que los dispositivos
de almacenamiento no basten para contener los datos
de trabajo, se debe considerar la instalación de siste-
mas de discos de red. En nuestro caso utilizamos un

Diseño del clúster

Consideraciones

Al diseñar el clúster se consideraron los siguientes as-
pectos:

Economía y mantenimiento: Utilización de com-
ponentes de bajo costo y además fácilmente reempla-
zables. Los componentes deben ser lo suficientemente
comunes para poder ser reemplazados a un costo ra-
zonable en caso de fallo. Nosotros optamos por equip
  • Links de descarga
http://lwp-l.com/pdf18807

Comentarios de: Diseño e implementación de un clúster de cómputo de alto rendimiento (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad