Tuesday, August 29, 2006

El todo es mayor que la suma de sus partes

Una de mis grandes dudas acerca de la ingeniería es cómo era esta 30 años atrás. Más difícil aun me resulta imaginármela 50 o 100 años atrás. La razón: la escasez de computadores y “máquinas de calcular” como decía un viejo pero tremendo profesor e ingeniero.

Por ejemplo, el ingeniero que diseñaba un avión dibujaba tranquilamente sobe una mesa de dibujo. Con una regla de cálculo (aparato que no se cómo diablos se ocupa) obtenía resultados aritméticos y los anotaba con un plumón en un pedazo de vidrio (que vendría siendo el simil de la memoria de una calculadora). Así, se diseñó el Boeing 737, el cual resultó ser un tremendo avión, al cual sólo se le han hecho modificaciones menores y estas tienen que ver principalmente con instrumentación y sistemas de control y navegación.

El caso de la bomba atómica y el descifrado de los códigos alemanes merecen otro comentario. Había pocas personas que sabían exactamente qué es lo que se debía calcular. El problema: grandes cantidades de operaciones medianamente simples. Se necesitaron miles de calculistas para lograr los objetivos propuestos, quienes claramente no sabían cómo resolver el puzzle, tarea que quedaba para los más “ñoños”

Bajemos a un nivel mucho menor y hagamos el siguiente ejercicio: suponga Ud. que tiene que entregar para el día siguiente el resultado de una suma de 10.000 números sin el uso de computadores ni nada parecido. No es una operación difícil de entender, pero si tediosa y muy larga. ¿Se le ocurre alguna estrategia? Una simple consiste en ir sumando de a cinco términos y guardar el resultado. Luego estos resultados sumarlos nuevamente en grupos de a cinco y así sucesivamente hasta llegar al final.

Supongamos ahora que su familia puede ayudarle a resolver el problema. Lo lógico es que ahora cada uno de los miembros tome una parte de los 10.000 números y lleve a cabo la estrategia anterior. Al final, Ud. suma los resultados parciales y listo.

El caso anterior es el más simple que se conoce de “procesamiento paralelo”. El caso general consiste en que pueden haber distintas tareas que se pueden ejecutar unas independientes de las otras, como por ejemplo: Si se quiere pintar una casa ¿Es necesario terminar el frontis antes de la parte trasera?

El procesamiento paralelo en la actualidad permite resolver grandes problemas que un solo computador no es capaz de hacerlo en un tiempo razonable. Existen computadores con miles de procesadores, en donde cada uno de ellos procesa una tarea de manera más o menos independiente unos de otros. Estos “supercomputadores” son ocupados en la simulación de sistemas de armas, meteorología y en muchos otros campos.




El computador con más procesadores en este momento tiene nada más y nada menos que 131072 procesadores, con una memoria de 32768 GB y fabricado por IBM. Los 500 supercomputadores más poderosos del mundo se pueden ver en http://www.top500.org




Si se recuerdan del posteo anterior, yo estoy tratando de encontrar una red neuronal mediante PSO que permita describir el comportamiento de una turbina a gas. Los cálculos que necesito realizar toman más de tres días en un computador convencional, y eso podría retrasar mucho la investigación. Así que decidí acercarme muy humildemente al mundo del procesamiento paralelo, y hoy puedo realizar muchos cálculos con los computadores que hay en mi laboratorio (4 y pronto 5), que están conectados en una misma red y así ahorrar mucho tiempo. Para que se hagan una idea, lo que antes me tomaba dos días completos, ahora me toma una noche. Así, mientras duermo, las máquinas trabajan y al día siguiente en la mañana entregan los resultados. En los próximos días, espero poder conseguirme otro laboratorio y así correr con 19 computadores.



Una niña con la que solía salir, me dijo una vez que el todo es mayor que la suma de todas sus partes. Yo le pregunté, ¿y cual es la diferencia?, a lo que me respondió: “el funcionamiento”. Tenías mucha razón.





Actuaron hoy:

Ian Pellisier, quien me ayudó a buscar un toolbox para comunicar los computadores entre si

Juan Solis, quien también me ayudó en la búsqueda de un toolbox, pero para hacer PSO en Matlab

Eduardo Saez, quien me recomendó el programa VNC para el control remoto de computadores


Canciones recomendadas:

Hasta que hice mi “cluster” (nombre ñoño de muchos computadores que trabajan paralelamente), así que recomiendo para todos aquellos que insisten y que les gusta salirse con la suya, la canción “Getting away with it” de James.

Y en honor a aquella tremenda niña con aires de filósofa, recomiendo la canción “Kayleigh” del grupo Marillion.

1 Comments:

At 1:10 PM, Blogger Andrea said...

EEHH!! A PRESERVAR LO ANTIGUO!! Y A DEMORARSE MIL AÑOS EN SACAR DERECHO!!!! MI PADRE HA HABLADO!!

Hermanito, me alegro mucho de leerte porque sé que tras toda esa complicación hay un ñoño que disfruta de "trabajar con perro", besos, muchos!

Andrea, la incuRta de la familia!

Ah no lo olvides!!, cuando necesites una respuesta, ya sea para tu tesis o tu vida, ten siempre presente que ésta será: Chuck Norris.

 

Post a Comment

<< Home