Este post pretende ser una
breve descripción de la computación distribuida y de su aplicación práctica a nuestros ordenadores personales. Para profundizar más en el tema recomiendo visitar los enlaces que se mostrarán.
Por supuesto, cualquier aportación será bienvenida.
¿Qué es la computación distribuida?
Es un método de proceso de datos en el cual diferentes computadoras situadas en distintos lugares corren partes de un programa y se comunican con un servidor que se encarga de entregar y recoger las tareas que se van procesando.
Básicamente consiste en dividir cálculos enormes en trozos pequeños que pueden procesar nuestros ordenadores, haciendo que se necesite menos tiempo para el trabajo final al trabajar en paralelo.
Diferentes proyectos de computación distribuida:
Aprovechando la gran capacidad de cálculo de este método se han iniciado bastantes proyectos que hacen uso de ella con objetivos bien diversos. En este post hablaré de los que he probado:
Grid.org: Activo desde el 2001, busca interacciones de ciertos medicamentos con diferentes proteínas con el objetivo de encontrar una posible cura a ciertos tipos de cancer. Creado en alianza con la Universidad de Oxford y la National Foundation for Cancer Research, anuncia que los resultados obtenidos se harán
públicos. Actualización: este proyecto se finalizó el 27 de Abril del 2007, recomiendo World Community Grid para sustituirlo.
Seti@Home: Iniciado en 1999, es el pionero en este tipo de proyectos globales. Consiste en el uso de ordenadores conectados a internet para el procesamiento de señales de radio (recibidas en el radiotelescopio de Arecibo) con el fin de buscar una prueba de inteligencia extraterrestre.
World Community Grid: Similar en su concepción al de United Devices (de hecho comparten alguna investigación), agrupa varios proyectos (
lucha contra el SIDA ,
plegamiento de proteínas ,
lucha contra el cáncer ,
comparación del genoma humano ,
lucha contra la distrofia muscular ) que se procesan con un mismo programa. Como el UD, también anuncian la publicación de los resultados obtenidos.
Folding@Home: Creado en el 2000 y conducido por la Universad de Stanford está diseñado para realizar simulaciones por ordenador de plegamiento de proteínas, que ayudará a comprender el desarrollo de enfermedades como el alzheimer, la fibrosis quística, la enfermedad de las vacas locas o el cáncer.
Funcionamiento práctico:
Básicamente consiste en instalar un pequeño programa en nuestros ordenadores que a su vez se descargará un trozo de la tarea del proyecto al que os habéis unido. Una vez descargado, el programa se pondrá a procesar la tarea usando los
recursos no utilizados de vuestro ordenador y, cuando termine el proceso, enviará los resultados al servidor del proyecto y se descargará la siguiente tarea.
Los participantes de estos proyectos pueden usar un nombre de usuario para mantener un registro de sus contribuciones. Cada participante puede usar una o más CPUs para ejecutar el programa. Un grupo de usuarios pueden crear un equipo (en ElOtroLado tenemos varios), de forma que otros participantes puedan unirse a ellos. A los participantes se les asigna una puntuación, en función de la cantidad y complejidad de las unidades de trabajo completadas. Las clasificaciones y estadísticas se pueden ver en los sitios webs de sus respectivos proyectos.
PREGUNTAS FRECUENTES SOBRE ESTOS PROGRAMAS:
¿Esto me cuesta dinero?
No, no hay que pagar absolutamente nada. Sólo faltaría eso.
Hay muchos proyectos, ¿a cuál me uno?
Es una decisión personal que ha de ser tomada en base a la información que existe de ellos en sus respectivas páginas y en la Wikipedia, o simplemente por tener un cliente que te guste más que otros.
¿Cómo sé que no espían lo que hago con mi ordenador?
Algunos de estos programas son de código abierto, con lo que se puede repasar cómo están programados y verificar que no es así, y los que no son están conducidos por importantes universidades y centros de investigación y llevan unos años funcionando sin ningún problema al respecto. En cualquier caso, cada cual es libre de creer esto o no y, por supuesto, de usar el programa.
¿No usarán el trabajo de todos para enriquecerse ellos con los resultados?
La totalidad de estos proyectos certifican que lo que se obtenga de ellos se hará público y no se usará con ánimo de lucro por parte de las empresas interesadas. Aun así, y como hemos referido antes, “cada cual es libre de creer esto o no y, por supuesto, de usar el programa”.
¿Cuántos recursos consumen estos programas?
En cuanto a memoria, y dependiendo del programa concreto, suelen estar por debajo de los 10MB, algo que no supone demasiado en un ordenador medianamente moderno.
Si hablamos de procesador, generalmente estos programas usan el 100% de tu procesador, pero al asignárseles siempre la prioridad más baja entre los diferentes procesos que tengas corriendo, sólo usan el porcentaje de CPU que no usas.
Puedo asegurar que tengo estos programas corriendo mientras navego, uso suites ofimáticas, juego, comprimo Divx o MP3 y no noto nada mientras estoy procesando para estos proyectos.
Si andas justo de recursos o no quieres tener nada funcionando mientras tú usas el ordenador, siempre puedes dejar que estos programas corran sólo mientras salta el salvapantallas.
Mi procesador se calienta al usar estos programas, ¿es normal?
Sí, al darle un mayor uso al procesador es normal que se caliente, por eso no están recomendados si tienes problemas de temperatura con tu ordenador. De todas maneras, programas como WorldCommunityGrid y Folding@Home te permiten directamente elegir el porcentaje que quieres que use.
¿Necesito estar permanentemente conectado a Internet?
No, los diferentes programas sólo necesitan conectarse a Internet para recibir y enviar las diferentes tareas, que generalmente son muy pequeñas (menos de 1MB) y se envían una o dos veces al día.
No voy a usar mi ordenador durante unas horas, ¿debo dejarlo encendido para que use estos programas?
Rotundamente no. La finalidad de estos proyectos es que los recursos “inútiles” de tu ordenador sean usados para procesar datos, no que desperdiciemos energía eléctrica y encarezcamos nuestra factura.
Me dura menos la batería de mi ordenador portátil al usarlos, ¿es normal?
Sí, al hacer más uso del procesador el portátil consume más energía y la batería, lógicamente, dura menos. Por ello no está recomendado usarlo en ordenadores portátiles desenchufados de la red.
¿Soy un insolidario por no querer usar estos programas?
No, cada cual elige dónde y cómo quiere colaborar (si es que quiere hacerlo).
¿Es esto exclusivo de Windows?
No, la mayoría de estos proyectos tienen clientes para diferentes plataformas como Linux o MAC.
No dispongo de ordenador propio pero sí tengo una consola. ¿Puedo contribuir?
En la actualidad el proyecto Folding@Home es el único que puede usarse en una consola (PS3) e incluso permite procesar datos con tarjetas gráficas modernas. Esperemos que en un futuro próximo esta cuota se amplíe.
¿Qué son los puntos y para qué sirven?
Los puntos son un modo de incentivar a la gente a colaborar con estos proyectos y de alguna manera poder "cuantificar" la cantidad de trabajo que aporta cada uno. Aunque depende del programa en concreto, suelen otorgarse en base al tiempo de computación y los "pequeños éxitos" conseguidos.
¿Necesito acabar una tarea antes de apagar el ordenador?
No, los programas guardan sus avances cada cierto tiempo, y en algunos te permite configurar cómo lo hacen.
Quiero unirme a uno de los equipos de ElOtroLado que existen. ¿Cómo lo hago?
En el caso del United Devices tienes este hilo en la zona de PC de ElOtrolado, o el enlace directo al equipo existente.
Para Folding@Home sólo has de introducir el número 52394 en la configuración del programa. Si quieres ver las estadísticas del equipo pincha en este enlace. Hilo Oficial de Folding@Home.
Para WorldCommunityGrid éste es el enlace al equipo. Hilo de World Community Grid en EOL
Para Seti@Home no existe equipo todavía (que yo sepa). Si este es tu proyecto elegido, ¡anímate a crearlo!
Links de utilidad (Wikipedia):
En castellano:
*
Computación distribuida
*
World Community Grid
*
Seti@Home
*
Folding@Home
En Inglés:
*
Distributed Computing
*
Grid.org.
*
World Community Grid
*
Seti@Home
*
Folding@Home
Para cualquier consulta sobre un programa en concreto usad los hilos oficiales, por favor:
[COLOR=red]United Devices
World Community Grid
Folding@Home[/COLOR]
(Algunos textos extraídos, adaptados y traducidos de la Wikipedia y de las respectivas páginas de los proyectos)