BAQUIA

Proceso distribuido: se alquila CPU

Durante una obra en el bloque de apartamentos donde vive el autor, fue necesario pasar unos cables desde la calle hasta el nivel inferior del garaje. Llegaron un par de operarios que extrajeron de su furgón un instrumento de aspecto amenazador, algo así como una Black-Decker que hubiera ido al gimnasio. En diez minutos agujerearon el asfalto y el hormigón como si fuera cartón, cobraron por ello mi sueldo de una semana y se marcharon.

Estos obreros mercenarios viven de explotar una herramienta muy cara, potente y especializada. El PC que tiene ahora ante sí también lo es y quizá dentro de poco pueda sacarle beneficio.

El triunfo de la regla de tres

El proceso en paralelo es básico en la arquitectura de sistemas informáticos. El procesador tarda muy poco en realizar operaciones. Sin embargo, leer datos del disco duro es comparativamente mucho más lento, y el procesador tiene que esperar.

En la época en la que las computadoras eran muy caras, la inactividad del procesador era un desperdicio. Desde el principio se pensó en cómo ejecutar varias tareas a la vez, aprovechando los tiempos muertos.

Nada impide repartir las tareas entre varias máquinas diferentes

El proceso en paralelo es lo que hace su cerebro cuando escucha la radio al mismo tiempo que conduce el automóvil y bebe de una lata. Si se aplica a la programación, permite realizar los cálculos más complejos en mucho menos tiempo.

Las técnicas de programación concurrente, diseñadas para sistemas multitarea (varios programas a la vez) y multiusuario (varios usuarios del sistema, algunos ejecutando copias del mismo programa) se desarrollaron pensando en un único procesador. Pero nada impide repartir las tareas, no ya en el tiempo, sino entre varios procesadores e incluso varias máquinas diferentes. Es cuestión de fuerza bruta: si un PC lo hace en un día, ¿cuánto tardarán 100 en terminar el mismo trabajo?

No para todos los públicos

Esta afirmación no siempre es cierta. Siguiendo el viejo adagio de los programadores, nueve mujeres no pueden hacer un niño en un mes. Hay casos en los que el proceso paralelo no es tan efectivo.

Poniendo de nuevo un ejemplo, si se trata de fabricar sillas de madera, los encargados de barnizar tienen que esperar a los que encolan el bastidor, éstos a los que tornean las patas, y los que tejen el asiento tienen que esperar a todos los demás. Por muchos tejedores que haya disponibles, el ahorro no es proporcional.

\”El problema surge cuando unas tareas preceden a las otras, si para empezar con una tarea tienes que disponer de los resultados de la anterior\”, dice Oscar Rodríguez Polo, programador en un proyecto de cálculo distribuido aplicado a estructuras.

No hay más remedio que invertir en ancho de banda

Por este motivo es importante disponer de un modelo del proceso distribuido y un sistema que reparta la carga en cada máquina. \”En nuestro proyecto se emplean sensores repartidos sobre el casco de un barco, cada uno de los cuales tiene un proceso independiente. Pero en otros casos no es tan sencillo y se emplea más capacidad en la gestión que en la ejecución\”, añade Rodríguez.

El problema reside en la conexión entre las máquinas. Si no es suficientemente rápida, puede que se tarde más en enviar y recibir los datos que en procesarlos. Algo que hace difícil el reparto de tareas en tiempo real a través de la lenta en impredecible Internet.

Es decir, no sólo se trata de disponer de capacidad de proceso, sino también de entrada y salida de datos. No hay más remedio que invertir en ancho de banda.

¿Hay alguien ahí fuera?

A la vista de las dificultades para encontrarla en ella, hay un grupo de investigadores empeñados en buscar inteligencia fuera de la Tierra. El proyecto SETI (Search for Extra Terrestrial Inteligence) es pionero en el proceso distribuido a través de Internet.

Los radiotelescopios son enormes antenas de radio, que reciben todo tipo de ondas electromagnéticas del espacio exterior. En su mayoría son ruido, procedentes de la radiación de las estrellas lejanas. Como cuando se sintoniza un canal sin emisión en la radio.

Todo ese ruido se procesa mediante computadoras para encontrar determinados patrones: series ordenadas o repeticiones. Algo que indique que hay alguien ahí fuera emitiendo.

Desde hace años, cualquiera puede formar parte del proceso. Basta con instalarse un programa que actúa como protector de pantalla, cuando el PC está inactivo. Desde el radiotelescopio de Arecibo, en Puerto Rico, se envían fragmentos de ruido espacial a los voluntarios. El PC analiza los datos y devuelve los resultados, si los hay, a los servidores de SETI.

Un enfoque parecido tuvo lugar para terminar la secuencia de la cadena genética humana, el proyecto Genoma. En este caso se trataba de contar y separar cadenas de aminoácidos. En lugar de voluntarios, fueron varias universidades, organismos y empresas privadas las que se repartieron el trabajo.

Pero no todo es desinteresado.

Show me the money

Las películas de animación en 3D pueden llegar a ser un filón para los procesadores mercenarios. El proceso de creación de imágenes de síntesis como las de Toy Story o La Amenaza Fantasma consume mucho tiempo de proceso: hay que tomar un puñado de datos numéricos, que definen la geometría de los objetos, la forma en que la luz incide en ellos, y convertirlos en puntos de colores, es decir, la imagen final.

Este proceso, llamado render o representación, es una carga inmensa para los procesadores. Por eso las últimas producciones se realizan en render farms (granjas) donde varios cientos de máquinas conectadas en red se reparten la tarea de crear fotograma tras fotograma.

Puede que Disney o Lucas utilicen su PC, y puede que le paguen por ello

En unos pocos años puede que Disney o Lucas Entertainment utilice el procesador de su PC para crear un par de fotogramas de la tercera parte de la Guerra de las Galaxias o la quinta de Toy Story mientras usted no lo utiliza. Y puede que le paguen por ello.

Por el momento ya existen algunos ejemplos. Parabon Computation ya permite a cualquiera poner su PC en alquiler. Aunque anuncian ingresos de hasta 100$ al día, basta con obtener lo suficiente para pagar la conexión a Internet para que el servicio sea muy atractivo. Las tareas a las que se dedican son la investigación médica y la animación digital.

Los datos que generan los mercados financieros son otro ejemplo de un sistema caótico en el que es muy importante encontrar el orden, así como el diseño de procesadores o la investigación sobre el virus del SIDA. Organizaciones como Entropia, Popular Power, o las aplicaciones de código abierto como EnFuzion son la punta de lanza.

Deposite sus MIPS

Los mayores proyectos en la actualidad pertenecen al universo hacker, como los que encabeza Distributed.net, que gracias a esta tecnología ha roto las claves de varios sistemas de cifrado. Los intereses de este grupo también tienen cierto éxito, como el propio SETI, el cálculo de problemas matemáticos o la evaluación del cambio climático.

Pero en una época de conservadurismo en los mercados resulta interesante comprobar cómo algunos proyectos de proceso distribuido están recibiendo financiación y apoyo por parte de las grandes compañías.

\”Un procesador doméstico tiene potencia de sobra. Los cuellos de botella están en la conexión y los periféricos\” dice Oscar Rodríguez.

\”El ocio es negocio, puede que con plataformas como PS2 y los juegos en red se avance mucho más rápido de lo previsto\”, añade

Si se establece un estándar razonable para que la tecnología se extienda y el número de conexiones de banda ancha crece según lo esperado, el día de cobro está cerca.

Temas relacionados:
  • [email protected]
  • Distributed.net
  • Buddy, can you spare some processing time? en News.com
  • Distributed computing latest venture capital darling en News.com

  • Compartir en :


    Noticias relacionadas

    Recomendamos




    Comentarios