Le projet World Community Grid

Aujourd’hui je vais vous parler du projet World Community Grid, projet auquel je participe depuis le 14 décembre 2011 (7 ans déjà 😮 ).

Historique

En Février 2003, le projet Smallpox Research Grid (smallpox = variole) dont le but est de trouver de nouveaux vaccins contre le virus de la variole est lancé. Il entre dans le cadre du United Device Patriot Grid, initiative lancée pour combattre le bio-terrorisme. Parrainés par IBM et d’autres participants dont l’université d’Oxford, ce projet se sert de la puissance d’une grille de calcul distribuée pour tester l’efficacité de molécules médicamenteuses contre certaines protéines de la variole. Sur 35 millions de molécules potentielles, 44 ont été retenues comme traitement potentiel en seulement quelques mois.

Du fait du succès du Smallpox Research Grid project, IBM annonce la création de World Community Grid. Son objectif est de créer une immense grille de calcul distribuée, disponible pour des projets scientifiques d’organisations publiques ou à but non lucratif.
Le WCG se concentre essentiellement sur les projets ayant un fort intérêt humanitaire, tel que la recherche contre des maladies (VIH, Dengue, Cancer,…).
A l’heure où j’écris ces lignes, WCG recense 755.760 membres, et compte un total cumulé de 1 717 499 années de temps de calcul (oui, 1 million 717 mille 499 ans).

Fonctionnement

Le principe de la grille de calcul distribuée est très simple : d’un côté des organisations donnent des calculs à réaliser, et de l’autre, des machines les accomplissent et renvoient les résultats.
Le rôle d’un ordinateur c’est de faire des calculs. Beaucoup de calculs, et très rapidement. Cependant il est rare d’utiliser la totalité des ressources d’une machine. En rejoignant une grille de calculs, on met à disposition le temps de calcul disponible de sa machine pour effectuer des recherches.

Pour ce faire, on télécharge un logiciel dont le rôle est de télécharger les paquets de données à traiter, de les calculer et de les renvoyer au projet. Le World Community Grid se base sur le logiciel BOINC, qui signifie Berkeley Open Infrastructure for Network Computing.

L’application BOINC se charge de récupérer les données des projets que l’on souhaite soutenir, fait faire les calculs aux différents composants capables de calculer (processeurs et cartes graphiques), renvoie les résultats et recommence. L’interface présente l’avancement des calculs, le nombre d’heure d’exécution,… Il offre également la possibilité d’afficher l’avancement des travaux avec des screensavers (option que j’ai personnellement désactivée car coûteuse en énergie et en temps de calcul).

La contribution d’un ordinateur est mesurée via trois mesures : des points, le temps total d’exécution et le nombre de résultats renvoyé. Les points sont une façon de mesurer la quantité de calcul effectué par une machine.  Lorsque un ordinateur a terminé un calcul, il est récompensé avec des points. Ainsi, si durant sur une même période, à condition que la puissance de calcul n’ait pas changé, on renvoie un ou cinq résultats (dans le second cas, les calculs a effectuer étaient plus faciles) le nombre de points perçu sera le même.

Projets

Voici quelques projets qui ont été réalisés ou qui sont en cours de réalisation par le World Community Grid :

The Clean Energy Project – Phase 1 et phase 2

Objectif : trouver de nouveaux matériaux pour la prochaine génération de cellules solaires, et d’appareils de stockage d’énergie en calculant les propriétés électroniques de centaines de milliers de matériaux. Il s’agit de la deuxième phase de ce projet.

FightAIDS@Home – Phase 1 et phase 2

Objectif : La phase 1 de ce projet était la recherche de molécules capables de d’empêcher le développement VIH pour qu’il n’arrive pas à maturation. La phase 2 utilise une autre méthode de simulation afin d’affiner les résultats de la première phase, qui présentait de nombreux faux-positifs et faux-négatifs.

Computing for Clean Water

Objectif : Analyser les flux d’eau à travers une nouvelle classe de matériaux filtrants, afin de développer des filtres d’eau meilleur marché et plus efficaces.

Smash Childhood Cancer

Objectif : Chercher des molécules capable de traiter le neuroblastome, un des cancers les plus communs chez les enfants.

Présentation de l’interface

Si vous souhaitez également participer au World Community Grid, voici comment faire :

  1. Se rendre sur le site du World Community Grid via ce lien et s’inscrire (il s’agit de mon lien de recrutement).
  2. Une fois connecté, télécharger et installer l’application de calcul (procédure). Il faut être connecté.
  3. Sélectionner les projets auxquels on souhaite participer et commencer à calculer. Le choix peut se faire ici.

Voici comment se présente l’interface principale chez moi. L’onglet Tâches vous montre les tâches en cours :

Au centre on peut voir les différentes informations concernant les tâches en cours, comme le projet auquel elles se rattachent, leur état et état d’avancement, le temps restant et estimé,…
Ici attention à la confusion : le projet correspond à la plateforme qui fournit les données et l’application le projet pour lequel on effectue les calculs.

Dans mon cas, je suis deux projets : le World Community Grid et le SETI. Pour le WCG, je suis en train d’effectuer des calculs pour les projets Smash Childhood Cancer et Mapping Cancer Markers.

L’interface vous permet également de configurer (via Outils>Préférences de calcul…), le pourcentage de CPU et de GPU que vous souhaitez allouer au calcul, mais aussi quand vous souhaitez le faire (par exemple tous les jours sauf le lundi).

Mes statistiques

Cela fait maintenant presque sept ans que j’effectue des calculs pour le World Community Grid. Voici mes statistiques :

  • Temps d’exécution total : 2 ans, 226 jours et 11  (2:226:11:21:51) cela me place en 70979 position (sur 755760).
  • Points générés : 6.132.473 (#41.769)
  • Résultats renvoyés : 10.639 (#43.431)

Conclusion

En écrivant cet article, j’ai découvert plusieurs choses que je ne connaissais pas, notamment sur la genèse du projet, qui est lié à des craintes concernant des attaques biologiques.

Et je me rend compte également que je ne sais pas grand chose de l’utilité de ces calculs, en tout cas pour les projets terminés : ont-ils déjà trouvé des applications dans le monde réel? Les résultats sont-ils encore cantonnés aux laboratoires? Je m’y intéresserai dans un futur article.

Dans tous les cas, je vous encourage à rejoindre le World Community Grid, cela permet de contribuer à résoudre des problèmes qui autrement auraient mis beaucoup plus de temps à être trouvé.

Sources

https://www.worldcommunitygrid.org/about_us/viewAboutUs.do
https://www.sciencedaily.com/releases/2003/10/031002060419.htm
https://fr.wikipedia.org/wiki/World_Community_Grid et https://en.wikipedia.org/wiki/World_Community_Grid
https://fr.wikipedia.org/wiki/World_Community_Grid#Projets_de_WCG
https://en.wikipedia.org/wiki/Grid.org et https://en.wikipedia.org/wiki/Grid.org#Smallpox_Project
https://fr.wikipedia.org/wiki/Variole
https://www.ibm.com/ibm/ideasfromibm/cy/en/howitworks/021307/
https://en.wikipedia.org/wiki/United_Devices
https://books.google.be/books?id=PS96pKiIhpYC&pg=PA499&lpg=PA499&dq=United+Device+Patriot+Grid&source=bl&ots=5fF4Ah6nn0&sig=yNRf6JKAYk9mrpW0tyz3rjQwuUU&hl=fr&sa=X&ved=2ahUKEwj4l9OWtonfAhUIM-wKHfG_BqoQ6AEwB3oECBEQAQ#v=onepage&q=United%20Device%20Patriot%20Grid&f=false
https://www.forbes.com/2003/02/05/cx_mh_0205ibm.html#30ec0aa273a8
https://boinc.berkeley.edu/
https://fr.wikipedia.org/wiki/Berkeley_Open_Infrastructure_for_Network_Computing et https://en.wikipedia.org/wiki/Berkeley_Open_Infrastructure_for_Network_Computing
https://fr.wikipedia.org/wiki/Neuroblastome