Mettre des ressources à la disposition du projet Folding@Home contre le COVID-19 …

Image for post
Image for post

Impliqué depuis 15 jours dans la recherche contre le coronavirus SARS-CoV-2, le projet de recherche médicale Folding@Home ne cesse de gagner des utilisateurs. 400 000 nouveaux participants l’ont rejoint depuis deux semaines, lui conférant une puissance de calcul de 470 pétaflops… soit plus que les sept supercalculateurs les plus puissants du monde réunis. De quoi accélérer l’identification de nouvelles pistes pour vaincre la maladie.

Image for post
Image for post

Créé dans les années 2000 et historiquement soutenu par Google, Folding@Home repose sur la puissance de calcul non-utilisée des ordinateurs personnels d’utilisateurs volontaires. Le logiciel est disponible pour Windows, macOS et Linux. En cumulant la puissance de milliers d’ordinateurs, le projet permet d’accélérer les calculs liés à la recherche sur le repliement des protéines, qui sont très complexes.

Image for post
Image for post

Le projet met à disposition des paquets pour Windows, Linux et Mac :

Image for post
Image for post
Image for post
Image for post

Mais il y a aussi des Virtual Appliances comme celle offerte par la communauté VMware :

Image for post
Image for post

Je démarre en ce qui me concerne de l’image Docker fournie par Percona sur son site web :

Image for post
Image for post

Pour savoir si on travaille sur un projet lié à COVID-19, il faut exécuter ses containers sur l’un de ces projets en fonction de l’utilisation ou non de GPU :

  • Processeur: 14328–14329–14530–14531
  • GPU: 11741 à 11764

Je démarre d’un Scale Set de machines Ubuntu 18.04 LTS 64 Bits dans Azure :

Image for post
Image for post

#!/bin/bash
curl -fsSL https://get.docker.com | sh -
curl -s https://install.zerotier.com | sudo bash
zerotier-cli join <NETWORK ID>

Avec un premier cluster de noeuds maîtres pour Rancher avec Kubernetes :

Image for post
Image for post

Et j’y déploie pour le premier noeud, un serveur Rancher :

sudo docker run -d --restart=always -p 80:80 -p 443:443 -v /opt/rancher:/var/lib/rancher rancher/rancher:latest

Je configure le serveur rancher pour créer un nouveau cluster Kubernetes :

Image for post
Image for post

et j’applique l’initialisation du cluster pour les futurs trois noeuds maîtres :

Image for post
Image for post

Le cluster étant actif, je peux ajouter un nouveau Scale Set en Spot Instances (machines éphémères en fonction de la puissance de calcul de la région où elles se trouvent) en utilisant ce petit gabarit :

Image for post
Image for post
Image for post
Image for post

Et j’en lance une centaine avec ce script pour cloud-init qui utilise un réseau privé dans ZeroTier …

#!/bin/bash
curl -fsSL https://get.docker.com | sh -
curl -s https://install.zerotier.com | sudo bash
zerotier-cli join <NETWORK ID>
sudo docker run -d --privileged --restart=unless-stopped --net=host -v /etc/kubernetes:/etc/kubernetes -v /var/run:/var/run rancher/rancher-agent:v2.3.5 --server https://192.168.191.196 --token br9fsj4xrvzxbpjj42cs6ct5jqppvf6x72fvzbqd444695xxl82z4p --ca-checksum e9604b0d41fc6e404fe5770215b67edb34f3390e8a33e3e63430b58f5e55b021 --worker

Image for post
Image for post
Image for post
Image for post

Je configure dans le tableau de bord de rancher l’insertion de ces nouveaux noeuds dans le cluster Kubernetes :

Image for post
Image for post

qui apparaissent comme Workers :

Image for post
Image for post
Image for post
Image for post

Ainsi que dans ZeroTier (puisque ces instances ne sont pas pourvues d’adresses IP publiques) :

Image for post
Image for post

Je peux lancer les containers du projet Folder@Home à l’attention de quatre projets liés à la lutte COVID-19 en CPU dans le cluster Kubernetes :

Image for post
Image for post

Je précise les variables pour l’exécution des containers :

Image for post
Image for post

qui sont alors en exécution :

Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post
Image for post

Plus d’informations sur la FAQ du projet Folding@home :

Image for post
Image for post

Originally published at https://dev.to on March 24, 2020.

Above the clouds, the sky is always blue ...

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store