Savez-vous que votre ordinateur passe le plus clair de son temps à ne rien faire ?
Lorsque vous utilisez votre ordinateur, le processeur passe la majorité du temps à ne rien faire, dans le processus « idle » du système. Plutôt que de le laisser se tourner les pouces ainsi, pourquoi ne pas utiliser cette puissance de calcul inexploitée pour la fournir à ceux qui en ont besoin ?
C’est l’idée qu’ont eu plusieurs groupes de scientifiques il y a quelques années : plutôt que d’effectuer les gros calculs scientifiques sur des supercalculateurs ou des clusters d’un prix exorbitant, ils ont développés des petits logiciels permettant de répartir le travail sur des millions d’ordinateurs personnels via Internet (grilles).
Le principe est simple : le programme se connecte à un serveur central, télécharge une unité de données à traiter puis utilise la puissance inutilisée de l’ordinateur en s’exécutant en priorité basse. Une fois les données traitées, le résultat est renvoyé au serveur et une nouvelle unité de données est récupérée.
Tout ceci fonctionne de manière totalement transparente, sans impact sur les performances de la machine (j’utilise l’un de ces logiciels depuis plus de 5 ans sans avoir remarqué la moindre chute de performance quand il s’exécute) et quasiment sans intervention de l’utilisateur. Il n’est pas non plus nécessaire d’avoir une bête de course, même une machine vieille de quelques années à de la puissance à revendre et la quantité de données à transférer est largement acceptable même avec une connexion 56K.
Pour pousser un peu les utilisateurs, la plupart des communautés de calcul proposent également un système de classement et d’équipe, favorisant l’émulation et la course au temps de calcul fourni.
Voici une liste des grilles les plus populaires :
- Seti@Home : traitement des données issues des radiotélescopes du programme SETI (Search for Extra-Terrestrial Intellligence) pour aider E.T. à téléphoner maison 😉 Lancé par l’université de Berkeley en mai 1999, il est l’un des précurseurs des grilles de calcul et réuni aujourd’hui environ 1 millions de machines pour une puissance exploitable de l’ordre de 250 Teraflops (ce qui le placerait au second rang de supercalculateurs). La plateforme SETI a été remplacée depuis peu par la plateforme Open Source BOINC (Berkeley Open Infrastructure for Network Computing) qui présente l’avantage d’être ouverte à de nombreux autres projets de recherche.
- Folding@Home : moins connu mais à priori plus utile que SETI, Folding analyse le repliement des protéines humaines pour aider la médecine à mieux comprendre et traiter certaines maladies liées à ces protéines. Le projet est maintenu par l’université de Stanford.
- Genome@Home : utilisant la même plateforme que Folding, Genome s’occupe comme son nom l’indique du décodage du génome humain, dans le cadre de la recherche contre les maladies génétiques.
- Grid.org : Grid est l’une des principales plateformes privées. Lancée initialement pour la recherche sur le cancer, cette plateforme travaille actuellement sur le repliement des protéines humaines.
- World Community Grid : issue d’un partenariat entre IBM et United Devices (Grid.org), cette plateforme utilise le même client que la plateforme Grid, mais dans une version légèrement réactualisée. Elle héberge actuellement 3 projets médicaux : recherche sur le cancer, le repliement des protéines et le SIDA.
Personnellement j’utilise 2 plateformes : Folding@Home depuis environ 1 an et World Community Grid depuis 15 jours (après avoir utilisé Grid pendant 5 ans). N’hésitez pas à me rejoindre !
Deux petites remarques pour finir :
- la plupart de ces plateformes n’utilisent qu’un seul thread, donc si vous avez une machine multi-cores, utilisez plusieurs plateformes pour ne pas laisser un des core regarder son collègue travailler !
- désactivez les applications de calcul quand vous travaillez sur batteries : elles empêchent le processeur de passer en mode économique et plombent l’autonomie…