Incomunicación digital
Me parece sorprendente cómo los programas de comunicaciones pueden suponer un grave problema de comunicación. Lo entiendo, pero me sorprende que nadie haga nada ¿para qué están los comités estandarizadores?
Toda la historia viene por una sencilla razón: A la espera de que alguien se decida a poner un comentario sobre el problema planteado con Xgrids (aunque sólo sea para pedirme que ponga la solución de una vez por todas) he estado "jugando" con las granjas de render (tanto clusters como grids) que tenemos en mi trabajo buscando una forma de unificar recursos y optimizar sistemas integrándolos en un macrosistema. Casi todo es Linux o Mac, por lo que no tengo problemas de software en ese sentido, peeeeeerooo.... cada aplicación usa su propio protocolo de comunicaciones, políticas de seguridad y "scheduling", etc. Así que la pregunta que me surgió directamente fue: ¿se puede unificar de alguna manera? Pues bien, aunque parezca mentira, la capacidad de unificación de aplicaciones (propietarias, todo hay que decirlo) es casi nula.
Sin embargo, existen varias herramientas útiles que pueden ayudar con la gestión de un cluster-grid tan heterogéneo y poco manipulable como éste.
Toda la historia viene por una sencilla razón: A la espera de que alguien se decida a poner un comentario sobre el problema planteado con Xgrids (aunque sólo sea para pedirme que ponga la solución de una vez por todas) he estado "jugando" con las granjas de render (tanto clusters como grids) que tenemos en mi trabajo buscando una forma de unificar recursos y optimizar sistemas integrándolos en un macrosistema. Casi todo es Linux o Mac, por lo que no tengo problemas de software en ese sentido, peeeeeerooo.... cada aplicación usa su propio protocolo de comunicaciones, políticas de seguridad y "scheduling", etc. Así que la pregunta que me surgió directamente fue: ¿se puede unificar de alguna manera? Pues bien, aunque parezca mentira, la capacidad de unificación de aplicaciones (propietarias, todo hay que decirlo) es casi nula.
Sin embargo, existen varias herramientas útiles que pueden ayudar con la gestión de un cluster-grid tan heterogéneo y poco manipulable como éste.
- Por un lado es importante conocer el estado de cada máquina, por lo que habrá que utilizar algún software para "control de clusters". En mi caso, no conozco ninguno comercial u Open Source que me sirva porque todos requieren de la inclusión de algún pequeño complemento al kernel... y las aplicaciones (propietarias) que utilizo están certificadas sólo para las máquinas tal cual las entregan. Cualquier modificación al kernel es un grave problema (a nivel de licencias, soporte, etc). Aquí surge la primera complicación, aunque gracias a Unix no lo es tanto. Como he dicho todas las máquinas son idealmente tipo Unix (y la que no sea... ¡lo será!, aunque sea con un CygWin), por lo que disponemos de herramientas muy útiles y más o menos estándares : uptime, uname, w, netstat, ps, date, free (en Linux) o vmstat (en Mac), df, top (con sus variantes Linux/Mac), renice, kill, etc, etc, etc. De modo que es fácil hacer un shell script (o muchos muy sencillos que se puedan corresponder, por ejemplo, con "comandos") que valga para casi cualquier plataforma y que, en función de unos parámetros dados, ofrezca información y/o manipule procesos a su antojo.
- Manejar toda esta información en modo texto es divertido (al principio), pero acaba siendo engorroso, por lo que se puede hacer uso de aplicaciones tan maravillosas como: MRTG (Multi Router Trafic Grapher) y RRDtool (Round Robin Database Tool).
- ¿Qué es mejor para controlar una red que la propia red? En un servidor con Apache se puede integrar fácilmente la gestión de todos los scripts, representaciones gráficas, etc. HTML, PHP, Perl y otras herramientas se integrarán perfectamente en Apache para facilitar la gestión de nuestro supercomputador con todas las herramientas antes mencionadas más las que podamos crear.
- Un vistazo rápido en Google te permitirá encontrar muchísimos paquetes y programas dedicados a la creación y/o gestión de clusters y grids (OpenMOSIX, OpenMOSIX View, Condor, C3, MC3, Oscar, VACM, Globus, OpenGrid..........). Como por las particularidades del software que utilizo no encuentro ninguna ideal, y ya puestos a picar código, ¿por qué no usar Xgrid? Usando Xgrid se pueden distribuir los shell scripts de control sin necesidad de tener que controlar cada máquina. MacOS X ofrece muchas herramientas para integrar todas las utilidades de las que hemos hablado: desde el servidor Apache configurado y listo, hasta los frameworks para programación directa, sin olvidar todos los extras propios de MacOS X (Automator, AppleScript, herramientas de sistema...)



0 Comentarios:
Publicar un comentario en la entrada
<< Home