Ceci est une ancienne révision du document !
Boinc : calculs distribués sur Internet
BOINC, acronyme de Berkeley Open Infrastructure for Network Computing est un plate-forme de calcul distribué mise au point par l'université de Berkeley. Ce programme permet à n'importe quelle personne volontaire de participer à des projets scientifiques en mettant à disposition la puissance de calcul inutilisée de votre ordinateur au profit de la science. Différents projets de calculs sont en cours d'avancement, vous pouvez rejoindre ceux de votre choix à tous moments. Il n'y a pas de configuration minimale, n'importe quelle ordinateur est capable de faire tourner ce logiciel. Les résultats dépendront seulement de la puissance de calcul de votre processeur.
Pré-requis
- Disposer des droits d'administration.
- Disposer d'une connexion à Internet configurée et activée.
Installation
Depuis les dépôts
Il suffit d'installer le paquet boinc
Depuis les sources
Bien que ceci soit conseillé sur leur site, la version disponible en 2020 est complètement obsolète et son installation n'est pas fonctionnelle par manque d'une librairie (libwebkitgtk-1.0-0).
Vous pouvez vérifier les versions disponibles ainsi que leurs dates de publication sur la page https://boinc.berkeley.edu/download_all.php
Installation
- Déplacer le script dans un dossier mes logiciels, pour l'exemple ici il s'agira de ~/bin1)
- Ne créez pas de sous-dossier boinc, le script d'installation s'en occupera tout seul.
- Si l'installation s'est bien déroulée un nouveau dossier est créé dans votre dossier ~/bin, il s'agit de "BOINC"
- Allez dans ce dossier pour lancez l'interface de configuration
cd ~/bin/BOINC ./run_manager
Configuration
Rejoindre un projet
De nombreux projets sont proposés pour Boinc dans les domaines biologique, physique, nanotechnologique, astronomique, climatologique, mathématique, informatique… Voir la liste des projets.
Pour rejoindre un projet, lancez Boinc Manager. Une fenêtre devrait vous proposer de rejoindre un projet. Si ce n'est pas le cas, cliquez sur "Outils" → "Ajouter un projet". Sélectionnez le projet que vous voulez rejoindre dans la liste qui apparaîtra, et cliquez sur "Suivant". Ensuite, cliquez sur: "Non, nouvel utilisateur" puis laissez-vous guider afin de vous inscrire au projet. Finalement, un message vous confirmant l'attachement au projet devrait apparaître: cliquez sur "Fin".
Boinc va maintenant récupérer des calculs puis va commencer à les exécuter. Vous n'avez même pas besoin d'être connecté à internet pour que Boinc fonctionne. Il vous faut être connecté afin qu'il envoie les résultats et qu'il reçoive de nouveaux calculs.
Utilisation
Une fois installé, le logiciel BOINC Manager permet de contrôler le client BOINC. Il est accessible dans les applications.
Notez bien que le client se lance automatiquement au démarrage d'Ubuntu.
Mettre Boinc en "pause"
Lorsque vous voulez faire faire une pause à Boinc afin d'exécuter un programme gourmand en ressource, cliquez sur le bouton "Suspendre". Le bouton "Reprendre" relance les calculs.
Les menus sous Boinc
La configuration de Boinc est relativement simple. Nous allons voir ici à quoi servent chacun des menus.
- Fichier: permet de fermer le manager. Attention, cette procédure ne ferme pas les processus de calculs ouvert par Boinc.
- Affichage : il vous permet de basculer entre une vue "simple" et une vue "avancée" plus descriptive.
- Options : en vue "avancée", permet des réglages importants notamment sur l'occupation des processeurs, du disque système et du réseau. BOINC est très gourmand par défaut utilisant 100% des processeurs, tout le disque, etc. Votre machine risque de devenir bruyante, chauffer… Vous pouvez donc moduler cela ici.
- Outils: permet de gérer vos comptes ou de rejoindre un nouveau projet.
- Activité: seulement visible en vue "avancée", il permet de choisir l'activité du processeur ou l'activité réseau.
Calculs avec le GPU
Si vous avez une carte graphique Nvidia CUDA ou ATI Stream, vous pouviez l'utiliser pour calculer plus rapidement. Vous deviez disposer d'une version de Boinc supérieure à 6.3 (Octobre 2008). Consultez au passage la liste des projets supportant les calculs GPU.
Ceci ne semble plus d'actualité.
Comment quitter BOINC
Boinc est un DAEMON. Si vous avez besoin d'arrêter votre ordinateur, faites-le. Au prochain démarrage, Boinc continuera les calculs qu'il effectuait avant l'arrêt sans problème.
Pour empêcher cela décochez "Exécuter le client" dans le menu Options / Autres options, en vue "Simple".
Pour suspendre le travail de BOINC, utiliser le bouton "Suspendre" dans le manager.
Ligne de commande
Préalable
Les commandes ci-dessous sont tapées localement. Il faut toutefois noter que même dans ce cas de figure il faut prendre quelques précautions :
- Il faut se trouver dans le répertoire /etc/boinc-client pour ne pas avoir à taper –host localhost juste après chaque commande boinccmd (ou boinc_cmd) … même si le binaire en question est bien connu dans les variables d'environnement (de toute facon il ne se trouve pas dans /etc/boinc-client).
- S'il y a un mot de passe dans le fichier /var/lib/boinc-client/gui_rpc_auth.cfg (par exemple mypasswd) alors il faudra commencer toutes les commandes par
boinc_cmd --host localhost --passwd mypasswd
C'est surprenant d'ailleurs car en principe ce mot de passe sert pour les connexions en gui distantes, mais s'il n'y a pas de mot de passe la commande "boinc_cmd" n'a pas besoin de –host … ca va plus vite à taper :o)
Il suffit de faire un essai avec
boinc_cmd -V
Si cela répond Authorization failed : 155, alors il faut préfixer toutes les commandes comme cité plus haut (et être dans le bon répertoire).
La doc
Les détails de la commande boinc_cmd sont décrits sur cette page ou simplement dans le manuel:
man boinc_cmd
Exemple
Voici toutefois un "quickstart" avec un proxy.
Utiliser un proxy
--set_proxy_settings http_server_name http_server_port http_user_name http_user_passwd socks_server_name `socks_server_port socks_version socks5_user_name socks5_user_passwd
Tous les champs étant obligatoires, il faut utiliser deux guillemets pour indiquer une chaîne vide. Exemple:
boinccmd --host localhost --set_proxy_settings url_du_proxy 1234 "" "" "" "" "" "" ""
Mais attention ! il y a clairement quelque chose qui cloche (sur toutes mes machines 8.10 Intrepid en tout cas) :
- la commande boinccmd –get_proxy_settings ne retourne jamais rien, même quand un proxy est paramétré et fonctionnel.
- pour que les paramètres proxy indiqués par la commande set_proxy_settings soient pris en compte, il faut éditer manuellement un fichier !
Stopper le daemon:
sudo /etc/init.d/boinc-client stop
éditer le fichier client_state.xml:
sudo vim /var/lib/boinc-client/client_state.xml
Juste après
<proxy_info>
ajouter:
<use_http_proxy/>
Relancer le daemon:
sudo /etc/init.d/boinc-client start
Connaître l'"account key" de votre compte
boinccmd --lookup_account url_du_projet login mot_de_passe
Cela retourne l'"account key", une chaîne de 32 chiffres.
Rejoindre un projet
boinccmd --host localhost --project_attach URL_du_projet account_key
Voilà. Au bout de quelques minutes le travail devrait commencer. On peut avoir des infos via la commande
boinccmd --get_state
Il semble que parfois il faille "forcer" le départ via
boinccmd --set_run_mode always
Voir aussi
- Le site de Boinc (EN): http://boinc.berkeley.edu/
- Installation sur Ubuntu (EN): http://boinc.berkeley.edu/wiki/Installing_BOINC_on_Ubuntu
- Liste des projets: http://fr.wikipedia.org/wiki/Liste_des_projets_BOINC
- Le site de l'alliance francophone: http://www.boinc-af.org/
- Discussion "Boinc" sur le forum ubuntu-fr