Le calcul participatif est un type de calcul distribué dans lequel une personne fait don de ressources inutilisées de son ordinateur à un projet axé sur la recherche[1].
L'idée fondamentale sous-jacente est qu'un ordinateur de bureau moderne est suffisamment puissant pour effectuer des milliards d'opérations par seconde, mais pour la plupart des utilisateurs, seulement 10 à 15 % de sa capacité est utilisée. Les utilisations typiques telles que le traitement de texte de base ou la navigation sur le Web laissent l'ordinateur quasiment inactif la plupart du temps.
La pratique du calcul volontaire, qui remonte au milieu des années 1990, met à disposition de chercheurs une puissance de traitement substantielle à un coût minime.
En règle générale, un programme s'exécutant sur l'ordinateur d'un volontaire contacte périodiquement une application de recherche pour demander des travaux et rapporter les résultats. Un système middleware peut également servir d'intermédiaire – comme, par exemple, l'application BOINC.
En 1997 et 1998, plusieurs projets de recherche universitaires ont développé des systèmes basés sur Java pour l'informatique bénévole; les exemples incluent Bayanihan[3], Popcorn[4]Superweb[5] et Charlotte[6].
Le terme volunteer computing a été proposé par Luis FG Sarmenta, le développeur de Bayanihan. Il est également adapté aux efforts mondiaux en matière de responsabilité sociale ou de responsabilité sociale des entreprises, comme indiqué dans la revue Harvard Business Review[7] ou utilisé dans le forum Responsible IT[8].
En 1999, les projets SETI@home et Folding@home sont lancés. Ces projets ont été largement médiatisés et chacun a attiré plusieurs centaines de milliers de bénévoles.
Le tournant des années 2000 vit une explosion des créations de projet autour du calcul distribué :
Entre 1998 et 2002, plusieurs entreprises ont été créées avec des modèles commerciaux impliquant le calcul bénévole. Les exemples incluent Popular Power, Porivo, Entropia et United Devices.
BOINC fournit un intergiciel complet pour la participation numérique de bénévoles, comprenant un client, une interface graphique client, un système d'exécution d'application, un logiciel serveur et un site Web du projet.
Le premier projet basé sur BOINC était Predictor@home, basé au Scripps Research Institute, qui entra en fonctionnement en 2004.
En 2004 également, le projet Décrypthon fut créé par une alliance entre le CNRS et l'entreprise IBM.
La même année, le projet européen du CERN, LHC@home, démarre en phase de test[9]. Devant son succès croissant, il se poursuit toujours actuellement (2022).
En 2007, IBM World Community Grid est passé de la plate-forme United Devices à BOINC.
Le projet TheSkyNet est un projet défunt, arrêté en 2018, qui avait pour but de définir des caractéristiques galactiques, tirées d'observations de télescopes spatiaux.
Le logiciel client des premiers projets informatiques participatifs consistait en un programme unique qui combinait le calcul scientifique et l'infrastructure informatique distribuée. Cette architecture monolithique était inflexible. Par exemple, il était difficile de déployer de nouvelles versions d'applications.
Plus récemment, l'informatique bénévole s'est déplacée vers des systèmes intergiciels qui fournissent une infrastructure informatique distribuée indépendante du calcul scientifique. Les exemples comprennent :
XtremWeb est principalement utilisé comme outil de recherche. Il est développé par un groupe basé à l'Université Paris-Sud.
(en) Xgrid est développé par Apple. Ses composants client et serveur ne fonctionnent que sur Mac OS X.
(en) Grid MP était une plate-forme middleware commerciale développée par United Devices (jusqu'en 2007) et fut utilisée dans des projets informatiques bénévoles, notamment grid.org, World Community Grid, Cell Computing et Hikari Grid.
La plupart de ces systèmes ont la même structure de base : un programme client s'exécute sur l'ordinateur du volontaire. Il contacte périodiquement les serveurs exploités par le projet via Internet, demandant des travaux et rapportant les résultats des travaux terminés. Ce modèle "pull" est nécessaire car de nombreux ordinateurs volontaires se trouvent derrière des pare-feu qui n'autorisent pas les connexions entrantes. Le système garde une trace des « crédits » de chaque utilisateur, une mesure numérique de la quantité de travail que l'ordinateur d'un utilisateur a effectué pour le projet.
Les systèmes informatiques volontaires doivent faire face à plusieurs problèmes impliquant des ordinateurs volontaires : leur hétérogénéité, leur taux de désabonnement (la tendance des ordinateurs individuels à rejoindre et à quitter le réseau au fil du temps), leur disponibilité sporadique et la nécessité de ne pas interférer avec leurs performances lors d'une utilisation régulière.
De plus, les systèmes informatiques volontaires doivent faire face à des problèmes liés à l'exactitude :
Certains ordinateurs volontaires (en particulier ceux qui sont overclockés) fonctionnent parfois mal et renvoient des résultats incorrects.
Certains volontaires renvoient intentionnellement des résultats incorrects ou réclament un crédit excessif pour les résultats.
Une approche courante de ces problèmes est l'informatique répliquée, dans laquelle chaque travail est effectué sur au moins deux ordinateurs. Les résultats (et le crédit correspondant) ne sont acceptés que s'ils concordent suffisamment.
Augmentation de la consommation d'énergie : un processeur consomme généralement plus d'électricité lorsqu'il est actif que lorsqu'il est inactif. De plus, le désir de participer peut amener le volontaire à laisser le PC allumé pendant la nuit ou à désactiver les fonctions d'économie d'énergie comme la suspension. De plus, si l'ordinateur ne peut pas se refroidir correctement, la charge supplémentaire sur le processeur du volontaire peut entraîner une surchauffe.
Diminution des performances du PC : si l'application de calcul bénévole s'exécute alors que l'ordinateur est en cours d'utilisation, cela peut avoir un impact sur les performances du PC. Cela est dû à une utilisation accrue du processeur, du cache du processeur, du stockage local et de la connexion réseau. Si la RAM est une limitation, il peut en résulter une augmentation des échecs du cache disque et/ou une augmentation de la pagination. Les applications informatiques volontaires s'exécutent généralement avec une priorité de planification CPU inférieure, ce qui permet d'atténuer les conflits d'ordres du CPU[10].
Ces effets peuvent être perceptibles ou non, et même s'ils le sont, le volontaire peut choisir de continuer à participer. Cependant, l'augmentation de la consommation d'énergie peut être corrigée dans une certaine mesure en définissant les préférences pour limiter le pourcentage du processeur utilisé par le client, qui est disponible dans certains logiciels clients.
Le calcul volontaire peut fournir aux chercheurs une puissance de calcul qu'il n'est pas possible d'obtenir autrement. Par exemple, Folding@home a été classé parmi les systèmes informatiques les plus rapides au monde.
Avec un intérêt accru et une participation bénévole au projet à la suite de la pandémie de COVID-19[11], le système a atteint une vitesse d'environ 1,22 exaflops fin mars 2020 et a atteint 2,43 exaflops le 12 avril 2020[12], ce qui en fait le premier système informatique « exaflopique » au monde.
Bien qu'il existe des problèmes tels que le manque de responsabilité juridique et de confiance entre participants et chercheurs lors de la mise en œuvre des projets, le calcul bénévole est d'une importance cruciale, en particulier pour les projets dont le financement est limité[13].
Parmi les raisons de bâtir un projet de calcul participatif :
Puisqu'il y a plus d'un milliard de PC dans le monde, le calcul volontaire peut fournir plus de puissance de calcul aux chercheurs, qui n'ont pas les compétences requises en matière de puissance de calcul, sur tout type de sujet ; telles que les recherches académiques (universitaires) ou scientifiques. De plus, les progrès de la technologie permettront aux produits de consommation tels que les PC et les consoles de jeux de progresser plus rapidement que tout autre produit spécialisé, ce qui augmentera par conséquent le nombre de PC et la puissance de calcul dans le monde.[réf. nécessaire]
Les supercalculateurs dotés d'une puissance de calcul énorme sont extrêmement coûteux et ne sont disponibles que pour certaines applications uniquement si elles peuvent se le permettre. Alors que le calcul bénévole n'est pas quelque chose qui s'achète, son pouvoir découle du soutien public. Un projet de recherche dont les sources et le financement sont limités peut obtenir une énorme puissance de calcul en attirant l'attention du public[14].
En faisant du bénévolat et en fournissant un soutien et une puissance de calcul aux recherches sur des sujets divers, les citoyens sont encouragés à s'intéresser aux sciences et ont ainsi une voix dans l'avancement des sciences, en apportant ou non un soutien à ces recherches[15].
↑O Regev et Noam Nisan « The POPCORN market—an online market for computational resources » () (DOI10.1145/288994.289027, lire en ligne) — « (ibid.) », dans Proceedings of the first international conference on Information and computation economies (in Charleston, South Carolina), ACM Press (ISBN1-58113-076-7), p. 148–157
↑A.D. Alexandrov, M. Ibel, K.E. Schauser et K.E. Scheiman « SuperWeb: Research issues in Java-Based Global Computing » () — « (ibid.) », dans Proceedings of the Workshop on Java for High performance Scientific and Engineering Computing Simulation and Modelling, New York, Syracuse University
↑A. Baratloo, M. Karaul, Z. Kedem et P. Wyckoff « Charlotte: Metacomputing on the Web » () (lire en ligne) — « (ibid.) », dans Proceedings of the 9th International Conference on Parallel and Distributed Computing Systems
↑News 12 Long Island 2020: "Since the start of the COVID-19 pandemic, Folding@home has seen a significant surge in downloads, a clear indication that people around the world are concerned about doing their part to help researchers find a remedy to this virus," said Dr. Sina Rabbany, dean of the DeMatteis School."
↑Nov, Anderson et Arazy, « (en) Volunteer computing: a model of the factors determining contribution to community-based scientific research », Proceedings of the 19th international conference on World wide web, Raleigh, North Carolina, USA, Association for Computing Machinery, wWW '10, , p. 741–750 (ISBN978-1-60558-799-8, DOI10.1145/1772690.1772766, lire en ligne)