Folding@home

Folding@home, parfois désigné par l'abréviation FAH, est un projet de recherche médicale dont le but est de simuler le repliement des protéines dans diverses configurations de température et de pression afin de mieux comprendre ce processus, et d'en tirer des connaissances utiles qui pourraient, entre autres, permettre de développer de nouveaux médicaments, notamment contre la maladie d'Alzheimer, la drépanocytose, certains types de cancers et la maladie à coronavirus 2019. C'est un projet de calcul distribué qui fonctionne avec la puissance de calcul non utilisée des ordinateurs et, anciennement, des smartphones et des PlayStation 3 de milliers de volontaires.

Pour les articles homonymes, voir FAH.

Folding@home
Rendu 3D d'un travail en cours.
Informations
Créateur Vijay S. Pande
Développé par Cauldron Development LLC
Première version
Dernière version 7.6.21 ()
Dépôt github.com/FoldingAtHome
Système d'exploitation Microsoft Windows, macOS, GNU/Linux et FreeBSD
Environnement Multiplateforme
Langues Anglais
Type Calcul distribué
Licences Propriétaire (client), GPL (autres composants)
Site web (en) foldingathome.org

Folding@home est un des systèmes les plus rapides au monde, avec une vitesse qui dépasse le seuil symbolique de l'exaFLOPS le 25 mars 2020, plus rapide que les 7 premiers superordinateurs du monde cumulés ainsi que tous les projets distribués de BOINC combinés. Toute cette puissance a permis aux chercheurs de faire des simulations d'une complexité inégalée et plusieurs milliers de fois plus longues qu'auparavant. Depuis 2001, les données de simulation ont permis de publier plus de 200 articles dans des revues scientifiques[1]. Les résultats expérimentaux concordent avec les simulations.

Le projet a été fondé, et dirigé pendant plus de 18 ans, par Vijay S. Pande, à l'université Stanford, en Californie.

Organisation

Le projet Folding@home est développé, déployé et maintenu par le Pande Lab, une structure pluridisciplinaire à but non lucratif émanant du département de chimie de l'université Stanford, ce qui est une garantie que les résultats des calculs seront accessibles aux chercheurs et autres scientifiques du monde entier[2].

Le projet est en grande partie financé par les National Institutes of Health (NIH) et la National Science Foundation (NSF) des États-Unis. Folding@home est ou a été également soutenu – financièrement et/ou techniquement – par quelques entités privées : Intel, Google (barre d'outils), Sony (PS3), ATI, Nvidia (CUDA), Apple et Dell[3].

En février 2019, Greg Bowman, désigné par Vijay Pande, prend le relais à la direction du projet, désormais basé à l'école de médecine de l'université Washington de Saint-Louis, dans le Missouri[4].

Fonctionnement

L'étude est effectuée par un moteur ou client, que chacun peut installer sur son ordinateur (sous Windows, Linux, macOS, en ligne de commande ou en mode graphique, sous forme d'un écran de veille). Ce client, va effectuer les calculs sur le CPU ou le GPU de l'ordinateur (selon la formule choisie). Le code source de ce logiciel n'est pas diffusé afin de complexifier la communication de faux résultats aux serveurs, ce qui fausserait le projet[2].

Chaque calcul occupe le processeur ou le GPU client quand il n'est pas utilisé. Cela ne donne donc lieu à aucun ralentissement de la machine. Chaque calcul dure de 4 à 200 heures environ, selon la configuration matérielle de l'ordinateur.

Le client télécharge une nouvelle unité de travail (en anglais « WU » pour work unit) de manière automatique dès qu'il a fini de calculer la précédente.

Une unité de travail définit un ensemble de paramètres pour la simulation de repliement de protéines. Les calculs eux-mêmes sont effectués par un des « cores » suivants : Tinker, Gromacs, Amber, CPMD, Sharpen, ProtoMol ou Desmond.

Types de client

Console de Linux

Voici ce qu'affiche le logiciel en mode console, sous Linux :

18:42:47:************************* Folding@home Client *************************
18:42:47:    Website: http://folding.stanford.edu/
18:42:47:  Copyright: (c) 2009-2012 Stanford University
18:42:47:     Author: Joseph Coffland <joseph@cauldrondevelopment.com>
18:42:47:       Args: --config /opt/fah-v7/config.xml --exec-directory=/opt/fah-v7
18:42:47:             --data-directory=/opt/fah-v7
18:42:47:     Config: /opt/fah-v7/config.xml
18:42:47:******************************** Build ********************************
18:42:47:    Version: 7.2.9
18:42:47:       Date: Oct 3 2012
18:42:47:       Time: 10:34:06
18:42:47:    SVN Rev: 3578
18:42:47:     Branch: fah/trunk/client
18:42:47:   Compiler: GNU 4.4.7
18:42:47:    Options: -std=gnu++98 -O3 -funroll-loops -mfpmath=sse -ffast-math
18:42:47:             -fno-unsafe-math-optimizations -msse2
18:42:47:   Platform: linux2 3.2.0-1-amd64
18:42:47:       Bits: 64
18:42:47:       Mode: Release
18:42:47:******************************* System ********************************
18:42:47:        CPU: Intel(R) Core(TM)2 Extreme CPU X9775 @ 3.20GHz
18:42:47:     CPU ID: GenuineIntel Family 6 Model 23 Stepping 6
18:42:47:       CPUs: 8
18:42:47:     Memory: 11.74GiB
18:42:47:Free Memory: 9.26GiB
18:42:47:    Threads: POSIX_THREADS
18:42:47: On Battery: false
18:42:47: UTC offset: 1
18:42:47:        PID: 7869
18:42:47:        CWD: /opt/fah-v7
18:42:47:         OS: Linux 3.6.6-1-ARCH x86_64
18:42:47:    OS Arch: AMD64
18:42:47:       GPUs: 1
18:42:47:      GPU 0: NVIDIA:1 GT200 [GeForce GTX 280]
18:42:47:       CUDA: 1.3
18:42:47:CUDA Driver: 5000
18:42:47:***********************************************************************
18:42:47:<config>
18:42:47:  <!-- Folding Slot Configuration -->
18:42:47:  <gpu v='true'/>
18:42:47:
18:42:47:  <!-- Network -->
18:42:47:  <proxy v=':8080'/>
18:42:47:
18:42:47:  <!-- Remote Command Server -->
18:42:47:  <command-allow v='192.168.0.1/24'/>
18:42:47:  <command-allow-no-pass v='192.168.0.1/24'/>
18:42:47:
18:42:47:  <!-- User Information -->
18:42:47:  <passkey v='********************************'/>
18:42:47:  <team v='*****'/>
18:42:47:  <user v='*****'/>
18:42:47:
18:42:47:  <!-- Folding Slots -->
18:42:47:  <slot id='0' type='SMP'/>
18:42:47:  <slot id='1' type='GPU'/>
18:42:47:</config>
18:42:47:Trying to access database…
18:42:47:Successfully acquired database lock
18:42:47:Enabled folding slot 00: READY smp:8
18:42:47:Enabled folding slot 01: READY gpu:0:"GT200 [GeForce GTX 280]"
18:42:47:WU02:FS00:Starting
18:42:47:WU02:FS00:Running FahCore: /opt/fah-v7/FAHCoreWrapper /opt/fah-v7/cores/www.stanford.edu/~pande/Linux/AMD64/Core_a4.fah/FahCore_a4 -dir 02 -suffix 01 -version 702 -lifeline 7869 -checkpoint 15 -np 8
18:42:47:WU02:FS00:Started FahCore on PID 7879
18:42:47:WU02:FS00:Core PID:7883
18:42:47:WU02:FS00:FahCore 0xa4 started
18:42:47:WU02:FS00:0xa4:
18:42:47:WU02:FS00:0xa4:*------------------------------*
18:42:47:WU02:FS00:0xa4:Folding@Home Gromacs GB Core
18:42:47:WU02:FS00:0xa4:Version 2.27 (Dec. 15, 2010)
18:42:47:WU02:FS00:0xa4:
18:42:47:WU02:FS00:0xa4:Preparing to commence simulation
18:42:47:WU02:FS00:0xa4:- Looking at optimizations…
18:42:47:WU02:FS00:0xa4:- Files status OK
18:42:47:WU02:FS00:0xa4:- Expanded 548597 → 848100 (decompressed 154.5 percent)
18:42:47:WU02:FS00:0xa4:Called DecompressByteArray: compressed_data_size=548597 data_size=848100, decompressed_data_size=848100 diff=0
18:42:47:WU02:FS00:0xa4:- Digital signature verified
18:42:47:WU02:FS00:0xa4:
18:42:47:WU02:FS00:0xa4:Project: 7647 (Run 143, Clone 0, Gen 27)
18:42:47:WU02:FS00:0xa4:
18:42:47:WU02:FS00:0xa4:Assembly optimizations on if available.
18:42:47:WU02:FS00:0xa4:Entering M.D.
18:42:53:WU02:FS00:0xa4:Using Gromacs checkpoints
18:42:53:WU02:FS00:0xa4:Resuming from checkpoint
18:42:53:WU02:FS00:0xa4:Verified 02/wudata_01.log
18:42:53:WU02:FS00:0xa4:Verified 02/wudata_01.trr
18:42:53:WU02:FS00:0xa4:Verified 02/wudata_01.xtc
18:42:53:WU02:FS00:0xa4:Verified 02/wudata_01.edr
18:42:54:WU02:FS00:0xa4:Completed 1066430 out of 2500000 steps  (42%)
18:48:35:WU02:FS00:0xa4:Completed 1075000 out of 2500000 steps  (43%)
19:09:02:WU02:FS00:0xa4:Completed 1100000 out of 2500000 steps  (44%)
19:29:55:WU02:FS00:0xa4:Completed 1125000 out of 2500000 steps  (45%)
19:39:27:FS00:Paused
19:39:27:FS00:Shutting core down
19:39:28:WU02:FS00:0xa4:Client no longer detected. Shutting down core.
19:39:28:WU02:FS00:0xa4:
19:39:28:WU02:FS00:0xa4:Folding@home Core Shutdown: CLIENT_DIED
19:39:29:WU02:FS00:FahCore returned: INTERRUPTED (102 = 0x66)

Windows, mode graphique

Sous Windows, en mode graphique, le client se présente sous la forme d'un écran de veille.

Client GPU

Folding@home fonctionne aussi avec les GPU ATI/AMD (X18xx, X19xx, HD 2xxx, HD 3xxx, HD 4xxx et HD 5xxx), et les GPU Nvidia (GeForce 8xxx, 9xxx, GT 2xx, GTX 4xx, RTX 20xx et RTX 30xx). Cela a permis, sans surprise, de décupler la puissance de calcul dédiée au projet, grâce à l'architecture massivement parallèle des puces 3D actuelles.

Windows, dans la Google Toolbar

Sous Windows dans Internet Explorer, une icône Folding@home pouvait être incluse dans la barre d'outils Google. Un menu était accessible via cette icône. Il permettait de mettre en pause le calcul, le paramétrer ou encore accéder aux statistiques.

Google a maintenant cessé d'inclure cette fonctionnalité dans sa barre d'outils.

PlayStation 3

Total de la puissance de calcul des 500 meilleurs supercalculateurs mondiaux de 1993 à 2008. Source : TOP500.

La puissance de calcul et l'accès aux réseaux de la PlayStation 3 ont inspiré l'université Stanford qui coopère avec Sony pour que la PS3 participe à Folding@home sous le nom de cure@PS3.

Le projet a été lancé le (jour du lancement européen de la console) sous forme d'une mise à jour. Le 25 mars, plus de 30 000 PS3 avaient déjà renvoyé des unités de calcul et la puissance totale de calcul de Folding@home atteignait les 952 téraFLOPS, dont 697 pour les PS3. Folding@home a atteint le pétaFLOPS (1015 opérations par seconde) en [5].

Le , Sony annonce[6] la fin du projet sur sa console de jeux vidéo. Cet arrêt serait dû à l'écart de puissance entre les cartes graphiques apparues en 2012 et la PS3, rendant sans intérêt le calcul sur cette dernière.

Équipes de minage

Bien que les « plieurs » restent majoritairement anonymes, nombreux sont ceux à s'organiser en équipes, ce qui donne lieu à une « bataille » d'image, notamment à caractère industriel (ex. : équipes d'Amazon, Petrobras ou SAP) ou national (ex. : la Chine, la Russie ou la francophonie), voire commercial (ex. : équipes des cryptomonnaies Curecoin ou Banano)[7].

Le Curecoin

Le Curecoin est une cryptomonnaie créée par Joshua Smith[8], en activité depuis 2014. Elle est indépendante de l'équipe de recherche de Folding@home de Vijay S. Pande, quoique Joshua Smith affirme entretenir des liens officieux avec les chercheurs de Stanford[8]. Le principe en est de rétribuer non seulement des « mineurs » participant à la validation des transactions, mais aussi et surtout les contributeurs de Folding@home inscrits dans l'équipe Curecoin[9]. Sur 9 853 curecoins émis par jour, les mineurs en reçoivent collectivement 1 872 (19 %), tandis que les contributeurs en reçoivent collectivement 7 488 (76 %), chaque individu recevant sa part au prorata de sa participation à l'effort de minage ou de simulation de pliage de protéines. Les 793 (5 %) restants vont aux développeurs et aux financeurs du projet[10]. Cette répartition devrait être amenée à évoluer au profit des contributeurs de Folding@home avec le développement de la version 2 de Curecoin au cours de l'année 2018[11].

Les développeurs du Curecoin prétendent ainsi inciter les mineurs de cryptomonnaies à utiliser la puissance de calcul de leurs machines à des fins utiles à la recherche médicale, et non seulement à l'infrastructure technique d'une cryptomonnaie[12], qui n'est pas sans externalité négative, notamment en termes de consommation électrique. Le Curecoin, bien qu'il soit encore peu développé comme monnaie alternative, propose une piste pour mettre le matériel informatique des producteurs de cryptomonnaies au service de calculs ayant une utilité par ailleurs[8],[13],[14]. Sans qu'il soit possible de dire combien de nouvelles installations de clients Folding@home sont à imputer à l'émergence du Curecoin, l'équipe est aujourd'hui la première en termes d'unités de travail scientifique effectuées depuis les débuts de Folding@home, et représenterait une puissance de calcul de 47 pétaFLOPS en [11]. Elle compte 8 842 processeurs (CPU et GPU) uniques ayant effectué une unité de calcul ou plus aux mois d'avril et de [15], soit un ordre de grandeur de quelques centaines à quelques milliers d'utilisateurs. Le Curecoin s'inscrit dans un nouveau « paradigme »[16] identifié par certains auteurs dans l'histoire des cryptomonnaies : elles sont de plus en plus nombreuses à s'inscrire dans la mouvance de l'économie sociale et solidaire[17], dans une démarche parfois évoquée sous l'appellation plus spécifique de « Blockchain4Good »[16].

Contribution à la recherche lors de la pandémie de Covid-19

Dans le cadre de la pandémie de Covid-19, Folding@home annonce, le , qu'une partie de ses efforts porteront sur l'identification de cibles pour un anticorps thérapeutique contre le virus SARS-CoV-2[18],[19].

À la suite d'une mobilisation massive le projet dépasse le seuil symbolique de l'exaFLOPS le et atteint une puissance de calcul dix fois supérieure à celle d'IBM Summit, le plus puissant supercalculateur alors en service[20].

Notes et références

  1. (en) « Papers & Results – Folding@home », sur foldingathome.org (consulté le 5 avril 2020)
  2. (en) « Frequently Asked Questions (FAQ) », sur folding.stanford.edu (consulté le 25 juillet 2005)
  3. (en) « Partners – Folding@home », sur foldingathome.org (consulté le 5 avril 2020)
  4. (en) « Bowman leading international supercomputing project », sur medicine.wustl.edu, 26 février 2019 (consulté le 30 mai 2020)
  5. Mark Whiting, Folding@home Breaks the PetaFLOP Barrier, 20/09/07. (date de la consultation : 24/09/07)
  6. http://www.playstation.com/life/en/index.html
  7. (en) « Folding@home stats report » (consulté le 25 avril 2020)
  8. (en-US) « CureCoin Founder: My Cryptocurrency Can End All Disease in 100 Years | Finance Magnates », Finance Magnates | Financial and business news, (lire en ligne, consulté le )
  9. (en) « Team: Curecoin », sur stats.foldingathome.org
  10. (en-US) « How is the currency divided up? | Curecoin.net », sur curecoin.net (consulté le )
  11. (en-US) « Curecoin 2018 Updates and Roadmap | Curecoin.net », sur curecoin.net (consulté le )
  12. (en-US) « What is CureCoin? | Curecoin.net », sur curecoin.net (consulté le )
  13. « Énergie et pollution: "les coûts cachés du bitcoin" », LExpansion.com, (lire en ligne, consulté le )
  14. (en) « CureCoin: A cryptocurrency aiming to beat cancer », sur Euromoney (consulté le )
  15. « Team 224497's contributions to Folding@home », sur Team 224497 (consulté le )
  16. Richard Adams, Beth Kewell et Glenn Parry, Blockchain for Good? Digital Ledger Technology and Sustainable Development Goals (DOI 10.1007/978-3-319-67122-2_7, lire en ligne), p. 127–140
  17. Ariane Tichit, Pascal Lafourcade et Vincent Mazenod, « Les monnaies virtuelles décentralisées sont-elles des dispositifs d’avenir ? », Interventions économiques, no 59, (lire en ligne)
  18. Laurent Sacco, « Folding@home : comment participer à la recherche sur le coronavirus avec votre ordinateur ? », sur Futura (consulté le )
  19. (en-US) « Folding@home takes up the fight against COVID-19 / 2019-nCoV – Folding@home » (consulté le )
  20. Benjamin Bruel, « Folding@home dépasse l'ExaFLOP pour lutter contre le Coronavirus », sur clubic.com, (consulté le ).

Voir aussi

Articles connexes

Liens externes

  • Portail de la biologie cellulaire et moléculaire
  • Portail de l’informatique
  • Portail de la biochimie
Cet article est issu de Wikipedia. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.