viernes, septiembre 16, 2005

Globus, ese gran desconocido...

Bueno el otro dia andaba por la red, y mirando weblogs encontre un blog llamado locura transitoria... Me puse a leerlo y dije: coĂąo! mi blog perdido!. Asi que force mi memoria y me acorde del user/pass para logearme y aqui estoy :D. Vamos q o le hago mas caso al pobrecito blog o me lo quitan xD.

Hoy os voy a hablar de Globus.

Globus es (o deberia ser) un middleware para grid.
Y que es un middleware?, pues un middleware es una capa que hay por encima de un grid, y cuya funcion es gestionar los recursos de que dispone el grid. Vamos, es el sistema operativo del grid, esa pieza de software que requiere cada nodo para que se puedan efectuar intercambios de recursos (memoria, tiempo de cpu, etc...) entre ellos de forma segura (con protocolos seguros) y controlada (con restricciones y permisos).

Requisito indispensable: el middleware debe ser multiplataforma, recordad que en un grid pueden haber nodos con arquitecturas diferentes y sistemas operativos diferentes y todos deben poder ejecutar el middleware para integrarse en el grid.

Sigamos con globus.

Globus es ... como ... no se como os lo diria ... ah si! una manera de juntar mucho mucho mucho codigo fuente para hacer absolutamente nada.

En su version mĂĄs utilizada (v2.4) lo unico que se podia hacer era ejecutar jobs remotos (de forma segura), entre los nodos y intercambiar datos (de forma no segura). El codigo fuente ocupaba 500 Mb... Conozco a gente q en 2 o 3 horas dandole al Perl me hacen esto y de forma bastante mas eficiente. Porque despues de someter a globus 2.4 a pruebas de estres lo tumbe en el primer asalto, y no he sido el unico, eh josea?...
Tambien se podria conseguir lo mismo poniendo certificados en todos los nodos y ejecutando de forma transparente y segura procesos remotos y compartiendo datos.

Yo he trabajado bastante con globus, y creo que hoy en dia no es una solucion grid a nivel comercial. No es estable, no hay documentacion y desde luego cada vez sigue menos la filosofia que debe seguir un middleware.

La linea que sigue se aleja cada vez mas de un modelo a seguir.
Se deberia crear un estandar que definiese bien la arquitectura de un grid computacional y definir bien que puede y que no puede hacer un middleware. Mientras tanto lo unico que podremos encontrar son multitud de soluciones grid incompatibles que proporcionen mas bien soluciones especificas y no generales.

La ultima version de globus (desarrollada en java) ya incorpora soporte para web-services, pero todavia no se ha recibido una respuesta ante esta nueva funcionalidad. Deberia formar parte del middleware ? o mas bien deberia estar en un nivel superior?

Habeis usado globus vosotros? Que os ha parecido?

ya me contareis. ;D

deepbit

10 comentarios:

Lluís R. dijo...

Hola,

yo he usado Globus alguna vez. Me gusta porque ofrece un reto el hacerlo funcionar, pero despuĂŠs es bastante senzillo. Es potente, ofrece los servicios mĂĄs bĂĄsicos y te ahorra mucho trabajo si diseĂąas una aplicaciĂłn Grid. Es gratuito y el 90% del cĂłdigo es PERL, de ahĂ­ que lo puedes ajustar a tus necesidades.

Limitado a sistemas UNIX, hoy por hoy serĂ­a una excelente alternativa si estuviera bien documentada.

En cuanto a los Middlewares, no tengo muy claro como crees que deben ser.

Carpe Diem

Mònica dijo...

Vaya rollo que acabas de soltar!!!...
Si vuelves al blog para escribir estos rollos mejor, no lo vuelvas a hacer ... jajajajajajajaja.....

Regalame el portail y dejate de tonterias... vamos ya a hablar de cosas serias, de una vez!!!!... Traemelo a casa que ya sabes donde vivo...

www.monica-ribas.blogspot.com

deepbit dijo...

Pues un middleware deberia ser como es Globus2.4, pero estable, mas portable y eliminando sistemas de informacion como el MDS y cualquier tipo de planificador de procesos.

Es decir, solamente debe ofrecer recursos de forma segura y controlada, algo similar a lo que hace un sistema operativo en una maquina, solo que el middleware debe ofrecerte recursos mas genericos, y hacerlo sobre un conjunto de maquinas distribuidas por la red.

Lluís R. dijo...

Hola MĂłnica,

Âżacaso escribo en tu blog?.

En cuanto al Middleware soy de la opiniĂłn que este debe ser tan complicado como necesite serlo para dar los servicios bĂĄsicos, que desde mi punto de vista Globus ya cubre:

- EjecuciĂłn de trabajos remotos, o llamado GRAM
- Sistema de informaciĂłn, o llamado MDS
- Sistema de transferencia de datos, o llamado GRID-FTP
- Seguridad integral, o llamado Grid-GSI

Claro que entonces aparece el dilema de la plataforma. Si se quiere algo optimizado, se debe crear un middleware como el de la versiĂłn 2.4. Este estĂĄ diseĂąado para entornos UNIX, va muy fino, pero hacerlo correr en sistemas Windows o UNIX un tanto diferentes como el de mi portĂĄtil se hace mĂĄs que una odisea.

Para solucionar este problema se puede optar por un diseĂąo Java y WS, como la versiĂłn 3.0 y 4.0 de Globus que a priori es multiplataforma pero es un auntĂŠntico dinosaurio que no acaba de ir bien. Pero no nos engaĂąemos, el cambio a la tecnologĂ­a Java y WS ha sido debido a una cambio en la estrategia del producto para acercarse mĂĄs a las empresas con el objetivo de conseguir mayor cuota de mercado. Pero sinceramente, creo que no les va muy bien. Si os interesa tener mĂĄs informaciĂłn de Globus, que estoy seguro de ello, visitad Globus Home Page .

ÂżPero hay mĂĄs soluciones de middleware actualmente? Pocas pero sĂ­, una de ellas es Sun Grid Engine. Este, que era en su origen un sistema de colas para clĂşsters, en sus Ăşltimas versiones se ha centrado en acercarlo mĂĄs al mundo del Grid. ÂżCĂłmo? ComplementĂĄndolo con servicios que permiten la interacciĂłn en entornos inter-organizativos, cĂłmo es en reforzar la seguridad. El SGE se vende como un producto comercial, pero tambiĂŠn hay una versiĂłn open source. Yo no lo he probado, pero si querĂŠis os lo podĂŠis bajar de: GridEngine Home Page .

Lluís R. dijo...

Hola beepbit,

Globus 2.4 en mi opiniĂłn es muy estable una vez que estĂĄ bien configurado. El sistema de informaciĂłn MDS reconozco que es un tanto anticuado y difĂ­cil de adaptarlo a tus necesidades. Seguramente habrĂ­a que cambiarlo, (ÂżquĂŠ tal un Ganglia ?) pero eliminarlo no, un sistema de informaciĂłn es fundamental en un Grid.
AdemĂĄs, ÂżNo crees que Globus ofrece los servicios bĂĄsicos y mĂĄs genĂŠricos posibles para crear un Grid? ÂżQuizĂĄ hay que romperse la cabeza para diseĂąar las capas superiores de este Middleware? Poca gente lo estĂĄ haciendo, y desde mi punto de vista deberĂ­a ser un campo de desarrollo con mucha mĂĄs importancia en el mundo informĂĄtico.

Mònica dijo...

No iba por ti.... listo!... era un mensaje para Carlos.

Lluís R. dijo...

Hola a todos,

sĂ­, me he pasado de listo: pido disculpas.

Pero por favor, no me quitĂŠis el Ăşnico trocito de la red donde puedo discutir en mi idioma con cracks que dominan de un tema que por bien o por mal me apasiona.

Besos a todos,

Lluis

deepbit dijo...

Si bueno... ganglia si que estaria bien com o sistema de informacion, pero no tengo muy claro si lo pondria en la capa middleware o en otra superior. Lo que si estaria muy bien es distribuir ganglia, no acudir siempre al nodo central para obtener la informacion. Asi se podria obtener infirmacion del grid desde cualquier nodo.

Lluís R. dijo...

Buenas,

Ganglia como tal es totalmente distribuido. Si estĂĄ en una misma red, mediante multicast todo nodo puede tener replicada la informaciĂłn del resto de los ordenadores, de forma automĂĄtica y sin crear un gran trĂĄfico de red.

TambiĂŠn se puede posteriormente configurar para que haya una estructura jerĂĄrquica entre redes diferententes, de tal forma que se pueda consultar un conjunto de los nodos.

Realmente, yo pondrĂ­a un sistema como el Ganglia por defecto en el middleware, como es Globus. Sin duda, y ademĂĄs incluirĂ­a alguna API que sea capaz de proporcionarte un broker muy senzillo con los nodos que encuentra en este sistema. De hecho asĂ­ lo tienen la mayorĂ­a de sistemas de colas mĂĄs usados.

Anónimo dijo...

Genial brief and this mail helped me alot in my college assignement. Say thank you you as your information.