Un clúster de computadoras básicamente es un grupo de varias computadoras interconectadas entre sí, que trabajan como una sola unidad. Generalmente, dichas computadoras se interconectan mediante una Red de Área Local (LAN).
Estos clústeres se implementan usualmente para mejorar el rendimiento y/o disponibilidad (dependiendo de la función que se busca mejorar al implementarlo) de lo que fuera utilizar una sola computadora.
Hay 3 tipos de los más comunes:
Alta disponibilidad
Alto rendimiento
Equilibrio de cargas
Los clústeres de alta disponibilidad son simplemente computadoras interconectadas para tratar de mantener servicios compartidos disponibles a todo momento. Son muy útiles en cuestión de redes con poca tolerancia a fallos.
Los clústeres dedicados a equilibrio de cargas son utilizados para asignarse tareas puntuales, sin embargo, utilizados como una sola máquina. Se utiliza mucho en nodos para monitoreo de redes.
Los clústeres de alto rendimiento se enfocan en utilizar la potencia de procesamiento de cada computadora para potenciar el cálculo de algún problema que requiera mayor capacidad. Este tipo de clúster cuenta con un grupo de técnicos especializados para la mejor implementación y desarrollo, quienes aportan ideas a lo que ellos denominan el proyecto “beowulf”. Del nombre del proyecto, nacen los clústeres “beowulf”, término muy comúnmente utilizado para denominar los clústeres de alto rendimiento.
El tema de nuestro proyecto se centra en los clústeres de alto rendimiento, debido a que será útil para la simulación y resolución de ecuaciones de Maxwell complejas.
Clústeres de alto rendimiento: Utilidad
Los problemas de Ingeniería generalmente son estudiados de forma analítica en las universidades en sus materias teóricas. Sin embargo, hay problemas muy complejos, los cuales no se pueden explicar con una simple solución analítica. Es entonces necesario simular ambientes en los que trabajan varias variables para medir el comportamiento de algún parámetro de diseño.
Esta clase de problemas deben ser resueltos por supercomputadoras con alta capacidad de cálculo. El problema es que estas supercomputadoras generalmente son muy caras. Por esta razón, se implementan clústeres de alto rendimiento.
Por medio de un clúster se pueden conseguir capacidades de cálculo superiores a las de una supercomputadora más cara que el costo conjunto de las computadoras del clúster.
Funcionamiento de un clúster de alto rendimiento
Un clúster de alto rendimiento se implementa básicamente con varias computadoras similares de capacidades no necesariamente altas. Las computadoras deben conectarse en una LAN compartida dedicada sólo para el clúster.
Es muy recomendable utilizar el Sistema Operativo Linux en las computadoras, ya que Linux, al ser de código abierto, permite modificar parámetros en el kernel. Esta situación es muy útil si entendemos que cualquier otro Sistema Operativo de código cerrado generalmente culpa al software utilizado por mal funcionamiento, cuestión que fácilmente se podría resolver con un simple cambio en el kernel del Sistema Operativo, pero que por ser de código cerrado, se torna imposible. Para nuestro clúster utilizaremos la distribución Debian, la cual es una de las más utilizadas y más estables que existen actualmente.
El clúster de alto rendimiento opera bajo circunstancias en el que las tareas a procesar se reparten paralelamente a las computadoras. Existen librerías especiales que se necesitan utilizar para que el clúster pueda acceder a esta funcionalidad que es la más importante. El PVM (Parallel Virtual Machine) es utilizado en clústeres con nodos heterogéneos, donde las computadoras tienen diferentes cualidades. El MPI (Message Passing Interface) es utilizado en clústeres con nodos homogéneos.
Conclusiones
Los clústeres pueden minimizar los gastos de una universidad en materia de utilizar varios computadores obsoletos conjuntamente para reemplazar una supercomputadora muy costosa. Nuestra intención es poder utilizar la capacidad de un clúster para la resolución de ecuaciones de Maxwell.
En ese ámbito, utilizaremos un clúster de alto rendimiento, bajo Linux distribución Debian en todos los nodos, debido a que es una de las distribuciones más utilizadas y estables en la actualidad. Linux se vuelve incluso más útil, debido a que, al ser de código abierto, no requiere de licencias costosas, lo cual disminuye el costo de la implementación. Recordemos que el costo también es importante en función de la utilidad del clúster.
Además se utilizará la librería MPI para poder correr paralelamente las computadoras del clúster.
No comments yet.
RSS feed for comments on this post. TrackBack URL