Informatique bénévole - Volunteer computing

L'informatique volontaire est un type d' informatique distribuée dans laquelle les gens font don des ressources inutilisées de leurs ordinateurs à un projet axé sur la recherche. 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 comme le traitement de texte de base ou la navigation Web laissent l'ordinateur pratiquement inactif.

La pratique du calcul volontaire, qui remonte au milieu des années 1990, peut potentiellement mettre à disposition des chercheurs une puissance de traitement substantielle à un coût minime. En règle générale, un programme exécuté sur l'ordinateur d'un volontaire contacte périodiquement une application de recherche pour demander des emplois et rendre compte des résultats. Un système middleware sert généralement d'intermédiaire.

Histoire

Le premier projet informatique bénévole a été le Great Internet Mersenne Prime Search , qui a été lancé en janvier 1996. Il a été suivi en 1997 par Distributed.net . En 1997 et 1998, plusieurs projets de recherche universitaire ont développé des systèmes basés sur Java pour le calcul volontaire ; les exemples incluent Bayanihan, Popcorn, Superweb et Charlotte.

Le terme calcul volontaire a été inventé par Luis FG Sarmenta, le développeur de Bayanihan. Il fait également appel aux efforts mondiaux sur la responsabilité sociale, ou la responsabilité sociale des entreprises, telle que rapportée dans un Harvard Business Review ou utilisée dans le forum Responsible IT.

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.

Entre 1998 et 2002, plusieurs sociétés se sont constituées avec des modèles économiques impliquant le calcul bénévole. Les exemples incluent Popular Power , Porivo , Entropia et United Devices .

En 2002, le projet Berkeley Open Infrastructure for Network Computing (BOINC) a été fondé à l'Université de Californie, Berkeley Space Sciences Laboratory , financé par la National Science Foundation. BOINC fournit un système middleware complet pour le calcul volontaire, y compris un client, une interface graphique client, un système d'exécution d'application, un logiciel serveur et un logiciel mettant en œuvre un site Web de projet. Le premier projet basé sur BOINC était Predictor@home , basé au Scripps Research Institute, qui a commencé à fonctionner en 2004. Peu de temps après, SETI@home et ClimatePrediction.net ont commencé à utiliser BOINC. Un certain nombre de nouveaux projets basés sur BOINC ont été créés au cours des prochaines années, notamment Rosetta@home , Einstein@home et AQUA@home . En 2007, IBM World Community Grid est passé de la plate-forme United Devices à BOINC.

Middleware

Le logiciel client des premiers projets de calcul volontaire consistait en un seul programme 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, le calcul volontaire s'est déplacé vers des systèmes middleware qui fournissent une infrastructure informatique distribuée indépendante du calcul scientifique. Les exemples comprennent:

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 sur Internet, demande des travaux et rapporte les résultats des travaux terminés. Ce modèle « pull » est nécessaire car de nombreux ordinateurs bénévoles sont derrière des pare-feu qui n'autorisent pas les connexions entrantes. Le système garde une trace du "crédit" de chaque utilisateur, une mesure numérique de la quantité de travail que les ordinateurs de l'utilisateur ont 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 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 :

  • Les bénévoles sont irresponsables et essentiellement anonymes.
  • Certains ordinateurs volontaires (en particulier ceux qui sont overclockés) fonctionnent parfois mal et renvoient des résultats incorrects.
  • Certains bénévoles 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 tâche est effectuée sur au moins deux ordinateurs. Les résultats (et le crédit correspondant) ne sont acceptés que s'ils concordent suffisamment.

Inconvénients pour les participants

  • Augmentation de la consommation d'énergie : un processeur utilise 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 provoquer une surchauffe.
  • Diminution des performances du PC : Si l'application informatique volontaire s'exécute pendant 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, des échecs de cache disque accrus et/ou une pagination accrue peuvent en résulter. Les applications informatiques volontaires s'exécutent généralement avec une priorité de planification CPU inférieure, ce qui contribue à atténuer les conflits de CPU.

Ces effets peuvent être perceptibles ou non, et même s'ils sont perceptibles, 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 une option pour limiter le pourcentage du processeur utilisé par le client, qui est disponible dans certains logiciels clients.

Avantages pour les chercheurs

Pouvoir

L'informatique volontaire peut fournir aux chercheurs une puissance de calcul qui n'est pas réalisable autrement. Par exemple, Folding@home a été classé comme l'un des 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 , 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, ce qui en fait le premier système informatique exaflops au monde. .

Coût

L'informatique volontaire est souvent moins chère que d'autres formes d'informatique distribuée, et généralement à un coût nul pour le chercheur final.

Importance

Bien qu'il existe des problèmes tels que le manque de responsabilité et de confiance entre les participants et les chercheurs lors de la mise en œuvre des projets, l'informatique volontaire est d'une importance cruciale, en particulier pour les projets qui ont un financement limité.

  • Puisqu'il existe 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 n'importe quel type de sujet ; telles que les recherches académiques (universitaires) ou scientifiques. En outre, les progrès de la technologie permettront aux progrès des produits de consommation tels que les PC et les consoles de jeux de se produire 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.
  • Les superordinateurs qui ont une énorme puissance de calcul sont extrêmement chers et ne sont disponibles que pour certaines applications uniquement si elles peuvent se le permettre. Alors que l'informatique bénévole n'est pas quelque chose qui s'achète, sa puissance provient 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.
  • En faisant du bénévolat et en fournissant un soutien et une puissance de calcul aux recherches sur des sujets tels que la science, les citoyens sont encouragés à s'intéresser à la science et les citoyens sont également autorisés à faire entendre leur voix dans les directions des recherches scientifiques et éventuellement de la science future en fournissant ou non un soutien à les recherches.

Voir également

Les références

Liens externes