« Berkeley Open Infrastructure for Network Computing » : différence entre les versions

Un article de Wikipédia, l'encyclopédie libre.
Contenu supprimé Contenu ajouté
WINEUR (discuter | contributions)
Fonctionnalité de suggestions de liens : 3 liens ajoutés.
 
(47 versions intermédiaires par 36 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
{{titre en italique|en}}
{{Infobox Logiciel
{{Infobox Logiciel
| couleur boîte =
| couleur boîte =
| nom = Berkeley Open Infrastructure for Network Computing (BOINC)
| nom = {{lang|en|Berkeley Open Infrastructure for Network Computing}} (BOINC)
| logo = BOINC logo July 2007.svg
| logo = BOINC logo July 2007.svg
| image = BOINC Manager-5.10.45-fr-Debian.png
| image = BOINC Manager-5.10.45-fr-Debian.png
| description = BOINC Manager sous [[Debian]]
| légende = BOINC Manager sous [[Debian]].
| développeur = Dr. David P. Anderson<ref>[https://boinc.berkeley.edu/trac/wiki/ProjectPeople Équipe du projet BOINC]</ref>
| taille image =
| développeur = Dr. David P. Anderson<ref>[http://boinc.berkeley.edu/trac/wiki/ProjectPeople Équipe du projet BOINC]</ref>
| date de première version = 2002
| date de première version = 2002
| dernière version =
| dernière version =
Ligne 12 : Ligne 12 :
| version avancée =
| version avancée =
| date de version avancée =
| date de version avancée =
| langage de programmation = [[C++]]
| environnement = [[Multiplate-forme]]
| environnement = [[Multiplate-forme]]
| langue = [[Multilingue]]
| langues = [[Multilingue]]
| type = [[Calcul réparti|Calcul distribué]]
| licence = [[Licence publique générale limitée GNU|GNU LGPL]]
| licence = [[Licence publique générale limitée GNU|GNU LGPL]]
| site web = [http://boinc.berkeley.edu/ boinc.berkeley.edu]
| site web = [https://boinc.berkeley.edu/ boinc.berkeley.edu]
}}
}}
'''BOINC''' est l'acronyme de '''Berkeley Open Infrastructure for Network Computing''' (Infrastructure non propriétaire de Berkeley dédiée au calcul en réseau). C'est une plate-forme de [[calcul distribué]] qui permet de gérer un ou plusieurs projets de calcul distribué. BOINC a été mis au point par l'[[université de Californie à Berkeley]], elle-même créatrice du projet de recherche d'intelligence extraterrestre [[SETI@home]].
'''BOINC''', acronyme de '''''{{lang|en|Berkeley Open Infrastructure for Network Computing}}''''' (« infrastructure ouverte de Berkeley dédiée au calcul en réseau ») est une plate-forme de [[calcul distribué]] qui permet de gérer des projets de calcul sur la base du volontariat. Développée à l'origine pour le projet de recherche d'intelligence extraterrestre [[SETI@home]] par l'[[université de Californie à Berkeley]], elle a été généralisée pour de nombreuses autres applications scientifiques. Le but de BOINC est de mettre à disposition des chercheurs la puissance de calcul de nombreux [[Ordinateur personnel|ordinateurs personnels]] dans le monde entier.


Pour l'utilisateur final, BOINC se présente sous la forme d'une application à installer sur son ordinateur personnel. Cette application s'exécute (selon paramétrage) lorsque l'ordinateur est peu utilisé ou inutilisé. Le temps de calcul ainsi récupéré est mis à disposition d'un projet distribué, à vocation généralement scientifique.
Pour l'utilisateur final, BOINC se présente sous la forme d'une application à installer sur son ordinateur. Cette application s'exécute (selon paramétrage) lorsque l'ordinateur est peu ou pas utilisé. Le temps de calcul ainsi récupéré est mis à disposition d'un des projets.


BOINC a une puissance totale moyenne de calcul d'environ 8,3 [[Floating-point operations per second|PFLOPS]] repartie sur environ 650 000 ordinateurs en octobre 2013 (pour comparaison, le supercalculateur le plus puissant à la même époque est le [[Titan_(supercalculateur)|Titan - Cray XK7]], hébergé aux USA , qui atteint une puissance de 17,590 PFLOPS).
BOINC a une puissance totale moyenne de calcul d'environ {{unité|33.82|[[Floating-point operations per second|PFLOPS]]}} repartie sur environ {{nombre|477414|ordinateurs}} actifs au début de {{date-|novembre 2019}}. Pour comparaison, le supercalculateur le plus puissant au début de 2016 est le [[Tianhe-2]], hébergé en [[Chine]], qui atteint une puissance de {{unité|33860|TFLOPS}} (soit 33,86 PFLOPS).


== Description ==
== Quelques informations sur BOINC ==

BOINC est [[Logiciel libre|libre]], sous la [[licence publique générale limitée GNU]].
Cela signifie que chacun peut utiliser ce programme pour ses propres besoins. Berkeley met son programme à la disposition d'autres organisations, quelles qu'elles soient. Cela veut dire que les projets participant à BOINC ne sont donc pas tous à utiliser les yeux fermés. Néanmoins la plupart des projets sont très sérieux et les résultats seront publics.
BOINC dispose d'un programme pour plusieurs plates-formes, ce qui permet de toucher un plus large public ([[Microsoft Windows|Windows]], [[GNU/Linux]], [[Mac OS X]], [[FreeBSD]], [[Solaris (système d'exploitation)|Solaris]] entre autres).

== Spécificités ==


[[Image:TOP500-2008fr.svg|thumb|Total de la puissance de calcul des 500 meilleurs supercalculateurs mondiaux de 1993 à 2008. Source : TOP500.]]
[[Image:TOP500-2008fr.svg|thumb|Total de la puissance de calcul des 500 meilleurs supercalculateurs mondiaux de 1993 à 2008. Source : TOP500.]]
BOINC est une plate-forme de calcul partagé. C'est donc un programme qui permet de faire participer des volontaires à des projets scientifiques susceptibles de faire avancer la science dans différents domaines tels que la médecine, l'astronomie, la physique ou les mathématiques.
BOINC est une plate-forme de calcul partagé à laquelle tout le monde peut connecter son ordinateur. C'est donc un programme qui permet de faire participer des volontaires à des projets scientifiques dans différents domaines tels que la médecine, l'astronomie, la physique ou les mathématiques.


En faisant fonctionner BOINC, ces volontaires apportent une partie de la puissance de calcul de leur ordinateur personnel à un ou plusieurs de ces projets scientifiques qui ont parfois d'importants besoins mais ne disposent pas toujours des moyens financiers qui leur permettraient de financer l'utilisation d'un supercalculateur.
En faisant fonctionner BOINC, ces volontaires apportent une partie de la puissance de calcul de leur ordinateur personnel à des projets scientifiques qui ont parfois d'importants besoins sans disposer des moyens financiers qui leur permettraient d'utiliser un supercalculateur.


BOINC qui a pour rôle de gérer les programmes de calcul partagé présents sur l'ordinateur, demande en fait pour lui-même très peu de puissance de calcul, et le ou les programmes de calcul partagé en service n'utilisent le processeur que lorsqu'il n'est pas utilisé par d'autres applications. Ainsi l'utilisateur peut continuer à utiliser normalement l'ordinateur sans rencontrer de ralentissement de ses propres programmes. De même, un ordinateur n'est pas obligé de fonctionner 24h/24 avec BOINC, l'utilisation de ce logiciel ne modifie donc pas nécessairement vos habitudes.
BOINC a pour rôle de gérer les programmes de calcul partagé présents un ordinateur. Elle demande très peu de puissance de calcul pour elle-même, et ne se sert du processeur que lorsqu'il n'est pas utilisé par d'autres applications et ne gêne donc pas l'utilisateur. Il n'est pas non plus nécessaire d'allumer son ordinateur en permanence.


Les fonctionnalités :
Les fonctionnalités :
* la mise en cache de plusieurs unités de calcul permet à l'ordinateur de continuer à calculer sans être connecté à internet ;
* mise en cache de plusieurs unités de calcul permet à l'ordinateur de continuer à calculer sans être connecté à internet ;
* le téléchargement de nouveaux programmes et des mises à jour ;
* téléchargement de nouveaux programmes et des mises à jour ;
* la participation simultanée à plusieurs projets ;
* participation simultanée à plusieurs projets ;
* la gestion de plusieurs ordinateurs clients avec une seule interface ''(BOINC Manager)''.
* gestion de plusieurs ordinateurs clients avec une seule interface ''(BOINC Manager)''.


BOINC propose des systèmes de statistiques en fonction du calcul effectué. Ainsi 1 point sur un projet vaut 1 point sur un autre projet. Cela permet de faire des statistiques globales portant sur plusieurs projets et permet une compétition motivante entre les équipes, les pays. D'après la page des crédits généraux, il faut 8,9 mois pour un doublement des points au rythme du 24 mai au 22 juillet 2009. En avril 2013, la puissance de calcul est de 9,4 PFLOPS pour {{formatnum:356988}} ordinateurs actifs soit 26,34 GFLOPS par ordinateur<ref>http://boincstats.com/fr/stats/-1/project/detail</ref>.
BOINC propose des systèmes de statistiques en fonction du calcul effectué. Ainsi 1 point (appelé cobblestone) sur un projet vaut 1 point sur un autre projet. Cela permet de faire des statistiques globales portant sur plusieurs projets et permet une compétition motivante entre les équipes, les pays. D'après la page des crédits généraux, il faut 8,9 mois pour un doublement des points au rythme du {{date-|24 mai}} au {{date-|22 juillet 2009}}. En {{date-|avril 2013}}, la puissance de calcul est de 9,4 PFLOPS pour {{formatnum:356988}} ordinateurs actifs soit 26,34 GFLOPS par ordinateur<ref>{{lien web |auteur1=Willy de Zutter |titre=BOINC combined - Detailed stats<!-- Vérifiez ce titre --> |url=http://boincstats.com/fr/stats/-1/project/detail |site=boincstats.com |consulté le=03-05-2023}}.</ref>.


=== À propos de la puissance de calcul annoncée ===
== Puissance de calcul ==
Le principe de BOINC est de fonctionner sur des ordinateurs possédant des caractéristiques différentes les uns des autres, et sur un nombre de machines qui n'est pas constant dans le temps. C'est pourquoi la puissance de calcul annoncée jours après jours sur le site officiel est une moyenne calculée sur les dernières 24 heures.
Le principe de BOINC est de fonctionner sur des ordinateurs possédant des caractéristiques différentes les unes des autres, et sur un nombre de machines qui n'est pas constant dans le temps. C'est pourquoi la puissance de calcul annoncée sur le site officiel est une moyenne calculée sur les dernières 24 heures.
La puissance de calcul disponible est donc variable et imprévisible.


== Logiciel ==
De facto, il est impossible de prévoir avec certitude quelle sera la puissance de calcul sur une période donnée.
BOINC est un [[logiciel libre]], sous la [[licence publique générale limitée GNU]] : chacun peut l'utiliser et le modifier pour ses propres besoins.


BOINC dispose d'un programme pour plusieurs plates-formes, ce qui permet de toucher un plus large public ([[Microsoft Windows|Windows]], [[GNU/Linux]], [[Mac OS X]], [[FreeBSD]], [[Solaris (système d'exploitation)|Solaris]] entre autres).
== Architecture BOINC ==

== Architecture ==


=== Principe de fonctionnement ===
=== Principe de fonctionnement ===
[[Fichier:Protocol_reseau.png |thumb|Protocole réseau]]
[[Fichier:Protocol_reseau.png |thumb|Protocole réseau]]


La plate-forme BOINC suit un modèle simple : chaque projet s'étend sur un serveur central qui exécute une application Master. Les applications sont réparties sur des milliers de petites tâches qui sont envoyées à des machines réparties sur l'Internet, où ils exécutent des applications de type travailleurs.
La plate-forme BOINC suit un modèle simple : chaque projet s'étend sur un serveur central qui exécute une application Master. Les applications sont réparties sur des milliers de petites tâches qui sont envoyées à des machines réparties sur l'Internet, où ils exécutent des applications de type travailleurs. <BR />
Il n'y a pas de communication entre les travailleurs. Toutes les communications doivent être du travailleur au Maître, afin de permettre la traversée de [[Network address translation|NAT]] et pare-feu. Les applications BOINC sont donc limitées au modèle Master/worker, avec un serveur central chargé de distribuer le travail aux clients BOINC. BOINC suit un protocole de réseau simple, qui demande aux clients d'initier toutes les communications (problèmes de NAT/[[pare-feu (informatique)|pare-feu]]) et de communiquer avec le serveur à chaque fois qu'un client demande plus de travail. Chaque fois qu'un client est inactif et décide d'exécuter plus de travail, il doit contacter le serveur principal trois fois.
Il n'y a pas de communication entre les travailleurs. Toutes les communications doivent être du travailleur au Maître, afin de
permettre la traversée de [[Network address translation|NAT]] et pare-feu. Les applications BOINC sont donc limitées au modèle Master/worker, avec un serveur central chargé de distribuer le travail aux clients BOINC. BOINC suit un protocole de réseau simple, qui demande aux clients d'initier toutes les communications (problèmes de NAT/[[pare-feu (informatique)|pare-feu]]) et de communiquer avec le serveur à chaque fois qu'un client demande plus de travail. Chaque fois qu'un client est inactif et décide d'exécuter plus de travail, il doit contacter le serveur principal trois fois.


=== Gestion des tâches ===
=== Description de l'architecture système de BOINC ===
Afin d'empêcher toutes triches ou erreurs de calcul, la même tâche peut être envoyée à une ou plusieurs machines. Lorsqu'une tâche est finie, l'ordinateur renvoie son résultat au serveur central qui compare ensuite le résultat avec les autres machines. En cas de désaccord, une tâche supplémentaire est envoyée à un autre ordinateur qui départagera les premiers ordinateurs. Le nombre d'ordinateur utilisé par application définit la fiabilité du résultat mais influence sur le temps d'attente pour obtenir le résultat.

Lorsque la tâche est validée, l'ordinateur est récompensé par des "crédits" dont la quantité peut dépendre du temps de calcul et de l'application. Voir [[:en:BOINC Credit System|BOINC Credit System]]

=== Gestionnaire de compte ===
Un gestionnaire de compte (ou ''Account Manager'') permet de simplifier la gestion de plusieurs projets et/ou de plusieurs ordinateurs. Quelques gestionnaires de comptes connus :
* BAM! (BOINC Account Manager) (premier Account Manager disponible au public, sortie le {{date-|30 mai 2006}})
* {{lien|GridRepublic}}
* SAM

=== Architecture système ===
Il existe deux interfaces entre le serveur et chaque client: l'ordonnanceur et le serveur de données. Tous les objets (composants
Il existe deux interfaces entre le serveur et chaque client: l'ordonnanceur et le serveur de données. Tous les objets (composants
BOINC) qui ont une couleur bleu-gris font partie de la suite logicielle de l'ensemble du système BOINC. Tous les objets (Composants
BOINC) qui ont une couleur bleu-gris font partie de la [[suite logicielle]] de l'ensemble du système BOINC. Tous les objets (Composants spécifiques BOINC) couleur orange font partie du projet qui est hébergé sur le système BOINC. Le système BOINC se compose de matériel et de logiciel complexes qui sont destinés à permettre une organisation et à effectuer le calcul distribué. Le système comporte deux couches primaires:
spécifiques BOINC) couleur orange font partie du projet qui est hébergé sur le système BOINC. Le système BOINC se compose de
matériel et de logiciel complexes qui sont destinés à permettre une organisation et à effectuer le calcul distribué. Le système comporte deux couches primaires:
* Côté serveur
* Côté serveur
** Logiciel
** Logiciel
Ligne 76 : Ligne 80 :
*** Hôte des Participants
*** Hôte des Participants
** Logiciel
** Logiciel
*** BOINC Manager (permettant de paramétrer le comportement du deamon. Interface graphique utilisant l'API WxWidgets)
*** BOINC Manager (permettant de paramétrer le comportement du deamon. [[Interface graphique]] utilisant l'API [[WxWidgets]])
*** BOINC Daemon (programme sans interface)
*** BOINC Daemon (programme sans interface)
*** Science Application
*** Science Application


== Les projets BOINC ==
== Les projets ==
{{article détaillé|Liste des projets BOINC}}

Les domaines scientifiques visés par les projets BOINC sont :
Les domaines scientifiques visés par les projets BOINC sont :
* la [[biologie]] et la [[médecine]] ;
* la [[biologie]] et la [[médecine]] ;
Ligne 88 : Ligne 94 :
* les [[mathématiques]] et l'[[informatique]].
* les [[mathématiques]] et l'[[informatique]].


À titre d'exemple, en octobre 2012, le projet PrimeGrid représente 17 % des calculs effectués et 12 % de la puissance actuelle de BOINC (le projet a une puissance moyenne de 2300 TFLOPS). Le deuxième projet le plus populaire est SETI@home avec 14 % des calculs effectués (puissance moyenne de 1500 TFLOPS). Vient ensuite MilkyWay@Home avec 13 % des calculs effectués (puissance moyenne de 1400 TFLOPS)<ref>http://www.allprojectstats.com/</ref>. BOINC regroupe 71 projets actifs<ref>http://boincstats.com/en/page/projectPopularity</ref>.
En {{date-|octobre 2012}}, le projet [[PrimeGrid]] représente 17 % des calculs effectués et 12 % de la puissance actuelle de BOINC (le projet a une puissance moyenne de 2300 TFLOPS). Le deuxième projet le plus populaire est [[SETI@home]] avec 14 % des calculs effectués (puissance moyenne de 1500 TFLOPS). Vient ensuite {{Lien|MilkyWay@Home|lang=en}} avec 13 % des calculs effectués (puissance moyenne de 1400 TFLOPS)<ref>{{lien web |langue=en |titre=Home - All Project Stats |url=http://www.allprojectstats.com/ |site=All Project Stats |consulté le=17-10-2020}}.</ref>. BOINC regroupe 71 projets actifs (2012)<ref>{{lien web |auteur1=Willy de Zutter |titre=Project popularity |url=http://boincstats.com/en/page/projectPopularity |site=boincstats.com |consulté le=03-05-2023}}.</ref>.


Pour connaître les différents projets proposés par la plateforme BOINC, consultez la [[liste des projets BOINC]].
<gallery caption="Logos de BOINC">
<gallery caption="Logos de BOINC">
Image:Boinc.svg|Logo utilisé jusqu'en juillet 2007
Image:Boinc.svg|Logo utilisé de 2002 à {{date-|juillet 2007}}
Image:BOINCManager_Old.png|Icône de BOINC Manager utilisé jusqu'en septembre 2007
Image:BOINCManager_Old.png|Icône de BOINC Manager {{date|Juillet 2007}} à {{date-|septembre 2007}}
Image:BOINCManager.png|Icône de BOINC Manager utilisé à partir de septembre 2007
Image:BOINCManager.png|Icône de BOINC Manager utilisé depuis {{date-|septembre 2007}}
</gallery>
</gallery>
{{message galerie}}


== Voir aussi ==
== Voir aussi ==
=== Articles connexes ===
* [[Liste des projets BOINC]]
* [[Liste des projets BOINC]]
* [[Calcul distribué]]
* [[Calcul distribué]]
* [[World Community Grid]]
* {{lang|en|[[World Community Grid]]}}
* [[Grille informatique]]
* [[Grille informatique]]
* [[TOP500|Classement TOP500 des supercalculateurs]]
* [[TOP500|Classement TOP500 des supercalculateurs]]


== Notes et références ==
=== Liens externes ===
{{Références}}

== Liens externes ==
{{Autres projets
{{Autres projets
| commons = Category:BOINC
| commons = Category:BOINC
}}
}}
* {{mul}} [http://boinc.berkeley.edu/ Site officiel]
* {{Officiel|mul|https://boinc.berkeley.edu/}}
* {{mul}} {{dmoz|Calcul Parallèle|http://www.dmoz.org/World/Français/Informatique/Calcul_parallèle/}}
* {{fr}} [http://www.boinc-af.org/ Le portail de L'Alliance Francophone des projets BOINC]
* {{fr}} [http://www.boinc-af.org/ Le portail de L'Alliance Francophone des projets BOINC]


== Notes et références ==
{{Références}}

{{Palette|Projets BOINC}}
{{Portail|logiciels libres|informatique}}
{{Portail|logiciels libres|informatique}}



Dernière version du 12 novembre 2023 à 15:38

Berkeley Open Infrastructure for Network Computing (BOINC)
Description de l'image BOINC logo July 2007.svg.
Description de cette image, également commentée ci-après
BOINC Manager sous Debian.
Informations
Créateur Space Sciences Laboratory et David P. Anderson (en)Voir et modifier les données sur Wikidata
Développé par Dr. David P. Anderson[1]
Première version
Dernière version 7.6.22 ()[2]
1.4.2 ()[3]
8.0.1 ()[4]Voir et modifier les données sur Wikidata
Dépôt github.com/BOINC/boincVoir et modifier les données sur Wikidata
Assurance qualité Intégration continueVoir et modifier les données sur Wikidata
Écrit en C++Voir et modifier les données sur Wikidata
Interface WxWidgetsVoir et modifier les données sur Wikidata
Système d'exploitation Linux, FreeBSD, Android, Microsoft Windows, macOS, Solaris, OS/2 et Raspberry Pi OSVoir et modifier les données sur Wikidata
Environnement Multiplate-forme
Langues Multilingue
Type Middleware
Calcul participatif
Distributed computing software (d)
Sciences participatives
Grille informatiqueVoir et modifier les données sur Wikidata
Licence GNU LGPL
Documentation boinc.berkeley.edu/wiki/User_manualVoir et modifier les données sur Wikidata
Site web boinc.berkeley.edu

BOINC, acronyme de Berkeley Open Infrastructure for Network Computing (« infrastructure ouverte de Berkeley dédiée au calcul en réseau ») est une plate-forme de calcul distribué qui permet de gérer des projets de calcul sur la base du volontariat. Développée à l'origine pour le projet de recherche d'intelligence extraterrestre SETI@home par l'université de Californie à Berkeley, elle a été généralisée pour de nombreuses autres applications scientifiques. Le but de BOINC est de mettre à disposition des chercheurs la puissance de calcul de nombreux ordinateurs personnels dans le monde entier.

Pour l'utilisateur final, BOINC se présente sous la forme d'une application à installer sur son ordinateur. Cette application s'exécute (selon paramétrage) lorsque l'ordinateur est peu ou pas utilisé. Le temps de calcul ainsi récupéré est mis à disposition d'un des projets.

BOINC a une puissance totale moyenne de calcul d'environ 33,82 PFLOPS repartie sur environ 477 414 ordinateurs actifs au début de . Pour comparaison, le supercalculateur le plus puissant au début de 2016 est le Tianhe-2, hébergé en Chine, qui atteint une puissance de 33 860 TFLOPS (soit 33,86 PFLOPS).

Description[modifier | modifier le code]

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

BOINC est une plate-forme de calcul partagé à laquelle tout le monde peut connecter son ordinateur. C'est donc un programme qui permet de faire participer des volontaires à des projets scientifiques dans différents domaines tels que la médecine, l'astronomie, la physique ou les mathématiques.

En faisant fonctionner BOINC, ces volontaires apportent une partie de la puissance de calcul de leur ordinateur personnel à des projets scientifiques qui ont parfois d'importants besoins sans disposer des moyens financiers qui leur permettraient d'utiliser un supercalculateur.

BOINC a pour rôle de gérer les programmes de calcul partagé présents un ordinateur. Elle demande très peu de puissance de calcul pour elle-même, et ne se sert du processeur que lorsqu'il n'est pas utilisé par d'autres applications et ne gêne donc pas l'utilisateur. Il n'est pas non plus nécessaire d'allumer son ordinateur en permanence.

Les fonctionnalités :

  • mise en cache de plusieurs unités de calcul permet à l'ordinateur de continuer à calculer sans être connecté à internet ;
  • téléchargement de nouveaux programmes et des mises à jour ;
  • participation simultanée à plusieurs projets ;
  • gestion de plusieurs ordinateurs clients avec une seule interface (BOINC Manager).

BOINC propose des systèmes de statistiques en fonction du calcul effectué. Ainsi 1 point (appelé cobblestone) sur un projet vaut 1 point sur un autre projet. Cela permet de faire des statistiques globales portant sur plusieurs projets et permet une compétition motivante entre les équipes, les pays. D'après la page des crédits généraux, il faut 8,9 mois pour un doublement des points au rythme du au . En , la puissance de calcul est de 9,4 PFLOPS pour 356 988 ordinateurs actifs soit 26,34 GFLOPS par ordinateur[5].

Puissance de calcul[modifier | modifier le code]

Le principe de BOINC est de fonctionner sur des ordinateurs possédant des caractéristiques différentes les unes des autres, et sur un nombre de machines qui n'est pas constant dans le temps. C'est pourquoi la puissance de calcul annoncée sur le site officiel est une moyenne calculée sur les dernières 24 heures. La puissance de calcul disponible est donc variable et imprévisible.

Logiciel[modifier | modifier le code]

BOINC est un logiciel libre, sous la licence publique générale limitée GNU : chacun peut l'utiliser et le modifier pour ses propres besoins.

BOINC dispose d'un programme pour plusieurs plates-formes, ce qui permet de toucher un plus large public (Windows, GNU/Linux, Mac OS X, FreeBSD, Solaris entre autres).

Architecture[modifier | modifier le code]

Principe de fonctionnement[modifier | modifier le code]

Protocole réseau

La plate-forme BOINC suit un modèle simple : chaque projet s'étend sur un serveur central qui exécute une application Master. Les applications sont réparties sur des milliers de petites tâches qui sont envoyées à des machines réparties sur l'Internet, où ils exécutent des applications de type travailleurs.
Il n'y a pas de communication entre les travailleurs. Toutes les communications doivent être du travailleur au Maître, afin de permettre la traversée de NAT et pare-feu. Les applications BOINC sont donc limitées au modèle Master/worker, avec un serveur central chargé de distribuer le travail aux clients BOINC. BOINC suit un protocole de réseau simple, qui demande aux clients d'initier toutes les communications (problèmes de NAT/pare-feu) et de communiquer avec le serveur à chaque fois qu'un client demande plus de travail. Chaque fois qu'un client est inactif et décide d'exécuter plus de travail, il doit contacter le serveur principal trois fois.

Gestion des tâches[modifier | modifier le code]

Afin d'empêcher toutes triches ou erreurs de calcul, la même tâche peut être envoyée à une ou plusieurs machines. Lorsqu'une tâche est finie, l'ordinateur renvoie son résultat au serveur central qui compare ensuite le résultat avec les autres machines. En cas de désaccord, une tâche supplémentaire est envoyée à un autre ordinateur qui départagera les premiers ordinateurs. Le nombre d'ordinateur utilisé par application définit la fiabilité du résultat mais influence sur le temps d'attente pour obtenir le résultat.

Lorsque la tâche est validée, l'ordinateur est récompensé par des "crédits" dont la quantité peut dépendre du temps de calcul et de l'application. Voir BOINC Credit System

Gestionnaire de compte[modifier | modifier le code]

Un gestionnaire de compte (ou Account Manager) permet de simplifier la gestion de plusieurs projets et/ou de plusieurs ordinateurs. Quelques gestionnaires de comptes connus :

  • BAM! (BOINC Account Manager) (premier Account Manager disponible au public, sortie le )
  • GridRepublic (en)
  • SAM

Architecture système[modifier | modifier le code]

Il existe deux interfaces entre le serveur et chaque client: l'ordonnanceur et le serveur de données. Tous les objets (composants BOINC) qui ont une couleur bleu-gris font partie de la suite logicielle de l'ensemble du système BOINC. Tous les objets (Composants spécifiques BOINC) couleur orange font partie du projet qui est hébergé sur le système BOINC. Le système BOINC se compose de matériel et de logiciel complexes qui sont destinés à permettre une organisation et à effectuer le calcul distribué. Le système comporte deux couches primaires:

  • Côté serveur
  • Côté client
    • Matériel
      • Hôte des Participants
    • Logiciel
      • BOINC Manager (permettant de paramétrer le comportement du deamon. Interface graphique utilisant l'API WxWidgets)
      • BOINC Daemon (programme sans interface)
      • Science Application

Les projets[modifier | modifier le code]

Les domaines scientifiques visés par les projets BOINC sont :

En , le projet PrimeGrid représente 17 % des calculs effectués et 12 % de la puissance actuelle de BOINC (le projet a une puissance moyenne de 2300 TFLOPS). Le deuxième projet le plus populaire est SETI@home avec 14 % des calculs effectués (puissance moyenne de 1500 TFLOPS). Vient ensuite MilkyWay@Home (en) avec 13 % des calculs effectués (puissance moyenne de 1400 TFLOPS)[6]. BOINC regroupe 71 projets actifs (2012)[7].

Voir aussi[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]

Sur les autres projets Wikimedia :

Notes et références[modifier | modifier le code]

  1. Équipe du projet BOINC
  2. « Release 7.6.22 », (consulté le )
  3. « https://github.com/BOINC/boinc/releases/tag/server_release%2F1.4%2F1.4.2 »,
  4. « https://github.com/BOINC/boinc/releases/tag/client_release%2F8.0%2F8.0.1 »,
  5. Willy de Zutter, « BOINC combined - Detailed stats », sur boincstats.com (consulté le ).
  6. (en) « Home - All Project Stats », sur All Project Stats (consulté le ).
  7. Willy de Zutter, « Project popularity », sur boincstats.com (consulté le ).