viernes, 3 de abril de 2020

La iniciativa Folding@Home y el COVID-19








La página principal de Folding@Home (FAH) tiene una intro interesante: "Soy UNO en un UN MILLÓN".



Conocí de esta iniciativa por un post de William Lam... sobre la posibilidad de hacer folding desde casa.

Pero... qué es Folding?

 "Folding refers to the way human protein folds in the cells that make up your body. We rely on the proteins to keep us healthy and they assemble themselves by folding. But when they misfold, there can be serious consequences to a person’s health"

Traduciendo la definición:

"El plegamiento se refiere a la forma en que la proteína humana se pliega en las células que componen su cuerpo. Confiamos en las proteínas para mantenernos saludables y se ensamblan plegándose. Pero cuando se pliegan mal, puede haber graves consecuencias para la salud de una persona."


Por su puesto existe mucha información para profundizar sobre el tema, pero no es la idea ni tampoco tengo el conocimiento necesario. Para nuestro caso, tengamos en cuenta que es un proceso que requiere gran cantidad de cómputo y es ahí donde podemos hablar un poquito más, y la razón principal de esta corta publicación.

Es importante señalar que F@H tiene muchas iniciativas o proyectos, y uno de los proyecto está asociado al COVID19. La idea es contribuir con capacidad de procesamiento para correr simulaciones que requieren enorme poder de cómputo, algo similar a lo que se hacía con la iniciativa SETI@Home.


Vamos a lo nuestro: pasos para empezar a plegar (folding)



En el sitio oficial de la iniciativa FAH están disponiblespara descargar los binarios e instalarlos. Existen para varios Sistema Operativos como Windows, macOS, y varias distribuciones de Linux (Debian/Mint/Ubuntu/RedHat/RedHat/Fedora).


Adicionalmente VMware ha creado un virtual appliance para simplificar la instalación. Se entrega como OVA y se puede desplegar sobre plataformas vSphere, VMware Workstation, y VMware Fusion.

En mi caso, lo desplegué en un entorno de lab sobre VMware Workstation. El proceso es muy sencillo, lo describiré brevemente:

1. Descargar el appliance en formato OVA (aprox. 280MB). Al momento de escribir este post está disponible la versión 1.0.2. Es de anotar que el Appliance está configurado para automáticamente para unirse al equipo VMware (ID 52737).

 

2. En la consola de VMware Workstation, abrimos el OVA recién descargado, y de inmediato veremos el asistente de importación de la máquina virtual



3. Seleccionamos un nombre y ubicación para el despliegue de la misma



4. Ahora debemos elegir el tamaño del despliegue.


De acuerdo a la documentación es mejor la más grande (Large) porque así se asignarán más unidades de trabajo (WU)*, pero va a depender de la capacidad del hardware que dispongamos en cada caso:
  • Small - 2 vCPU / 1GB RAM
  • Medium - 8 vCPU / 1GB RAM
  • Large - 16vCPU / 4GB RAM
5. Finalmente se solicitan algunos datos adicionales para el despliegue:

5.1. Networking

Todas las opciones pueden quedar por defecto, a menos que no se disponga de un servicio de DHCP que provea las mismas. En mi caso, definí una red en modo puente o bridge. Si requieres ayuda con esta configuración, en este blog hay una guía interesante.




5.2. Proxy Setting

Estas ventana es opcional. Se requiere si en el entorno se usa un proxy para la salida hacia internet. En ese caso, se debe llenar con las direcciones IP y credenciales respectivas.



5.3. OS Credentials

Acá debemos definir las credenciales para el SO (appliance). Es importante definir adecuadamente las credencial (NOTA: hay reportado un bug usando el signo % como parte de la clave). Acá también se puede habilitar el acceso vía SSH.





5.4. F@H Setting

Revisemos todas las opciones que tenemos acá:



F@H Username y F@H Passkey: son opcionales, pero se sugieren para poder identificar la contribución de cada individuo a la iniciativa. Se sugiere crear una cuenta, acá el enlace para hacerlo.
F@H Team ID: como ya lo anticipé, el ID por efecto es 52737, del VMware Team.
GPU: permite habilitar el uso de GPU (si es equipo lo tiene disponible). Hay ciertos requerimientos para usar GPU.
F@H Local MGMNT Networks: rango de direcciones locales desde donde se permite hacer la gestión (MGMNT) del appliance.
F@H Remote MGMNT Networks: rango de direcciones remotas desde donde se permite hacer la gestión (MGMNT) del appliance.
F@H Remote MGMNT Password:Por defecto es VMware1!, y permite acceder al MGMNT desde la interfaz web del appliance.

5.5. zAdvanced

Finalmente podemos habilitar el debugging en el appliance.



6. Con todas las opciones definidas, procedemos al despliegue del appliance:





Y listo, eso es todo!




Esta pantalla muestra la consola del appliance, y en este caso vemos que ya tenemos un WU asignado. 

Si obtienen un mensaje similar a este: ERROR:WU01:FS00:Exception: Could not get an assignment, seamos pacientes, no siempre se obtiene un WU rápidamente. 


Como ya lo mencioné, a mayor capacidad de cómputo disponible es más probable que se nos asignen WU. Es importante tener en cuenta que podemos detener o pausar el appliance cuando queramos, para liberar recursos que estemos necesitando; y encenderlo cuando tengamos nuevamente capacidad disponible. 

BONUS TRACK: Con la tecnología de WaveFont, está disponible este panel para ver cómo se han ido incrementabdo las iniciativas F@H del Team VMware.





Espero sea de utilidad, y se animen a hacerlo en sus equipos, y mejor aún si tiene un entorno corporativo disponible.



Saludos cordiales.


 


Referencias:
Página principal iniciativa Folding@Home
Definición Folding en Wikipedia
FAQ Folding @ Home 



No hay comentarios:

Publicar un comentario