Clusters Computacionales con Linux
Beowulf es el nombre que recibe en general las técnicas y procedimientos para usar Linux en modo de cluster computacional. Una página de referencia puede ser :
http://lcic.org/computational.html
Hay librerias y API's al respecto, siendo las más conocidas las MPI (Message Passing Interface ) y las PVM (Parallel Virtual Machine) para el desarrollo de aplicaciones en cluster. Una variación interesante es el uso de los módulos MOSIX, los mismas actúan básicamente a nivel del sistema operativo que a nivel de la aplicación, es decir, son parte del kernel, finalmente las aplicaciones se montan sobre ésta capa y corren de manera distribuida sobre una gran cantidad de equipos, sin necesidad de hacer cambios en las aplicaciones. En cambio, en clusters tipo Beowulf se requiere que cada aplicación o problema sea programado especialmente para ello con ayuda de las librerías MPI y/o PVM. Con MOSIX se obtiene una capa adicional sobre la cual los procesos corren en diversas computadoras, cada proceso es atendido por una computadora, se hace un balance de carga derivando cada proceso nuevo a la computadora con menos carga. Las técnicas de clusters Beowulf logran en cambio que un único proceso corra en simultáneo en varios sistemas.
Si se trata de resolver un problema que implique la ejecucion de miles de procesos pequeños entonces tal vez sea más sencillo resolverlo con MOSIX, pero si se trata de un solo proceso que necesita una gran cantidad de cómputo entonces sería mejor el uso del esquema Beowulf lo cual implica el desarrollo de la aplicación respectiva y adaptarla a las librerias de clustering, es decir, las MPI o PVM.
Una herramientas bastante popular para el desarrollo de un cluster Beowulf es OSCAR:
http://oscar.openclustergroup.org/tiki-index.php
otra es Rocks: http://www.rocksclusters.org
En MOSIX se puede visualizar una gran cantidad de nodos como si fueran uno solo, administrados por una consola maestra. Existen varias distribuciones Linux que ya vienen con MOSIX integrado al Kernel y permiten tener en poco tiempo un cluster, pueden ver más información en:
http://openmosix.sourceforge.net
en particular hay una basada en Knoppix llamada Cluster Knoppix
http://bofh.be/clusterknoppix
Hollywood usa clusters computacionales para desarrollar los efectos especiales de muchas de sus películas, y por supuesto el sistema operativo que utiliza es Linux por un tema de costos y eficiencia, el renderizado de cada cuadro de una película se distribuye en cada nodo permitiendo una ejecución en paralelo. Una distribución que permite ésto es Dynabolic usando MOSIX
http://dynebolic.dyne.org
Hasta hace poco sólo se podía disponer de los módulos de MOSIX para el kernel 2.4, pero felizmente ya está disponible también para kernel 2.6
Grid Computing
El tema de Grid Computing es toda una metodologia de trabajo en red con arquitecturas y protocolos bien definidos, las computadoras se agrupan más allá del dominio de una LAN como sucede con los clusters Beowulf para agrupar virtualmente a equipos de todo el mundo, se hacen necesario entonces diversos controles de acceso y seguridad. Lo interesante es que el poder de computo de la Grid de hace accesible desde cualquier punto de la red. Haciendo una analogía con el servicio eléctrico, ya no es necesario que cada uno tenga un generador de corriente en casa, es simplemente tener un tomacorriente y un gran proveedor de energía. La Grid permite que instituciones de menos recursos tengan acceso a poder computacional de forma remota, o que diversas instituciones puedan unir sus recursos computacionales para obtener uno más poderoso. Grid computing no necesariamente busca ejecutar una aplicación en paralelo, el principal objetivo es hacer un uso más eficiente de los recursos computacionales de la red asignándoles trabajos a los equipos más ociosos. De las 24 horas del día sólo una fracción del tiempo es usado el poder de cómputo de un equipo, ¿porqué no usar ésta capacidad el resto del día?. En:
http://www.gridcomputing.com
se puede encontrar más información sobre el tema de Grid Computing. El site de IBM tiene también unos PDF's muy buenos al respecto:
http://publib-b.boulder.ibm.com/cgi-bin/searchsite.cgi?query=grid+computing+
Las ciencias matemáticas, físicas, ingenierías, etc, necesitan en determinados problemas de un alto nivel computacional que se puede lograr a bajo costo usando ésta tecnología. Ésta ciencia nació en las universidades y ahora se le encuentra en entornos comerciales, la mayoría de veces para efectos de balancear carga en congestionados servicios web, también la está aplicando Oracle en su base de datos con el producto Oracle 10g. Por supuesto que no todos los problemas se pueden resolver con Grid, sólo son algunos los que encajan en éste esquema.
IBM está contribuyendo (junto a otros fabricantes como HP, Intel y Sun) a la estandarización de protocolos y librerías que permitan crear una Grid a escala mundial, todo éste trabajo se puede ver en la página de la aplicación Globus el cual es considerado el estándar "de facto" para aplicaciones Grid:
http://www.globus.org/
y el kit de programación de Globus está en:
http://www-unix.globus.org/toolkit/
Globus es un middleware, es decir, es una interface que se ubica entre los recursos finales (las computadoras) y la aplicación de usuario. Es una mezcla de C con Java, Globus afirma que sigue el estándar OGSI (Open Grid Services Infrastructure). Problemas que se pueden resolver con Globus están en:
http://www.globus.org/research/applications/
IBM tiene su versión de éste mismo toolkit con la diferencia que es mucho más fácil de instalar
http://www-106.ibm.com/developerworks/grid/library/gr-develop/
lamentablemente sólo está preparado para correr sobre distribuciones Linux comerciales como RH Advanced Server o Suse Server. Como alternativa la distribución Rocks también permite una fácil instalación de Globus.
Las aplicaciones con Globus no están limitadas al uso computacional, también pueden abarcar comunicaciones multimedia de alta calidad, el mejor ejemplo es la aplicación Access Grid
http://www.accessgrid.org/
El potencial de la tecnología Grid recién está haciéndose conocido, y es sólo la punta del iceberg.
Clusters y Grid Computacionales
Etiquetas :

Total de Votos: 10 - Rating: 4.70
Comentarios
Juan Pablo escribió:
Genghis Rios escribió:
http://openmosix.sourceforg...
Es alentador que este año haya salido este nuevo parche, pues desde el año 2004 no habian novedades.
PABLO DUARTE escribió:
Gracias...
Pablo
Rpta: La idea seria que el nodo maestro del cluster Rocks sea a su vez un Computer Element (CE) de tal forma que al recibir las peticiones desde la Grid las derive a los nodos esclavos que vendrían a ser los Worker Nodes (WN) desde el punto de vista de la Grid.
Alexandra escribió:
Quisiera saber si la aplicacion que mencionan de IBM tiene la misma funcionalidad del Globus.
Gracias
Rpta: Hola Alexandra, la aplicación de IBM tendria equivalencia con el Globus 3
Saludos
Genghis
Camila escribió:
Les agradeceria MUCHISIMO LA AYUDA.
Luis Felipe escribió:
gracias.
Añadir Comentarios
Su comentario deberá ser aprobado antes de ser publicado. Gracias!






