BOINC
Par Lionel le dimanche 30 septembre 2007, 20:56 - Divers - Lien permanent
Le calcul distribué permet de résoudre des problèmes complexes en les
découpant en éléments calculables séparément. L'intérêt est de pouvoir donner
ces "unités de travail" à calculer à un grand nombre de machines éparpillées
dans l'internet : les nôtres.
Car c'est bien de cela qu'il s'agit : utiliser la puissance "dormante" des
ordinateurs reliés à l'internet pour constituer l'équivalent de
super-calculateurs et faire progresser les programmes scientifiques nécessitant
une grande puissance de calcul.
Dans ce but a été créé BOINC (Berkeley Open Infrastructure for Network Computing), plate-forme technique utilisée par des projets afférants aux domaines suivants :
- Astronomie
- Climatologie
- Biochimie
- Physique
- Recherche mathématique
- ...

Je préfère prévenir tout de suite : le domaine est complexe et il est
conseillé d'être à l'aise avec son ordinateur avant de se lancer. Il n'est pas
rare au début que tout ne fonctionne pas comme prévu et les sites des projets
sont souvent conformes à l'idée que la science donne souvent d'elle-même :
aride et peu attrayant. Je vais essayer d'être le plus clair possible mais se
familiariser avec Boinc par l'intermédiaire des sites indiqués dans les liens
généraux (en fin d'article) peut éviter des ennuis.
Contenu de l'article :
- Comment ça marche
- La pratique
- Liens
Comment ça marche
Un projet fournit des "unités de travail" qui sont calculées par le
programme Boinc installé sur la machine, le résultat est renvoyé au projet qui
attribue des crédits comme preuve de participation (ou en récompense, à vous
d'interpréter). Ces unités de travail ont des date limites de calcul au-delà
desquelles l'ordinateur a calculé et consommé de l'énergie pour rien. Il est
possible d'annuler le calcul d'une unité de travail lorsqu'on ne peut pas tenir
les délais.
Il faut noter que certains projets (en climatologie notamment) envoient de très
grosses unités de calcul ayant jusqu'à un an d'échéance, et n'attendent
heureusement pas la fin du calcul de l'unité avant d'accorder des crédits. Ils
en distribuent des quantités fixes par paliers.
Il est possible de régler finement la manière dont les calculs sont menés,
c'est-à-dire si le programme calcule en permanence ou bien uniquement lorsque
l'ordinateur n'est pas utilisé, quel pourcentage de la puissance disponible il
est autorisé à utiliser, la répartition du temps de calcul entre les différents
projets s'il y en a plusieurs, s'il doit télécharger des unités de travail pour
plusieurs jours de calcul (pratique lors des séjours sans internet)...
Ces préférences se règlent en partie sur le logiciel et sur le site du projet
(ou le gestionnaire de comptes, voir plus bas). En cas de participation à
plusieurs projets, les préférences modifiées sur un projet sont répercutées sur
les autres.
Il est possible de travailler seul ou bien de devenir membre d'une équipe, voir
les liens communautaires ci-dessous pour plus de renseignements. Il est aussi
possible d'utiliser plusieurs ordinateurs (c'est mon cas) et de les affecter à
des projets différents, ou bien les mêmes (mais chacun calcule alors ses
propres unités). Le programme peut se connecter à un ordinateur distant pour en
contrôler le logiciel client. Cela veut dire que si vous avez plusieurs
ordinateurs en réseau, vous pourrez contrôler Boinc à partir d'un seul sans
avoir à vous déplacer.
Pour information, les possesseurs de machines multi-processeurs (ou
multi-coeurs) constateront que leur machine calcule une unité de travail par
processeur (ou coeur), leur donnant un certain avantage par rapport aux
machines mono-processeur.
La distribution de crédits (calculés de manière complexe, voir ici si vous y tenez) donne
lieu au grand jeu des statistiques, devenu la raison d'être de différents sites
dont BOINCstats et BOINC Combined
statistics.

Cette image liée à mon compte reflète mes crédits actuels
La pratique
La première étape est de télécharger et installer le programme Boinc
correspondant à votre machine. Il est disponible sur le site officiel.
La deuxième chose à faire et de déterminer si l'on souhaite contribuer à un
seul ou plusieurs projets. Cela a son importance car il est très fortement
conseillé d'utiliser un gestionnaire de comptes Boinc dès que vous participez à
plusieurs projets. Ce site web fait l'interface entre le client Boinc (qui
calcule) et les projets (qui fournissent les unités de travail et distribuent
les crédits). Il en existe deux à ma connaissance, GridRepublic et BAM! (Boinc Account Manager) que
j'utilise.
Il ne vous reste plus qu'à choisir des projets compatibles avec votre système
d'exploitation (voir ici) et
à vous inscrire.
Pour que vos différentes participations soient bien attribuées à une seule
personne, il faut que les comptes soient créés avec une adresse mail identique,
chose réalisée sans soucis par un gestionnaire de compte. De même, chaque
changement dans les préférences entraîne la nécessité de mettre à jour chaque
projet, ce qui est réalisé en une seule opération par le gestionnaire.
Dans la pratique, je vais détailler le fonctionnement du gestionnaire de
comptes que j'utilise, BAM!, fonctionnant en conjonction avec le site
BOINCstats. La lecture de la page
d'accueil est d'un grand secours et regroupe les informations nécessaires
pour bien se lancer.
Une fois un compte créé sur BOINCstats, on choisit dans la liste des projets
disponibles ceux qui nous intéressent, il n'est pas obligatoire de participer à
tous ceux qui sont choisis.
L'action de choisir dans ce premier choix de projets ceux auxquels on va
participer se nomme l'attachement, et consiste à assigner un ou plusieurs
projets à une ou plusieurs machines. De même, si l'on souhaite ne plus
participer à un projet on peut s'en détacher sans le supprimer de la liste des
projets favoris.
C'est ensuite dans la page consacrée à chaque machine de l'utilisateur que l'on
peut paramétrer la répartition des ressources et l'attachement/détachement des
projets.
Une fois les attachements réalisés, il suffit de synchroniser le programme
Boinc sur chaque machine avec le site BOINCstats/BAM! pour commencer les
calculs.
Il est ensuite possible depuis le gestionnaire de mettre rapidement en pause
les calculs ou les communications réseau, gérer les suspensions de calculs ou
les abandons d'unités de travail (par risque de ne pas les calculer avant les
délais) sans devoir repasser par le site. Des préférences locales (spécifiques
à chaque machine) sont définissables pour affiner encore le travail de Boinc.
Il y a au final une multitude de possibilités de réglages qui ne manquent pas
de faire tourner en rond, mais à la longue on arrive à se démêler les pinceaux.
Boinc se synchronise régulièrement avec les différents projets et une fois bien
paramétré il peut s'oublier en tâche de fond.
Personnellement, j'ai choisi de faire tourner Boinc à 100% des capacités de
chaque machine, je préfère mettre les calculs en pause quand j'ai besoin d'un
ordinateur réactif plutôt que d'accorder un plus faible pourcentage de
puissance en permanence.
Je fournirai plus de détails sur demande dans les commentaires.
Liens
Liens généraux
- La page Boinc de Wikipédia
- BOINC, le site officiel
- Boinc France
- Boinc.fr
- L'Alliance Francophone
- Forum Boinc
- Projets par plate-forme
- Mes statistiques (Petrovsk) en détails pour les curieux
- Débuter avec Boincstats BAM!
- Dossier sur Clubic.com
Projets
- Liste incomplète de projets sur Wikipédia et sur le site de l'Alliance francophone
-
Astronomie et espace
- SETI@home (en anglais), recherche de signaux extraterrestres
- Einstein@home (en anglais), recherche d'ondes gravitationnelles
-
Climatologie
- Climate Prediction Dot Net (en anglais)
- Seasonal Attribution Project (en anglais)
-
Protéines
- Rosetta@home (en anglais)
- Tanpaku (en anglais), projet japonais
-
Physique
- LHC@home (en anglais), projet du Grand Collisionneur de Hadrons du CERN
Et autres...
