Clúster de alto rendimiento con OpenMosix.pdf


Vista previa del archivo PDF cluster-de-alto-rendimiento-con-openmosix.pdf


Página 1 2 34543

Vista previa de texto


Clúster de alto rendimiento con OpenMosix

Introducción
El objetivo de nuestro proyecto consiste en implementar un cluster de alto rendimiento
mediante el manejo de máquinas de recursos básicos. Pudiendo llegar a crear con ellas una
supercomputadora con capacidad de cálculo alta y bajo coste.
En estos tipos de clústers, la carga se reparte entre los disitntos nodos para que el tiempo de
proceso sea menor. Siempre sería 1/n(nodos).
Los clúster surgieron como solución a ciertos problemas que se presentaban a la hora del
cómputo de alto nivel. Había empresas que necesitaban equipos que pudieran realiza tareas pesadas
en un corto espacio de tiempo; y esto collevaba a que lo costos de compra y mantenimiento de
equipos con estás características eran muy altos y costosos. De ahí surgió la idea de conectar dos
equipos medios y convertirlos en uno solo, con la capacidad de cómputo sumáda de los dos.
Lo cierto es que el origen de las tecnologías de clúster no se sabe con seguridad, aunque está
aproximado a los años 50 y principios de los 60.
Hacia el año 1967 Gene Amdahl de IBM, publico la conocida ley de Amdahl, la cual
describía matemáticamente el aceleramiento que se puede dar a una tarea cuando la paralelizamos.
Esta ley se convirtió en la base de la computación de multiprocesador y clúster.
Actualmente los clúster son ampliamente utilizados para proyectos con gran capacidad de
cálculo, por lo que suelen estar limitados a universidades y centros de proceso de cálculo a gran
escala.
Hay una curiosidad en cuanto a los clúster interesante: aprovechando el concepto de
computación distribuida, la universidad de Berkley en California (EE.UU.) ha creado el proyecto
SETI para buscar vida extraterrestre. Este proyecto consiste en que cualquiera que quiera participar
en él puede descargar un pequeño software e instalarlo en su equipo. Este sofware se activa cuando
no se está usando el equipo y convierte a este en un nodo del clúster el cual procesa imágenes y
datos obtenidos por telescopios y sondas en el espacio, mandando los resultados obtenidos a la
central del proyecto. Con esto se intenta que el procesamiento de los datos, el cual sería muy pesado
para un clúster convencional, crezca de manera espectacular debido a los millones de personas que
participan en el proyecto a pequeña escala. (Para más información se puede consultar la página del
proyecto: http://setiathome.ssl.berkeley.edu/)

Conceptos básicos
Qué es un clúster de alto rendimiento
Un clúster es un conjunto de computadoras que trabajan como una única, conectadas entre sí
por una red. Se conectan de forma coordinada y centralizada para procesar una mayor carga que la
que podría soportar una máquina sola.
Cada máquina por separado se denomina nodo, por lo que para que el clúster funciona ha de
tener 2 o más nodos conectados entre sí.
Para llevar a cabo esto se requiere un parche en el kernel (lo que hace que prácticamente casi
todos los clúster que existen el mercado sean bajo el núcleo de unix). Este parche hace que el
sistema reconozca las computadoras añadidas como parte del clúster y que se pueda llevar a cabo la
migración y el balanceo de los procesos. También permite que se lleve una monitorización de los
diferentes procesos que realiza el clúster así como de la gestión de memoria y del procesador.