Clúster de alto rendimiento con OpenMosix.pdf


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


Página 1...3 4 56743

Vista previa de texto


Clúster de alto rendimiento con OpenMosix
ejecuta un sistema operativo de libre distribución como Linux o FreeBSD, y se interconecta
mediante una red privada de gran velocidad. Los nodos en el clúster de computadoras no se hayan
en los puestos de trabajo de los usuarios, sino que están totalmente dedicados a las tareas asignadas
al clúster.
El software puede ejecutarse más rápido en un Beowulf si se dedica algún tiempo a
reestructurar los programas. En general es necesario partirlos en tareas paralelas que se comunican
usando alguna librería como MPI o PVM, o sockets como SysV o IPC. Con ellas se permite el
hecho de partir los procesos a realizar en partes más pequeñas las cuales son controladas por un
nodo master, el cuál reparte la carga entre los demás nodos en función de la capacidad de cómputo
que tengan y de la carga que tengan en ese determinado momento.
En 1994, Donald Becker y Thomas Sterling construyeron la primera Beowulf. Fue
construida con 16 computadores personales con procesadores Intel DX4 de 200 MHz, que estaban
conectados a través de un switch Ethernet. El rendimiento teórico era de 3,2 Gflops.
Debido a que requiere de conocimientos en cuanto a programación y paralelización de tareas
su uso se limita a sistemas muy grandes, como los clúster de centros de alto rendimiento para
procesamiento de datos así como ciertas universidades.

Openmosix
Openmosix es un proyecto que surgió de la separación de los dos principales desarrolladores
de mosix: Ammon Barak: actual desarrollador principal de mosix; y Moshe Bar: quien empezó
Openmosix bajo licencia GPL.
Openmosix es un sistema de clúster para linux que consiste en un parche en el kernel
responsable de las migraciones transparentes de procesos, y unas herramientas de área de usuario,
necesarias para calibrar y administrar el clúster. Esto permite que no tengamos que reprogramar
nuestras aplicaciones para que aprovechen el clúster.
Los procesos no saben en qué nodo del clúster se ejecutan, y es el propio openMosix el
responsable de "engañarlos", y redirigir las llamadas del sistema al nodo del clúster en el que se
lanzó el proceso el cual actúa en ese momento de master.
El parche para el kernel funciona en las versiones 2.4 y 2.6, aunque en esta última solo de
forma experimental. Actualmente el desarrollo del proyecto está parado.
Las ventajas de utilizar openmosix frente a otras arquitecturas de clúster es que no hay que
preocuparse por agregar librerías, no es necesario programar las aplicaciones y cuenta con un
demonio para descubrir nodos de forma automática denominado omdiscd.
Omdiscd se encarga de crear automáticamente una lista con las máquinas existentes en la
red, y de estar escuchando en caso de que haya otros demonios de detección de nodos; así como de
informar al kernel sobre los nodos operativos para la migración de procesos.
Algunas desventajas que ofrece openmosix en comparación a otros es que, como se
mencionó anteriormente tiene un núcleo dependiente; y como no funciona totalmente en el núcleo
2.6 puede dar problemas para el hardware que no soporte la versión de kernel 2.4.
Encuanto a la estructura interna de openmosix utiliza un sistema de archivos propio
denominado oMFS (openMosix File System) que permite que todos los nodos de un clúster tengan
acceso al sistema de archivos de todos los otros nodos