Ufff…llevo dos semanas sin escribir en el weblog. Ya siento tenerlo tan abandonado, pero supongo que ultimamente no han ocurrido cosas muy emocionantes. Bueno, el fin de semana pasado estuve enfermo, pero supongo que no os interesan los detalles :-P
No penseis que escribo por que me haya pasado algo emocionante…simplemente os voy a contar qué es lo que (en gran medida) ha estado ocupando mi tiempo estas ultimas semanas (y va a seguir ocupandolo durante muuuchas semanas). Es nada más y nada menos que el famoso Proyecto de Fin de Carrera (PFC) que hay que hacer para poder considerarse un Ingeniero hecho y derecho.
El título de mi PFC es Implementación de Grid Services con el Globus Toolkit 3. Es un proyecto principalmente de investigación, más que de desarrollo. El objetivo ultimo del proyecto es investigar un nuevo paradigma de computación distribuida denominada Grid Computing, y uno de los últimos toolkits que han salido para programar Grids, el Globus Toolkit 3. Este toolkit, a diferencia de toolkits anteriores, se apoya fuertemente en la utilización de Web Services, razón por la cual me interesé por el tema.
Bueno, se me está yendo un poco la olla. Estoy hablando de Grids por aquí, Grids por allá, y seguro que a mucha gente la palabra le suena a chino (al menos en el contexto de la computación distribuida). El Grid, como ya he dicho antes, es un nuevo paradigma de computación distribuida. Recibe su nombre de la red electrica (que en inglés es electric grid), porque su objetivo es hacer por la computación lo que las redes electricas hicieron por la electricidad a comienzo de siglo. Me explico un poco mejor. A principios de siglo, si alguien quería tener electricidad no tenía más remedio que comprarse un generador propio. Evidentemente, la red electrica revolucionó esto, ya que lo que tenemos ahora no son un monton de mini-generadores electricos, sino un conglomerado de generadores de distintos tamaños, cuya electricidad se distribuye a traves de una red electrica. Algo parecido pasa con la informática. Las empresas son islas computacionales. Si queremos tener una cierta potencia computacional, no tenemos más remedio que comprar un supercomputador en nuestra organización. Si queremos realizar colisiones de particulas físicas, no tenemos más remedio que comprar un acelerador de particulas, o desplazarnos a donde haya uno. La Grid pretende cambiar todo esto, de tal manera que acceder a recursos computacionales sea tan facil como enchufar un electrodomestico a la red electrica para obtener electricidad.
Sí, es verdad que actualmente estamos en un momento en el que es muy facil acceder a recursos remotamente, pero todas las tecnologías de computación distribuida disponibles actualmente(CORBA, EJB, RMI, Web Services, etc.) están diseñadas pensando principalmente en sistemas fuertemente acoplados, en los que el cliente y el servidor están intimamente relacionados (generalmente son programados por la misma empresa). Estas tecnologias no tienen en consideración los desafios que supone un Grid Computacional: la compartición de recursos heterogeneos y debilmente acoplados.
La Grid pretende solucionar muchas limitaciones actuales de la computación distribuida. Mi ejemplo favorito es el siguiente. Supongamos que mi empresa tiene una necesidad computacional que no puede afrontar (por ejemplo, algun complicado analisis estadistico sobre una enorme base de datos). Tengo que ser capaz de enviar esa tarea a un nodo o nodos capaces de desempeñarla, sin tener que conocer exactamente qué nodo será. Igual esa tarea se la acaba tragando un cluster de Bruselas, o un supercomputador Cray de Chicago. Además, tengo que poder manejar los enormes flujos de datos (del orden de Gigabytes) que viajaran por Internet, y de garantizar su seguridad. También tengo que poder comprobar el estado de las tareas computacionales (¿ha terminado? ¿ha fallado?).
Las tecnologías actuales solo permiten realizar esto de manera ad hoc (cada empresa se busca su manera de hacerlo). El Grid, que más que una tecnología es una filosofía, pretende sentar unas bases comunes para solucionar este tipo de problemas. Y una de las tecnologías que materializa esta filosofía es el Globus Toolkit 3, en el que se apoya mi proyecto.
Bueno, espero no haberos aburrido con todo esto. Pero es que después de haberme pasado tanto tiempo leyendo e investigando sobre Grids, tenía ganas de contarselo a alguien…
Latest Comments
RSS