folding@home - departamento de sistemas informáticos · buscar cualquier equipo o usuario por su...

Post on 04-Jul-2020

2 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

FOLDING@HOME

José Herminio Parreño PiquerasAndrés Olivas Velasco

ÍNDICE DE CONTENIDOS

1. INTRODUCCIÓN: 1.1. Computación distribuida

1.2.Las proteínas y su plegamiento

2. FOLDING@HOME2.1. ¿Qué es Folding@home?2.2. ¿Cómo funciona?

2.3. Estudios en los que colabora Folding@home 2.4. Sistema de equipo2.5. Folding@home en cifras2.6. Otros proyectos2.7. Conclusión

Apéndice A. Folding@home en PC - Tutorial de instalación- Visualización de un log de trabajo de Folding@home

Apéndice B. Folding@home en PlayStation 3

1. INTRODUCCIÓN

Antes de pasar al estudio del sistema Folding@home debemos tener claros algunos conceptos. A modo de introducción vamos a definir qué es la computación distribuida en la que se basa el programa, así como la función de las proteínas y la importancia de estudiar su plegamiento.

1.1. Computación distribuida

La computación distribuida, es un nuevo modelo para resolver problemas de computación masiva utilizando un gran número de ordenadores -generalmente de bajo coste- organizados en racimos incrustados en una infraestructura de telecomunicaciones distribuida, como por ejemplo, Internet. Ha sido diseñada para resolver problemas demasiado grandes para cualquier supercomputador y main-frame, mientras se mantiene la flexibilidad de trabajar en múltiples problemas más pequeños, conceptualmente, es una solución muy sencilla, un «divide y vencerás» de toda la vida.

La computación grid es una tecnología que permite utilizar de forma coordinada todo tipo de recursos (entre ellos cómputo, almacenamiento y aplicaciones específicas) que no están sujetos a un control centralizado. Es una nueva forma de computación distribuida, en la cual los recursos pueden ser heterogéneos (diferentes arquitecturas, supercomputadores, clusters...) y se encuentran conectados mediante redes de área extensa (en la mayoría de los casos por Internet).

Las primeras aplicaciones de la tecnología Grid fueron en proyectos como la búsqueda de rastros de vida inteligente en el ruido espacial (SETI@home) o, como en el caso que nos ocupa, para la lucha contra enfermedades. Este tipo de proyectos requiere de capacidades de cálculo que desbordan cada vez más las soluciones tradicionales basadas en grandes y costosos supercomputadores. La tecnología Grid permitirá gestionar y distribuir la potencia de cálculo disponible en cada momento.

Cuando un ordenador no esté siendo utilizando el cien por cien de su capacidad, solicitará al servidor parte de algún cálculo que se deba realizar. Una vez finalizado el trabajo, mandará los resultados y recogerá nuevas tareas. Al utilizar únicamente los ciclos libres del procesador, los usuarios de los ordenadores del centro no sufren ningún retraso y los investigadores disponen de un supercomputador virtual.

1.2. Las proteínas y su plegamiento

Las proteínas son los “motores” de la Biología, ocupan un lugar de máxima importancia entre las moléculas constituyentes de los seres vivos. Prácticamente todos los procesos biológicos dependen de la presencia y/o actividad de este tipo de sustancias. Son moléculas de gran tamaño formadas por largas cadenas lineales aminoácidos. Existen unos 20 aminoácidos distintos, que pueden combinarse en cualquier orden y repetirse de cualquier manera. Una proteína media está formada por unos cien o doscientos aminoácidos alineados, lo que da lugar a un número de posibles combinaciones diferentes realmente abrumador (en teoría 20200). Y por si esto fuera poco, según la configuración espacial tridimensional que adopte una determinada secuencia de aminoácidos, sus propiedades pueden ser totalmente diferentes.

Las proteínas para poder desempeñar sus funciones bioquímicas primero se deben auto ensamblar, o "plegarse". El plegamiento de proteínas es el proceso por el que una proteína alcanza su estructura tridimensional. La función biológica de una proteína depende de su correcto plegamiento. Si una proteína no se pliega correctamente será no funcional y, por lo tanto, no será capaz de cumplir su función biológica. No sorprende, por tanto, que cuando las proteínas no se pliegan correctamente, puedan producirse consecuencias graves, que incluyen a enfermedades ampliamente conocidas, tales como las enfermedades de Alzheimer, de la vaca loca (Encefalopatía Espongiforme Bovina), de Creutzfeldt-Jacob, la Esclerosis Lateral Amiotrófica, el mal de Parkinson y algunos cánceres. Todas estas enfermedades están íntimamente ligadas a un error en el proceso de plegamiento de las proteínas, que dan lugar a estructuras terciarias nocivas (conocidas como priones), que normalmente dañan al organismo, especialmente al cerebro; desarrollándose así los síntomas de estas enfermedades.

Observamos la diferencia en la organización de una proteína con un plegamiento normal y otro anómalo

La predicción de estructura de proteínas es una de las áreas más significativas dentro de la bioinformática y la química teórica. Su objetivo es predecir la estructura tridimensional de las proteínas a partir de su secuencia de aminoácidos. Esta predicción de estructuras de proteínas es de gran importancia en medicina y biotecnología. En este documento vamos a estudiar un programa que realiza este tipo de predicción, Folding@home.

2. FOLDING@HOME

2.1. ¿Qué es Folding@home?

Folding@home (Plegamiento en casa) es un programa desarrollado por la Universidad de Stanford, cuyo objetivo es comprender el plegamiento y agregación de las proteínas y las enfermedades relacionadas mediante la simulación del plegamiento de las proteínas en un entorno de cálculo distribuido. Del mismo modo, esta comprensión dará lugar al desarrollo de fármacos y el descubrimiento de nuevas vías de investigación para el tratamiento de terribles enfermedades.

Folding@home utiliza métodos de computación avanzada y computación distribuida a gran escala, para simular escalas de tiempo miles a millones de veces mayores que las previamente obtenidas. Esto ha permitido simular el plegado proteico por primera vez. Aunque el plegado proteico es un proceso muy rápido en el organismo, (se llegan a plegar un millón de proteínas en un segundo en una célula de nuestro organismo), es muy costoso computacionalmente de simular, de hecho, se puede simular un nanosegundo de plegamiento... ¡en un día entero de computación intensiva de CPU!

La solución que se ha propuesto es utilizar algoritmos de computación distribuida para reducir drásticamente estos tiempos de cómputo.

2.2. ¿Cómo funciona Folding@home ?

Folding at Home trabaja, como ya se ha comentado, sobre el principio de dividir el trabajo que un gran súper computador haría y se envía a miles de usuarios que utilizan algún tipo de cliente para hacer los cálculos donando su capacidad de cálculo no utilizada.(La CPU en un ordenador está inactiva la mayor parte del tiempo)

Pasos en el funcionamiento de Folding@home:

1.- Un usuario descarga el programa cliente de Folding@home de la página oficial del proyecto o de otro servidor de descarga. http://folding.stanford.edu. Existen versiones del programa para la mayoria de los sistemas operativos del mercado, Windows XP/Vista, Linux, MacOS, ect.

2.-Se le asigna al cliente un identificador único (en función del usuario y la máquina), además este cliente es asignado mediante un servidor de asignamiento a un proyecto (cada servidor tendrá un proyecto de investigación determinado). El cliente es asignado dinámicamente a cada uno de esos servidores.

Lista de servidores en funcionamiento con sus respectivos proyectos:http://fah-web.stanford.edu/psummary.html

3.- El PC descarga un núcleo de procesamiento y simula el procesamiento de la proteína. Este núcleo garantiza que el algoritmo de simulación de plegado es el adecuado y está actualizado correctamente.

4. Folding@home inicia la simulación utilizando los tiempos inactivos de la CPU y también si se desea se puede utilizar la capacidad de procesamiento de la GPU (Graphic Processor Unit) de las tarjetas gráficas.

5- Tras la simulación, los resultados son enviados a la base de datos del proyecto/servidor y estos son procesados, tras esto el cliente vuelve al paso 2.

Los resultados de Folding@home se hacen públicos para que así cualquier corporación, laboratorios, etc, pueda usar os datos de los cálculos y no tenga que procesar o simular nuevamente las proteínas.

2.3. Estudios en los que colabora Folding@home

A continuación se muestran algunos de los estudios más importantes en los que contribuye activamente el sistema Folding@home:

Enfermedad de Alzheimer:

La enfermedad de Alzheimer, está causada por la unión de proteínas relativamente pequeñas (42 aminoácidos), llamados alpha-péptidos, estas pequeñas proteínas están relacionadas con la destrucción progresiva de células cerebrales y la degeneración celular de la materia gris del cerebro.

Folding@home está estudiando el desarrollo de un posible biofármaco que se asocie a los alpha-péptidos para formar una proteína conjunta que sea inocua para el organismo.

Enfermedad de Huntington :

Al igual que la enfermedad de Alzheimer, la enfermedad de Huntington está causada por la unión de pequeñas proteínas que curiosamente sólo están formadas por un tipo de aminoácido, (Guanina). Mediante Folding@home se están estudiando el desarrollo de bio-fármacos que ataquen esas uniones de amino-ácidos para convertirlas en inocuas.

Cáncer :

El gen p53, también llamado el "guardián del genoma", se encuentra en el brazo corto del cromosoma 17 y codifica un factor de transcripción proteica. Resulta esencial para inducir la respuesta de la célula ante el daño del ADN, deteniendo el ciclo celular en caso de mutación. Si esta proteína no se pliega correctamente, o no se pliega lo suficientemente rápido, no realiza su función avisando a la célula, pudiendo dar lugar a que se desarrolle un cáncer.

Se usa Folding@Home para simular el plegamiento de este gen y poder comprender el mecanismo completo, pudiendo así desarrollar fármacos que puedan ayudar a resolver el plegamiento incorrecto de esa proteína.

Desarrollo de antibióticos:

Los ribosomas son como máquinas moleculares que desempeñan un papel muy importante en la biología, ya que es la que permite la síntesis de las proteínas. Los antibióticos suelen tener como objetivos las ribosomas de las bacterias, que dañándolas, las eliminan definitivamente.

Fotografía electrónica de un ribosoma

Folding@home está estudiando el misterioso proceso de síntesis proteica en los ribosomas. Además se está barajando el desarrollo de moléculas proteicas más eficaces que darán lugar a mejores antibióticos para atacar a los ribosomas de las bacterias.

Enfermedad de Parkinson:

Se están desarrollando estudios preliminares sobre la proteína “Synuclein alpha”, que suele encontrarse en el cerebro, en la zona del neocortex, hipocampo, hipotálamo, ect, Se está estudiando el mecanismo plegamiento o mal-plegamiento de esta proteína y el comienzo de los síntomas de la Enfermedad de Parkinson. También se estudia la posible mutación del gen que genera esta proteína, y posibles moléculas proteicas que al asociarse a esta puedan volverla inocua.

Estructura terciaria del Alpha-synuclein

2.4. Sistema de equipos

Con el fin de captar adeptos y fomentar su uso, Folding@home implementa un sistema de equipos y ranking. Cada instancia de Folding@home tiene asignada un usuario y a su vez este usuario puede pertenecer a un equipo formado por más usuarios, y por cada unidad de proceso completada el usuario y su equipo reciben una puntuación. La finalidad es competir con otros usuarios por estar lo más arriba posible del ranking consiguiendo la mejor puntuación posible.

Con este reclamo el proyecto Folding@home ha logrado captar una gran cantidad de adeptos quienes compiten en equipos para procesar tantas unidades de datos como sea posible, se ha conseguido llegar ya a la cifra de 150.000 equipos distintos. En la web oficial de Folding@home encontramos una sección donde podemos acceder a las estadísticas de todos los usuarios y equipos que participan en el proyecto. Podemos, por ejemplo, ver el ranking de los mejores equipos y usuarios. También podemos buscar cualquier equipo o usuario por su nombre o número de equipo.

Existen equipos de todo el mundo, incluyendo por supuesto equipos españoles. Si buscamos la palabra “spain” obtenemos 46 equipos que contienen dicha palabra en su nombre de equipo, realmente existen muchos más equipos españoles participando, pero no tienen por que contener la palabra “spain”.

Tomaremos como muestra el equipo de la conocida web de videojuegos española “elotrolado.net”. Podemos ver que cuenta con 782 miembros y que se encuentra en un más que aceptable puesto 409, recordemos que existen 150.000 equipos de todo el mundo compitiendo.

10 mejores equipos

10 mejores usuarios

2.5. Folding@home en cifras

Folding@home sigue creciendo cada año y aumentando su capacidad total de cómputo. En la siguiente gráfica podemos ver la evolución del sistema año tras año. A finales de 2008 ha conseguido superar las 350,000 CPUs trabajando a la vez con Folding@home.

En la siguiente tabla podemos ver los datos de computo divididos según el sistema operativo donde esta instalado Floading@Home. La capacidad de computo de todos los sistemas juntos equivale a 4579 TFLOPS (TFLOPS=1012 operaciones en coma flotante por segundo), lo que hace visible la gran envergadura del proyecto.

Gracias a esa enorme capacidad de procesamiento, Floading@Home consiguió el “Guinness World Record” el 16 de Septiembre de 2007 por alcanzar una potencia de computo de 1 PFLOP (petaFLOP, 1015 FLOPS), es decir, 1000 billones de operaciones en coma flotante por segundo.

2.6. Otros proyectos

Existen muchos otros proyectos de computación distribuida en el campo de la medicina, la biología y la bioinformática, algunos de ellos son:

Seti@Home – Fue el primer sistema de computo distribuido y procesa señales de radio para buscar una prueba de inteligencia extraterrestre.

Cels@Home - Estudia la adhesión celular (y otros substratos). Una de las muchas aplicaciones de este proyecto es la investigación sobre el cáncer, como el punto en el que las células cancerígenas dejan de permanecer en su sitio para desplazarse por todo el cuerpo.

FightAIDS@Home - Es un proyecto con el foco dirigido al uso de métodos de computación para identificar fármacos candidatos que posean la forma correcta y las características químicas para bloquear la proteasa del HIV (virus del SIDA).

Superlink@Technion - Ayuda a los científicos a encontrar genes que producen enfermedades tales como algunos tipos de diabetes, hipertensión, cáncer y esquizofrenia, entre otras enfermedades.

MindModeling@Home - Este proyecto se centra en la utilización del modelado computacional de procesos cognitivos para comprender mejor la mente humana y procura entender mejor los mecanismos y procesos que permiten y moderan el rendimiento y aprendizaje humano.

Genetic Life - Investiga actualmente la evolución de sistemas basados en simples juegos de instrucciones (algoritmos genéticos).

También existe otros proyectos de computación distribuida en áreas tan diversas como astronomía, astrofísica, climatología, criptografía, física, química, matemáticas o nanotecnología.

Listado de distintos proyectos de computación distribuida:http://foro.noticias3d.com/vbulletin/showthread.php?t=192297

2.7. Conclusión

La instalación y el uso de Folding@home es realmente sencilla, además supone ningún tipo de ralentizamiento en el PC por el uso de este programa cliente. Y su ejecución contribuye a una ampliación del conocimiento científico y de investigación en la lucha contra terribles enfermedades y patologías. Sin duda es un programa muy útil y es una muestra clara de que gracias pequeños aportes desinteresados se pueden hacer grandes cosas, por tanto, recomendamos la instalación de Folding@home y colaborar así desinteresadamente en el desarrollo e investigación científica.

APENDICE A: Folding@home en PC

-Tutorial de Instalación en PC (versión WINDOWS XP)

Folding@home está disponible para descargar en su web oficial para cualquier sistema operativo (Windows XP/VISTA,Linux, MacOS ect), Una vez descargado, la instalación para Windows es sencilla, basta con ejecutar el archivo Folding@home-Win32-x86-systray-623.msi .

Una vez instalado, el software nos preguntará por un nombre de usuario y un nombre de grupo (por si queremos pertenecer a uno)

Folding@home se ejecuta en el Systray y no ralentiza el pc ya que aprovecha los momentos de inactividad del pc o la GPU (La unidad de procesamiento de la tarjeta gráfica) para realizar sus cálculos.

En el panel de control también se podrán definir otros aspectos de conexión (por si estamos detrás de un proxy), y en opciones avanzadas, podremos configurar la cantidad de porcentaje de procesador que queremos utilizar para el cálculo de procesamiento de las proteínas. La instalación y el uso de Folding@Home no podría ser más sencillo.

Imagen de display de la forma terciaria de una proteína calculándose en un PC usando Folding@home

-Visualización y comentario de un log de trabajo de Folding@home :

[23:21:26] Initialization complete[23:21:26] - Preparing to get new work unit...[23:21:26] + Attempting to get work packet[23:21:26] - Connecting to assignment server[23:21:27] - Successful: assigned to (171.64.122.136).[23:21:27] + News From Folding@Home: Welcome to Folding@Home[23:21:27] Loaded queue successfully.[23:21:31] + Closed connections[23:21:31] [23:21:31] + Processing work unit[23:21:31] Core required: FahCore_78.exe[23:21:31] Core not found.[23:21:31] - Core is not present or corrupted.[23:21:31] - Attempting to download new core...[23:21:31] + Downloading new core: FahCore_78.exe

Como podemos observar, primero un servidor encargado de asignar clietnes a servidores nos asigna el proyecto del servidor 171.64.122.136

15:42:39] Project: 2527 (Run 10, Clone 43, Gen 8)[15:42:39] [15:42:39] Assembly optimizations on if available.[15:42:39] Entering M.D.[15:43:00] (Starting from checkpoint)[15:43:00] Protein: p2527_Am22-43[15:43:00] [15:43:00] Writing local files[15:43:00] Completed 80000 out of 2000000 steps (4%)[15:43:00] Extra SSE boost OK.[16:15:43] Writing local files[16:15:43] Completed 100000 out of 2000000 steps (5%)

Llegados a este punto, Folding@Home trabajará usando intervalos de inactividad en el procesador, y al procesar toda la proteína, la enviará los resultados a la base de datos correspondiente del servidor y el proyecto previamente asignados.

[03:53:16] Completed 2475000 out of 2500000 steps (99%)[03:57:05] Writing checkpoint files[03:59:28] Writing local files[03:59:28] Completed 2500000 out of 2500000 steps (100%)[03:59:28] Writing checkpoint files[04:00:28] [04:00:28] Finished Work Unit:[04:00:28] Leaving Run[04:00:29] - Writing 310502 bytes of core data to disk...[04:00:29] ... Done.[04:00:29] - Shutting down core[04:00:29] [04:00:29] Folding@home Core Shutdown: FINISHED_UNIT[04:00:32] CoreStatus = 64 (100)[04:00:32] Unit 0 finished with 98 percent of time to deadline

remaining.[04:00:32] Updated performance fraction: 0.986868[04:00:32] Sending work to server[04:00:32] Project: 2527 (Run 15, Clone 49, Gen 38)

[04:00:32] + Attempting to send results [December 13 04:00:32 UTC][04:00:32] - Reading file work/wuresults_00.dat from core[04:00:32] (Read 310502 bytes from disk)[04:00:32] Connecting to http://169.230.26.30:8080/[04:00:33] Posted data.[04:00:33] Initial: 0000; - Uploaded at ~304 kB/s[04:00:33] - Averaged speed for that direction ~202 kB/s[04:00:33] + Results successfully sent[04:00:33] Thank you for your contribution to Folding@Home.[04:00:33] + Number of Units Completed: 358

Folding@Home automáticamente buscará otro proyecto para seguir contribuyendo.

APÉNDICE B : Folding@home en PlayStation3

Folding@home, inicialmente sólo estaba disponible para ordenadores, pero el 23 de marzo de 2007 hizo su aparición en PlayStation 3. Es la primera vez que se permite el uso de una videoconsola para este tipo de programas. Además la consola tiene una potencia de cómputo mucho mayor a la de cualquier ordenador estándar, por lo que rápidamente se ha convertido en uno de los sistemas que más aporta al proyecto.

La versión de Folding@home de PS3 es algo diferente a la versión de ordenador ya que no usa sólo los recursos que no se este usando en la videoconsola ni actúa en segundo plano. En ps3 el programa descargará a nuestra consola una tarea (alrededor de 1 Mb) y haciendo uso del poder de computación de la videoconsola resolverá la tarea y devolverá el resultado obtenido. La resolución de la tarea tiene un tiempo estimado de resolución de 8 horas, este tiempo no tiene por que ser consecutivo si no que podemos dejar la consola calculando en distintos periodos de tiempo. Durante el tiempo de calcula de Folding@home no podremos jugar a un videojuego con la consola, sólo se permitirá navegar por Internet y escuchar música con ella. El sistema esta pensado para dejarlo procesando durante la noche y aunque son necesarias 8 horas para resolverlo se necesita el resultado calculado en al menos dos días, tras este tiempo si no hemos enviado la respuesta nuestra tarea expirará. Esto se debe a que futuras tareas dependerán de la resolución de la anterior y no se puede esperar más tiempo para obtener el resultado.

Inicialmente era necesario descargar el programa en la videoconsola para poder usarlo, pero desde la versión 1.6 del sistema de la consola viene incluido directamente. Para que el programa comience a trabajar no tendremos más que iniciarlo desde el menú de la consola.

Menú de PS3

Sólo es necesario estar conectado a Internet a la hora de descargar las tareas y cuando se envía el resultado obtenido, pero si durante el proceso de cálculo se esta conectado se pueden ver los ordenadores y PS3 que están colaborando en ese momento con Folding@home en el mapa del mundo, indicados como un puntito de luz.

Captura de pantalla del programa en uso

Se adjunta al documento una captura de vídeo que hemos realizado del programa ejecutándose en una PlayStation 3. Archivo: PS3.wmv

Para más información consultar “Folding@home PS3 FAQ “:http://folding.stanford.edu/English/FAQ-PS3

Bibliografía

Web oficial Folding@home: http://folding.stanford.edu/

Lista de servidores en funcionamiento con sus respectivos proyectos:http://fah-web.stanford.edu/psummary.html

Listado de distintos proyectos de computación distribuida:http://foro.noticias3d.com/vbulletin/showthread.php?t=192297

Información extra: http://es.wikipedia.org

top related