BOINC

De ArchwikiFR

BOINC est un logiciel permettant de s'inscrire sur des projets de calcul distribué et de gérer ces calculs de manière centralisée. L'article de Wikipédia fournit quelques précisions.

L'idée est de permettre à des organisations ou des individus ayant des besoins en calcul dépassant leurs possibilités de découper ces calculs en petits morceaux et de les déposer sur un serveur. De l'autre côté, des machines à travers le monde sont inscrites à ces projets, téléchargent des calculs à réaliser et renvoient le résultat quand elles ont terminé. Les calculs sont lancés en basse priorité pour utiliser le temps libre du processeur.

De nombreux projets de ce type existent et c'est là qu'intervient BOINC : plutôt qu'utiliser manuellement une multitude de logiciels de calcul, le client BOINC permet de gérer un grand nombre de projets, de leur attribuer chacun une partie du temps du processeur (par exemple une heure pour chaque projet, puis il recommence), de voir la liste des calculs en cours, d'interrompre l'un d'entre eux, ..., en bref de centraliser et superviser la gestion de l'ensemble.

Les thèmes vont des mathématiques à la biologie, en passant par le rendu d'images 3D.

Sommaire

Trouver et choisir des projets

Le site de l'alliance francophone recense les projets BOINC et indique pour chacun où trouver le site présentant le projet, sur quels systèmes le projet tourne, s'il est recommandé par l'alliance francophone (les projets non-recommandés sont très peu nombreux, essentiellement lorsqu'il s'agit de projets à but commercial, qui ne publient pas leurs résultats), si le code source est publié, ...

Attention aux ressources requises par le projet (processeur, mémoire, espace disque) et au temps accordé pour réaliser un calcul (de quelques jours à quelques mois), surtout si la machine n'est allumée que peu de temps ou si elle est inscrite à de nombreux projets.

Installation

 pacman -S boinc
Note: Il existe un paquet boinc-nox, sans dépendance au serveur X, pour ceux qui veulent le faire tourner sur un serveur sans interface graphique par exemple.

Démarrer le démon :

 systemctl start boinc

Démarrer le démon automatiquement au démarrage :

 systemctl enable boinc

Autorisations d'accès au service

Pour qu'un utilisateur du système puisse utiliser le client BOINC pour se connecter au service, il doit être inscrit dans le groupe boinc.

Un fichier contenant le mot de passe est généré au moment de l'installation. Ce fichier doit être accessible aux membres du groupe :

 chmod 640 gui_rpc_auth.cfg

Pour chaque utilisateur :

 cd ~/
 ln -s /var/lib/boinc/gui_rpc_auth.cfg gui_rpc_auth.cfg

Lancer l'interface graphique

 boincmgr

Pour la vue avancée, c'est dans le menu Affichage.

En ligne de commande

Il est possible de communiquer avec le démon avec la commande boinccmd.

Rejoindre des projets

Si tout est bien configuré (attention, pour prendre en compte l'inscription dans le groupe boinc un su <utilisateur> peut être nécessaire), le client BOINC propose automatiquement au démarrage de s'inscrire à un projet ou un gestionnaire de comptes. Il est possible de s'inscrire plus tard via les menus.

Les projets

BOINC propose une liste non-exhaustive de projets. Les projets sont identifiés par l'URL de leur site web. Pour certains il sufit d'entrer l'URL dans BOINC et de donner une adresse électronique et un mot de passe, d'autres ne supportent l'inscription qu'à travers leur site web.

Le site de chaque projet permet de configurer quelques propriétés propres au projet, comme le temps relatif à lui accorder.

Les gestionnaires de comptes

Les gestionnaires de comptes sont des sites permettant de centraliser l'accès aux comptes des sites des projets, en dehors du client BOINC. Utile quand on a plusieurs machines effectuant les mêmes calculs et qu'on ne veut pas inscrire les projets manuellement sur chacune d'entre elle par exemple : il suffit d'inscrire le projet dans le gestionnaire de comptes pour qu'il apparaisse partout. BOINC en propose une liste. S'inscrire à un tel site n'est pas obligatoire.

Il est possible de gérer une partie des projets à travers un gestionnaire de comptes et de s'inscrire à d'autres individuellement. Il arrive notamment qu'un gestionnaire de comptes ne parvienne pas à se connecter au site d'un projet et qu'il ne permette pas de le gérer alors qu'il est possible de s'inscrire au projet séparément.

Configurer l'utilisation de la machine

Pensez à jeter un oeil au menu Outils -> Préférences pour configurer l'utilisation de l'ordinateur par BOINC : nombre de coeurs utilisés, pourcentage d'utilisation des coeurs, utilisation de la mémoire, de la connexion réseau, de l'espace disque, ...

Supervision

Certains sites permettent de suivre l'ensemble des calculs effectués sur BOINC, si les machines tournent, propose des classements, ... BOINCstats est un exemple.

Journaux

Les journaux se trouvent à cet endroit :

 /var/lib/boinc/stderrdae.txt
 /var/lib/boinc/stdoutdae.txt

Problèmes divers

Ordinateurs portables

Effectuer des calculs intensifs sur une machine la mène à chauffer, éventuellement à faire du bruit et à capturer plus de poussière (ventilateurs à vitesse variable). Les ordinateurs portables sont particulièrement sensibles à ces problèmes (la poussière est terrible, d'autant qu'il n'est pas forcément simple de nettoyer ou changer un ventilateur encrassé).

Pour limiter ces problèmes, attention à limiter le nombre de processeurs/coeurs utilisés, à limiter leur niveau d'utilisation et à indiquer à BOINC d'interrompre ses calculs si le reste des activités de la machine dépasse un certain niveau. Tous ces points peuvent être réglés dans les préférences de calcul.

Nom d'utilisateur invalide

Pour se connecter à un projet ou un gestionnaire de comptes, un nom d'utilisateur est parfois demandé. Il s'agit de l'adresse électronique utilisée pour s'inscrire.

Projets 32 bits

Attention: Cette partie est tirée de la page anglophone, je n'ai rien testé.

Certains projets ne fournissent que des exécutables 32 bits et nécessitent donc l'installation de bibliothèques 32 bits pour effectuer les calculs ou afficher les images du projet. La plupart de ces bibliothèques se trouvent dans le dépôt [multilib].

Pour effectuer les calculs (ex. Climateprediction)
lib32-glibc, lib32-glib2
Pour afficher les images (ex. plusieurs projets de World Community Grid, Climateprediction)
lib32-pango, lib32-libxdamage, lib32-libxi, lib32-libgl, lib32-libjpeg6 (AUR), et lib32-libxmu
Outils personnels
Autres langues