20 de febrero de 2011

El concepto de cluster (3 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...

La primera de estas soluciones sería superar las incapacidades de potencia de cálculo y velocidad del más rápido de los procesadores posibles de construir (y a menor costo) uniendo las capacidades de muchos procesadores más simples. Así, los clusters computacionales han permitido el tratamiento de volúmenes sorprendentes de información y dan respuesta a necesidades de potencia antes desatendidas. Tendríamos por ejemplo, los clusters que computan renderizados de imágenes, modelados meteorológicos o bursátiles. Y como versión más tosca de este tipo de clusters aparecerían los clusteres de balanceo de carga que reparten el trabajo entre varias máquinas de forma semiparalela. Por ejemplo en el caso de granjas de servidores web que se reparten la responsabilidad de atender las peticiones de los navegadores de los clientes.

Por otro lado, la redundancia de algunos de los sensores y procesadores de los organismos humanos inspiran otro tipos de clusters. Los clusters de alta disponibilidad o tolerantes a fallos, capaces de afrontar sus tareas con pérdidas tolerables de prestaciones aún después de haberse producido un fallo en alguno de sus elementos.

Pero ¿han conseguido los clusteres generar un nuevo modelo computacional comparable al de la máquina de Turing? La respuesta es no. Finalmente, se han conseguido mejoras (y no siempre) en la velocidad de ejecución de algoritmos complejos , pero en el plano teórico no hay nada que impidiese a una máquina de Turing llevar a cabo la misma tarea. ¿Quiere decir esto que esta línea de investigación está agotada y es inútil? Aquí cada uno de las partes en la controversia darían su propia versión de los hechos.

Los clusters como tecnología serían indiscutiblemente prácticos y útiles. Por un lado, independizan la capacidad computacional de las máquinas del avance en la construcción de procesadores con más capacidades y también de mayor coste. El poder resolver una tarea con elementos más económicos y con sistemas más escalables tiene obvias ventajas en el mundo real de aplicación de la informática. Así que en este sentido no parece probable que dejen de existir este tipo de máquinas o que se deje de investigar en esta línea.

Sin embargo, desde el punto de vista teórico ya hemos visto que este tipo de máquinas no ha revolucionado la ciencia como algunos esperaban ya que no aporta finalmente ningún modelo novedoso de computación. ¿Cuál ha sido el fracaso? La idea inicial basada en la observación del ser humano y de su complejo procesamiento paralelo no parecía equivocada, la pregunta es ¿son los clusters computacionales máquinas realmente paralelas o sólo dan una ilusión de paralelismo? Si los algoritmos ejecutados sobre un cluster computacional pueden teóricamente (sin limitaciones de tiempo y memoria) ejecutarse sobre una máquina de Turing, está claro que el paralelismo es inexistente y no es más que una ilusión de paralelismo equivalente a la que ya existía en las máquinas monoprocesador que ejecutan aplicaciones multitarea y multiusuario dando una impresión de paralelismo irreal. Sin embargo, la línea de investigación no debería ser abandonada como inválida, pues nada demuestra que sea errónea, son los resultados alcanzados los que aún no son satisfactorios.

Esta búsqueda de un nuevo modelo de computación realmente paralelo no se ha abandonado en absoluto. Los nuevos conceptos aportados por la relatividad en el campo de las ciencias físicas y experimentales han venido a abrir camino a nuevas hipótesis para este modelo paralelo novedoso. Los computadores cuánticos permiten abordar un nuevo modelo computacional en el que los estados de computación ya no serían 0 ó 1 binarios y excluyentes, sino que podrían coexistir simultáneamente. En este mismo sentido (avanzando paralelamente como no podría ser de otro modo) las más novedosas teorías en la ciencia psicológica empiezan a modelar los procesos mentales humanos de este mismo modo: con estados simultáneos. Es decir, con paralelismo real.

Así pues, en mi opinión la evolución de la informática como ciencia seguirá la actual búsqueda y materialización de este nuevo modelo computacional. Y por otro lado, la informática como tecnología seguirá abordando, dada sus ventajas, y por bastante tiempo la construcción y mejora de máquinas multiprocesador o clusters.

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.

El concepto de cluster (1 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...

Desde el inicio de la informática como ciencia hasta la actualidad, pasando por su despunte como tecnología después de la segunda guerra mundial, su recorrido ha seguido dos caminos paralelos a menudo íntimamente relacionados: por un lado la ciencia informática aparece como un esfuerzo por modelar la desconocida mente humana y sus procesos haciendo uso de las herramientas que le ofrecían las matemáticas; se ponía así al servicio de las investigaciones en el campo de la psicología e ilustra en su modelado las controversias ya existentes en este campo. Por otra parte, se convierte al pasar en tecnología práctica en un medio de tratamiento de información que permite realizar tareas superiores (en cuanto a velocidad y volumen) a las que puede realizar un ser humano.

Somos herederos de la concepción inicial de la máquina que definió Turing, pero esta máquina se antoja en ciertos ámbitos científicos como insuficiente y torpe. Así, los psicólogos cognitivistas encuentran que el modelado de la mente humana que puede permitirse una máquina de Turing es parcial y tosco y deja sin explicación muchos de los procesos mentales más complejos y bellos de los seres humanos. Y por otra parte, para la inteligencia artificial aparecen como frustrantes obstáculos las limitaciones de este modelo para ejecutar algoritmos complejos que permitan a las máquinas aumentar sus capacidades hasta niveles humanos.

Es de suponer que este doble camino de desarrollo seguido por la informática siga siendo el modelo de evolución de esta disciplina. Así, conforme más avance el conocimiento sobre nuestros propios procesos mentales tanto más avanzará la tecnología, permitiéndonos crear mentes artificiales cada vez más similares a las de los seres humanos. Si la máquina de Turing aparece como insuficiente, deben aparecer nuevos modelos.

Last Request. Paulo Nutini

6 de febrero de 2011

La loca de la casa


"La imaginación es la loca de la casa"
Santa Teresa de Jesús


"La loca de la casa" de Rosa Montero es un libro de dudosa adscripción genérica a caballo entre el ensayo, la novela y la biografía fabulada, en el que la autora elabora un discurso informal en torno a la imaginación, la literatura y los límites entre realidad y ficción.

Este es un libro de límites imprecisos del que resulta más fácil decir qué no es: no es un tratado formal o una poética, no es un ensayo sobre el oficio de escribir, no es una novela y no es, o lo es en un mínimo grado, una biografía. En manos de la imaginación, la loca de la casa, la autora retrata los límites de la creación y la locura, de la naturaleza humana y su inserción en la realidad y los miedos y frustraciones del creador literario, en concreto del novelista.

Es un libro de calidad descompensada, en el que momentos de brillantez se alternan con pesadas digresiones que no añaden nada a lo ya sabido. Siento no haber sabido participar totalmente en el juego que se le propone al lector y haberme quedado en el camino del laberinto admirando algún detalle y perdiéndome el objetivo final, si es que lo había. Me quedo con los aciertos con los que construiría un más liviano libro paralelo.

Desconozco el resto de la obra de Rosa Montero así que mi opinión se circunscribe exclusivamente a esta obra vista de modo aislado. Creo que puede resultar de interés a personas atraídas por la literatura, aficionados a escribir y la teorización ligera.

En mi libro paralelo no faltaría el que considero el pasaje más brillante del libro y que justifica plenamente su lectura. Empieza así:

"-Hoy quería escribir, tenía todo el día para escribir, y lo he tirado por la borda contestando e-mails.
-¿Por qué?
-No sé. A veces evitas ponerte a trabajar. Es una cosa extraña.
-¿Por pereza?
-No, no
-¿Por qué?
-Por miedo.

No se lo supe explicar, pero anoche en la indefensión extrema de la noche, en la claridad alucinada de la noche, mientras daba vueltas en la cama, comprendí exactamente lo que quería decir. Por miedo a todo lo que dejas sin escribir una vez que pasas a la acción."

4 de febrero de 2011

Para leer al anochecer


Todos tenemos prejuicios, quien esté libre de pecado que se lo haga mirar. Y tras la lectura de este libro he de admitir que mi imagen de Dickens ha cambiado completamente.

En este volumen que fue publicado recientemente se recogen una serie de cuentos que mantienen el factor común de que encuentran en los fantasmas la excusa de la trama. La prosa de Dickens, el ambiente y la atmósfera, nos trasladan inmediatamente a la exquisitez decimonónica y al arte de la escritura como oficio. Me han apasionado los inicios en los que me parece un maestro, capaz de situar al lector con poquísimos recursos, capaz de crear una atmósfera tan atractiva como la que nos mantenía de niños pegados a un libro. Ni que decir tiene que es una lectura imprescindible.

Y empiezo hablando de prejuicios porque mi descomunal ignorancia me tenía atrapada en la imagen de un Dickens inocente. Le tenía por un autor con poco riesgo y con poco que ofrecer, pero es innegable su capacidad de seducción -por algo fue uno de los best-sellers de su época- y también su irónica visión de la realidad, su sensible perspicacia al dosificar el ritmo, las escenas, las pequeñas digresiones.

Me fascina enfrentarle a Poe, como su antítesis en tantos aspectos y mucho más cuando este volumen habla de fantasmas y se acerca al terror que su coetáneo tan bien elaboraba. Dickens, sin embargo, lo aborda desde la luz, desde el humor, desde una lucidez de hombre de éxito al que le sonrieron los hados en vida. Ambos son grandes escritores, pero no puedo evitar inclinarme con ternura hacia el americano y su demoledora realidad personal. Dicen que se conocieron y me parece que ese encuentro es tan literario como sus obras. Imagino perfectamente la situación: Dickens hombre de éxito, que viaja a EE.UU. para hablar de los derechos de copia ante el pirateo de sus libros por editoriales estadounidenses. En resumen: el escritor en la cumbre. Y no me cuesta nada imaginar a Poe, ya preso del alcoholismo y de la crudeza de un fracaso personal que tenía que parecerle injusto a la fuerza. Un frente a frente de ambos, tan sugerente y que al final resulta tan poco fructífero, porque se vieron, pero no hubo encuentro.

Y por último, aunque sea un asunto extraliterario, no puedo evitar dejarme llevar por mi lado más esnob y admirar la edición en sí: el papel y el formato lo convierten en un libro especial. Y sí, soy de esas personas que cuando abren un libro lo primero que hacen es inclinar la nariz sobre las páginas y aspirar el olor de imprenta. Una tontería como cualquier otra, ¿no?