20 de febrero de 2011

El concepto de cluster (2 de 3)

Del baúl de los recuerdos ha venido a aparecer la documentación de mi proyecto fin de carrera. Me ha sorprendido releer la introducción de mi trabajo (un framework para simulación de computadores aplicado a coherencia de caché en máquinas NUMA) y ver claramente lo que me dicen por ahí: que soy de letras y una infiltrada en el mundo tecnológico. Voy a publicar esa introducción en tres fragmentos. Para ponerlo en contexto, tengamos en cuenta que esto lo escribí allá por el 2005, que no he cambiado una coma y que probablemente entonces era mucho más inteligente que ahora...

Los defensores de la IA fuerte, herederos de la psicología asociacionista, basan su creencia en la fortaleza del modelo de Turing en que los algoritmos complejos que definen los procesos mentales humanos sólo han quedado fuera de las actuales realizaciones prácticas de máquinas de Turing por incapacidad tecnológica. Sería para ellos suficiente que aumentara la capacidad para crear procesadores más complejos y rápidos para que los algoritmos más complejos pudieran resolverse en tiempos humanos (suponiendo que esos algoritmos sean definibles).

Por otra parte, como hemos visto, otra línea de investigación negaría la completitud del modelo de Turing como tal y exploraría nuevas realizaciones prácticas de prototipos basándose en las tecnologías ya existentes. En este sentido se aborda la ejecución de algoritmos de forma paralela: del mismo modo que el funcionamiento de un ser humano se basa en la unión del trabajo de millones de miniprocesadores sencillos (las neuronas) que tratan pequeñas cantidades de información recibidas por sus sistemas de entrada/salida (órganos sensoriales), así el futuro modelo que completaría de forma correcta a la máquina actual estaría basado en la ejecución paralela de distintas tareas por parte de procesadores, no necesariamente complejos, y en el tratamiento final de toda esta información por un núcleo -no necesariamente nuclear, es decir, que podría estar distribuido en varias máquinas-, que haría las veces de cerebro en la máquina.

De esta forma surge el concepto de cluster que podríamos definir como un conjunto de computadoras que se reúnen para contribuir, en conjunto, a un mayor rendimiento computacional total. Podríamos referirnos a máquinas de alto rendimiento multiprocesador de un determinado fabricante o bien a conjuntos de computadoras construidos con elementos hardware comunes, típicamente ordenadores personales. Los clusters van a proporcionar desde el punto de vista tecnológico, desde sus orígenes, soluciones a problemas que habían quedado sin resolver.

No hay comentarios: