ci2.gif (97 bytes)

cd2.gif (98 bytes)

 

Peer to Peer (P2P): La potencia (el poder) de una Red (Internet)

interne1.jpg (38555 bytes)

La idea y los primeros experimentos de computación distribuida se remontan a los propios orígenes de la Red. Allá por principios de los 70, cuando Internet se llamaba ARPAnet y tenía un origen militar. Algo más tarde, en 1997, se crea dnet, la primera red de procesamiento distribuido de propósito general que utiliza ya miles de procesadores distribuidos por Internet para descifrar códigos de encriptación en una experiencia revolucionaria y pionera, que abría nuevas vías para afrontar complejos proyectos, cuyos elevados costes y larguísimos tiempos de desarrollo derivados de las altas capacidades de procesamiento requeridas, los convertía en inviables hasta la fecha…Les presentamos a Internet, el ordenador más potente del mundo en dos de sus realizaciones más sorprendentes: La búsqueda de vida extraterrestre y la investigación del cáncer.

La idea de la computación distribuida es simple pero genial. Partimos de una gran tarea compleja en un servidor central, pero en lugar de abordarla con un único procesador, la dividimos en muchas tareas pequeñas y enviamos cada una de ellas a una máquina diferente. Una vez que cada tarea se ha procesado se envían los resultados al servidor central y este se encarga de juntar todos los resultados que va recibiendo. El problema ahora queda reducido a encontrar muchas máquinas que se puedan conectar al servidor central y que se encuentren libres para poder realizar estas tareas. El primer factor queda resuelto si nuestro servidor central se encuentra conectado a una red, ya sea de área local, intranet o internet en el más amplio de los casos. Ya tenemos todas las máquinas que queremos, eso sí, cada una de ellas dedicada a sus propias tareas, que en un principio poco tendrán que ver con nuestro gran proyecto. Sí, pero piensen por un momento en todos esos tiempos muertos en los que los PCs están encendidos pero inactivos. Qué mejor solución pues, que contando con la aprobación del usuario instalar en la máquina un software cliente encargado de procesar una fracción de la gran tarea y hacer que se ejecute cuando se activa el salvapantallas. Así pues, el problema queda resuelto, pues mientras que el usuario se encuentre trabajando con la máquina dispondrá de toda su potencia de proceso, pero cuando no esté utilizándola la capacidad de proceso se dedicara a nuestro potencial proyecto aprovechando así una capacidad de procesamiento que de otra forma se perdería. Este esquema viene a cambiar la tradicional concepción de una arquitectura cliente-servidor pura, pues ahora todas las máquinas de la red son clientes y servidores al mismo tiempo. Es lo que se viene en denominar peer to peer (P2P) o de igual a igual. De esta forma conseguimos nuestro objetivo a un coste bastante más bajo y en un tiempo mucho menor que el caso de que tuviéramos un único gran servidor dedicado al proyecto.
Como comentábamos esta idea puede ser aplicada en diversos ámbitos, como por ejemplo en una compañía, la realización de tareas que requieran altas capacidades de proceso, para lo cual se utilizarán los PCs conectados a la intranet de esta empresa. Sin embargo, si queremos afrontar un proyecto de ámbito universal y con un elevado grado de complejidad habremos de ser capaces de abordarlo mediante análisis diferenciales que puedan ser realizados de forma separada, en paralelo mediante diferentes máquinas presentes en nuestro ambicioso terreno de juego: Internet. A continuación presentaremos dos de estos proyectos.
El proyecto SETI @ Home desarrollado por la Universidad de California en Berkeley comienza en Mayo de 1999. Más de 2 millones de voluntarios lo convierten en la experiencia más grande de procesamiento distribuido hasta la fecha. SETI (the Search for Extra-Terrestrial Intelligence) es un nombre colectivo para designar los diferentes programas encargados de buscar evidencias de vida en el cosmos. Para ello se utiliza como fuente los datos recogidos por radiotelescopios, que como si de grandes pabellones auditivos se tratase, se encargan de escudriñar el cielo en busca de señales de radio provenientes del espacio. Como comprenderán, la capacidad de computación necesaria para analizar todos los datos que se recogen es desmesurada. Pero, ahí es precisamente donde nace SETI@Home como proyecto de aplicación de computación distribuida de la Universidad de Berkeley. Los datos de partida en este caso son los recogidos por el telescopio de Arecibo en Puerto Rico, el mas grande del mundo (y que ustedes recordarán de la película Contact o quizás de Goldeneye con James Bond encaramado en él). El radiotelescopio toma como frecuencia base 1420 Mhz analizando una banda de 2.5 Mhz de ancho (desde 1418.75 Mhz hasta 1421,25 Mhz). Diariamente se recoge una cinta con 35 Gbytes de datos que se envía por correo (postal) a la Universidad de Berkeley. Una vez allí, la banda de 2.5 Mhz se divide en 256 rodajas de 10 Khz de ancho mediante un programa denominado splitter. De cada rodaja se toma un intervalo temporal de 107 segundos, lo que constituye una unidad de trabajo (0.25 Mbytes). Estas unidades de trabajo son las que son enviadas por el servidor a los PCs de los voluntarios del programa distribuidos por Internet. De esta forma, de cada una de las cintas se extraen casi 166.000 unidades de trabajo. Una vez en los PCs, estos se encargan de realizar transformadas de Fourier rápidas (Fast Fourier Transform-FFT) sobre los datos buscando señales significativas en diferentes combinaciones de frecuencia y ancho de banda hasta totalizar más de 275 billones de operaciones sobre cada unidad de trabajo en una primera fase de búsqueda de señales candidatas. Sobre las señales se realiza a su vez un test de integridad, procesándose cada paquete de datos repetidas veces en distintos ordenadores para descartar errores. Una vez determinadas las diferentes señales candidatas, y ya en el servidor, se procede a detectar y eliminar las interferencias a frecuencias de radio. A continuación el proceso continúa con la selección de las señales “persistentes” como las candidatas finales, es decir, aquellas que se han detectado en la misma frecuencia y ubicación celeste más de una vez. A partir de ahí se realizarían nuevos análisis (descarte de errores, medidas de interferometría) involucrando diferentes telescopios y grupos de trabajo que puedan confirmar que la fuente de la señal recibida se encuentra a una distancia interestelar (de forma que se descarten satélites y otras posibles fuentes emisoras de origen humano). Si tras todas una serie de análisis, la existencia de una señal se hubiera confirmado, se realizaría un anuncio público. Hasta la fecha SETI@Home no ha encontrado ninguna señal que podamos considerar bajo esta categoría, si bien en 1977 se detectó, la conocida como señal WOW, una señal, que parece ser es el patrón de una señal positiva y que de haber sido detectada por SETI@Home habría tenido el aspecto de la señal de la figura. ¡Estén atentos!
De una forma similar a SETI@Home surge una nueva iniciativa conjunta de las empresas Intel y United Devices centrada esta vez en la investigación del cáncer. En este caso se pone el procesamiento distribuido de internet al servicio de la investigación molecular realizada en el departamento de Química de la Universidad de Oxford en Inglaterra y la Fundación Nacional para la Investigación del Cáncer en los EE.UU. El objetivo de estos centros es la búsqueda de drogas que actúen contra el cancer y la leucemia. Para ello es necesario realizar complejos análisis de compatibilidad molecular sobre moléculas, susceptibles de convertirse en un tratamiento efectivo para lo que se precisa de una alta potencia de proceso. Así, en el caso concreto que nos ocupa se han identificado varias proteínas responsables del desarrollo de leucemia y otros tipos de cáncer. A través de un proceso denominado “screening virtual” un software de análisis se encarga de identificar moléculas capaces de influir sobre estas proteínas y determinar cuales de estos candidatos moleculares tienen una alta probabilidad de ser sintetizados en una droga. Así pues en este caso los PCs de los voluntarios reciben una unidad de moléculas a través de Internet de forma que cuando se activa el salvapantallas de nuestro PC el software THINK comienza a analizar los datos moleculares creando un modelo tridimensional y cambiando su estructura para intentar acoplarlo a una zona de la proteína. Si una de las estructuras se acopla con éxito y provoca una interacción con la proteína, se registra como un “éxito”. Cualquiera de estos éxitos puede conducir finalmente a una cura. Todos los éxitos son registrados, clasificados y pasados a la siguiente fase del proyecto. Por cada proteína se vienen a analizar unos doscientos millones de moléculas lo que pude suponer un mínimo de 24 millones de horas de procesamiento numérico. De esta forma, se ha estimado que mediante este programa el tiempo necesario para desarrollar un nuevo tratamiento para el cáncer puede reducirse de doce a cinco años.
Estos proyectos son de una entidad tal que para cualquier investigador que los emprendiese hace tan solo unos años suponía saber que le iba a ser imposible conocer los resultados de su investigación en vida. Ahora, gracias a la computación distribuida el tiempo necesario para constatar estos resultados disminuye de forma trascendente. Pero dejemos que el Dr. Anderson, responsable de ambos proyectos nos ofrezca sus impresiones.

 

En línea con el doctor David Anderson.

 

El pasado día 15 de Enero entrevistamos a través de Internet al Dr. David Anderson, Chief Technology Officer (CTO) de United Devices y fundador y director de los proyectos SETI@Home e Intel-UD Cancer Research.

interne3.jpg (31117 bytes)


Juan J.S.Aguila-Collantes (JJSAC): Buenos días David y muchas gracias por dedicarnos tu tiempo. Hablemos del principio. ¿Cuáles son tus orígenes con el P2P
David Anderson (DA): Obtuve el doctorado en Informática en 1985 y me dediqué a la enseñanza en la Universidad de Berkeley hasta 1991.
Mis áreas de interés en investigación incluían muchas cosas, entre ellas la computación distribuida.
La idea básica de la computación distribuida – utilizando múltiples ordenadores en red para trabajar en paralelo en un único problema había sido propuesta en el Centro de Desarrollo de Palo Alto de Xerox (Xerox PARC) varios años antes.
A finales de los 80 la gente estaba más interesada en los multiprocesadores de memoria compartida como Sequent y la Connection Machine. Pero yo siempre pensé que la computación distribuida a través de Internet, era mejor por tema de economía.
JJSAC: Y después por 1999 se lanzaba el proyecto SETI@ Home, que tú liderabas, ¿no es así? Cuéntanos como nació y se desarrolló el proyecto.
DA: Bueno, de hecho comenzó algo antes. Ya en 1995, David Gedye, un antiguo alumno mío y un muy buen amigo, tuvo la idea. Me la contó y localizó a Dan Werthimer, un astrofísico muy bueno que había estado buscando inteligencia extraterrestre durante muchos años, y que también vivía en Berkeley. Pasamos varios años tratando de obtener dinero para financiar el proyecto. Finalmente David abandonó el proyecto, empezo una familia y estaba muy ocupado, ya sabes, y así me convertí en el director.
En 1998 conseguimos una pequeña cantidad de dinero de la Planetary Society y Paramount Pictures, sí, la de las películas. Pequeña, pero suficiente para contratar a 2-3 programadores, construir el sistema de grabación de datos en Arecibo, y desarrollar el software del cliente y el servidor. También fue de gran ayuda las donaciones de hardware que recibimos de Sun Microsystems (servidores) y Fujifilm (cintas magnéticas).
A finales de 1998 se finalizó el software básico pero nos llevó varios meses más depurarlo a fondo y crear las versiones “salvapantallas” para Windows y Macintosh. Tuvimos suerte al contratar a un programador que había ayudado a escribir el salvapantallas After Dark para Mac.
En abril lanzamos la versión Unix del programa cliente, y por fin un mes después las versiones de Mac y Windows. Despegó muy rápidamente – a la semana teníamos 200.000 usuarios, y ahora debemos estar alrededor de los 3 millones y medio. En los dos años y medio que han pasado desde entonces hemos tenido que hacer muchos cambios para poder seguir el ritmo.

JJSAC: ¡Y menudo ritmo! De no ser gracias al procesamiento distribuido, ¿cuánto tiempo calculas que se hubiera necesitado para alcanzar las mismos resultados con un equipo con las prestaciones más avanzadas?
DA: Si tuviéramos un solo PC, SETI@home habría tardado alrededor de 850.000 años. Si tuviéramos el ordenador más rápido del mundo, nos llevaría unos 10 años. Pero ese ordenador cuesta 110 millones de dólares (más impuestos), que es demasiado para nosotros.

JJSAC: Oye, en 1977 se detectó la famosa señal “WOW” que puede interpretarse como una posible muestra de vida inteligente extraterrestre. ¿Qué opinas de ella? ¿Se ha encontrado en el proyecto SETI@Home alguna señal de este tipo?
DA: Uno de los problemas con la búsqueda de inteligencia extraterrestre vía radio (al menos, con telescopios con base en la Tierra) es que no sólo recibes las señales del espacio, sino también las señales generadas por el hombre desde la Tierra y las de los satélites pasando por nuestras cabezas, y que rebotan en la atmósfera o en la Luna.
Cualquier señal que escuches sólo una vez (como la señal WOW!) no pasa de ser interesante.
Las señales como esa se deben verificar escuchándolas repetidamente (a ser posible con el telescopio y el software de alguien más , en el caso de que la señal sea el resultado de un fallo o de un problema hardware).
Por supuesto, todo esto asumiendo que la señal es constante durante un largo periodo de tiempo.
SETI@home ha construido una base de datos de alrededor de un millardo de señales “candidatas”. Nuestros ordenadores están ahora ocupados buscando repeticiones (señales provenientes del mismo punto estelar y aproximadamente la misma frecuencia, pero en instantes diferentes). Esto nos llevará varios meses.

JJSAC: ¿Crees que gracias a SETI@Home seremos capaces de llegar a percibir claramente una señal de vida extraterrestre algún día?
DA: Probablemente no. Nuestra tecnología (Arecibo, el poder de computación) está todavía en su infancia, y las señales de otras estrellas serían MUY difíciles de detectar, porque las estrellas están tan lejos.

JJSAC: ¿Qué tipo de señal crees que sería o será?
DA: Si captamos una señal, podría contener información (como una transmisión de TV) o no (como el radar). Podríamos estar destinados a escucharlo o podríamos no estarlo. Entonces, ¿por qué deberíamos mirar?. Creo que hay tres razones fundamentales:
1. Cualquier información sobre vida alienígena sería muy valiosa para los biólogos, y podría ayudarnos a comprender más sobre la vida en la Tierra.
2. La señal podría contener información sobre tecnología – como en la película “Contact”, donde contenía instrucciones para viajar más rápido que la luz – o podría contener información que es interesante culturalmente – como música, literatura, o filosofía de una civilización alienígena.
3. Una señal vendría probablemente de una distancia de muchos años luz, esto quiere decir que podría tardar cientos de años que una respuesta alcanzase a los alienígenas y muchos miles de años que llegase a su estrella.
Creo que sería muy bueno para la raza humana comenzar a pensar en términos de largos periodos de tiempo (mejor que sólo consumir tan rápido como podamos), y también pensar en nosotros como especie única con un destino común en vez de un puñado de tribus en guerra.

JJSAC: Y así emplear la tecnología para subir un peldaño más en la escalera de la evolución. Oye, pero además de SETI, tenemos también otros casos en los que podemos aplicar el procesamiento distribuido en el bien de la Humanidad, como por ejemplo el proyecto de investigación contra el cáncer de United Devices y la Universidad de Oxford.
DA: En 2000 y 2001 se crearon varias compañías – United Devices, Entropia, Porivo, Popular Power para comercializar la computación P2P. Estas compañías afrontaban el mismo problema: Cómo atraer a un gran número de usuarios. Varias de ellas lanzaron proyectos – investigación contra el cancer, SIDA- siseñados para conseguir montones de usuarios, que habrían así utilizado sus ordenadores para una tarea “en bien de la Humanidad” además de sus tareas de trabajo habituales.
Este enfoque ha tenido bastante éxito - United Devices tiene alrededor de un millón de usuarios, por ejemplo – pero la mayoría de las empresas se han movido hacia un modelo “Intranet” que se concentra en dejar a un cliente utilizar sus ordenadores de sobremesa para tareas de computación distribuida antes que utilizar los ordenadores de toda la población.
En este caso concreto, el proyecto de investigación del cancer se encarga de buscar potenciales drogas contra el cancer. Esto se hace examinando una lista de varios millones de moléculas, y ejecutando una simulación molecular para ver cuales se enlazan con las proteinas que están presentes en las membranas de las células del cancer.
Así en efecto estamos usando los PCs como “laboratorios virtuales” en los que podemos investigar compuestos químicos sin necesidad de crearlos.

JJSAC: ¿Cuántas personas a fecha de hoy están poniendo a disposición sus PCs para cada uno de los proyectos?
DA: SETI@Home tiene tres millones y medio de usuarios, y el proyecto de investigación del cancer alrededor de un millón.

JJSAC: Hablando de la distribución. Oye, ¿ves una evolución (como piensas que vaya a evolucionar) de las arquitecturas de red con esto del procesamiento y almacenamiento distribuido? ¿Podríamos estar en la antesala del fin del modelo cliente-servidor?
DA: Algunas tareas computacionales – como SETI, análisis genético, etc. – poseen propiedades tales que las permiten utilizar el procesamiento distribuido. A saber, pocas o nulas dependencias entre los datos, y mucho cálculo por unidad de datos.
Otras tareas no poseen estas propiedades, y se adaptarán mejor a una arquitectura centralizada (ej. Multiprocesador de memoria compartida).
Del mismo modo, a algunas tareas de almacenamiento les va bien la distribución. Como servicio de medios digitales (TV/películas/radio), servicio web, archivo de ficheros, algunas bases de datos, etc.
Por otra parte, tareas de almacenamiento que conlleven actualizaciones de datos frecuentes se adaptan mejor a la arquitectura cliente/servidor.

JJSAC: En el caso de que se extrajera algún resultado concreto positivo a partir de una de las señales procesadas ¿se le comunicaría al usuario de la máquina?
DA: Sí en el caso de SETI@home. En el caso de la iinvestigación del cancer, lo dudo. Los resulatdos son propiedad de la Universidad de Oxford, y como a la mayoría de las Universidades no les gusta compartir su propiedad intelectual.

JJSAC: ¿Recuerdas alguna anécdota?
DA: Mi correo electrónico preferido de un usuario es el siguiente:

“Estimado Dr. Anderson,

Me bajé la versión para Mac de SetiAtHome esta mañana y la instalé y deje ejecutándose en el Mac PowerPC Performa CD6200 que está en la habitación de mi hijo de 13 años. Ha estado ejecutándose durante todo el día. Cuando le llegó la hora de irse a la cama, yo fui a apagarlo (porque hace un poquito de ruido y siempre le ha molestado cuando estaba durmiendo).
Por primera vez me dijo: “no”. Yo le dije: “Pero tu antes siempre lo querías apagado--¿no te molestará?”. El respondió: “No. Está bien. Antes me molestaba porque no estaba haciendo nada. Ahora está haciendo algo”.
El piensa que Seti es fantástico”.

JJSAC: No me extraña, pues la verdad es que en ambos casos las interfaces son lo suficientemente atractivas como para que con solo ver el salvapantallas la gente se enganches. Es curioso en las oficinas el efecto “avalancha” que puede llegar a generarse. Incluso conozco gente que nunca apaga el PC pues como este niño considera que está trabajando.
Pero además de estos proyectos de investigación, desdetu compañía (UD) también se comercializa la computación distribuida en el sector privado. ¿Se encuentran abiertas las empresas al P2P y como se ve desde la dirección que los equipos de los empleados se destinen a procesar información corporativa?
DA: Ha sido algo dificil de vender, pero ha habido un avance. Muchas compañías tienen aproximadamente 1 PC por empleado, y esto les permitiría realizar importantes cálculos sin tener que comprar un banco de caros procesadores.
La resistencia tiene que ver más con el control – A los departamentos de IT les gusta tener los ordenadores físicamente bajo su control – que con la seguridad de los datos.

JJSAC:¿Qué estáis ofertando a las empresas?
DA: Un sistema de seguridad – agente, software, servidor y un SDK para facilitar la migración de sus aplicaciones existentes a una ejecución distribuida.

JJSAC: ¿Y qué hay sobre el Gobierno? La red ARPA, antecesora de Internet, tiene su origen conceptual en la distribución. ¿Están trabajando o han demostrado interés en algún tipo de aplicación?
DA: Sí. Nosotros (United Devices) estmos en conversaciones con el Gobierno de los Estados Unidos acerca de la utilización de sus ordenadores (¡varios millones!) para el procesamiento P2P. También hay un gran proyecto llamado “The Grid” dedicado a vincular los grandes ordenadores de las universidades con los laboratorios de investigación del Gobierno.

JJSAC: Suena interesante. Oye, para finalizar, ¿Con que proyectos nos vas a sorprender en el futuro?
Yo estoy muy interesado en un proyecto que pretende utilizar la computación distribuida para predecir los cambios climático en le largo plazo; específicamente ¿estamos en vías de destruir nuestro planeta por la excesiva y acelerada combustión de petroleo que estamos haciendo?
Yo quiero combinar este, y otros proyectos, en SETI@home de forma que la gente pueda utilizar fácilmente sus ordenadores para una diversidad de causas.
También estoy trabajando en otro proyecto que no tiene relación con este y que tiene que ver con la enseñanza eficaz a una población diversa de estudiantes. Pero dudo que esto tenga tanto éxito como SETI@Home

JJSAC: ¡Fascinante!. Muchas gracias David, ha sido un placer hablar contigo. Te deseamos mucha suerte en todos estos proyectos, que sigas teniendo tanto éxito como hasta la fecha y te invitamos a que vuelvas a hablarnos de ellos cuando quieras.


DA: ¡Gracias!.

Bit - Nº 131

 

Puntitos.gif (823 bytes) Sumario
Puntitos.gif (823 bytes) Editorial
Puntitos.gif (823 bytes) Opinión (I)
Puntitos.gif (823 bytes) Opinión (II)
Puntitos.gif (823 bytes) Opinión (III)
Puntitos.gif (823 bytes) T.R. Murcia 
Puntitos.gif (823 bytes) Aragón
Puntitos.gif (823 bytes) A Vuelapluma
Puntitos.gif (823 bytes) Cataluña Bit a Bit 
Puntitos.gif (823 bytes) Gente Bit
Puntitos.gif (823 bytes) Display
Puntitos.gif (823 bytes) Display Empresa
Puntitos.gif (823 bytes) Entrevista
Puntitos.gif (823 bytes) Especial
Puntitos.gif (823 bytes) Café Redacción
Puntitos.gif (823 bytes) GRETEL
Puntitos.gif (823 bytes) Portal Ingeniería
Puntitos.gif (823 bytes) Perfil
Puntitos.gif (823 bytes) ¿Qué es?
Puntitos.gif (823 bytes) Tecn. Sociedad I
Puntitos.gif (823 bytes) Tecn. Sociedad II
Puntitos.gif (823 bytes) Tecn. Sociedad III
Puntitos.gif (823 bytes) Rincón  Internet
Puntitos.gif (823 bytes) Marco Regulador
Puntitos.gif (823 bytes) Pulso del Mercado
Puntitos.gif (823 bytes) Bit Recomienda
N

 

jsanchez.jpg (9606 bytes)

Juan José Sánchez 
Aguila-Collantes
Ingeniero de Telecomunicación por la UPM
--e-Relationship Programme Manager. División Airtel. Ericsson España, S.A.

juan-jose.sanchez-aguila@ree.ericsson.se