Le Forum de l'Alliance Francophone

FAQ Technique => Tutoriels => Discussion démarrée par: JeromeC le 26 March 2018 à 17:29

Titre: [TUTO] Configuration de plusieurs instances BOINC
Posté par: JeromeC le 26 March 2018 à 17:29
Et non je n'ai pas honte, je pompe intégralement et (presque) littéralement un long tuto all in English qui se trouve ici :

http://www.overclock.net/forum/365-overclock-net-boinc-team/1628924-guide-setting-up-multiple-boinc-instances.html

(mais au moins je cite mes sources ET je me suis fadé la relecture et adaptation de Google trad alors bon je mérite un bisou ;))

--------------------------------------------

Configuration de plusieurs instances BOINC

Un des moyens les plus faciles de faire du cache est de configurer plusieurs instances de BOINC sur un seul ordinateur. [cette phrase a des contre-exemples, notamment du fait de l'ingénierie locale AF]

Cela a plusieurs avantages comme:

Les étapes requises pour configurer plusieurs instances de boinc dans Windows sont décrites ci-dessous. J'utilise Win7 donc je suppose que cela fonctionnerait dans Win8 / 10. Faites défiler vers le bas pour la version Linux.

Configuration d'une deuxième instance BOINC dans Windows

1. Créez un nouveau dossier pour les données du projet

Mon dossier BOINC est dans C:\ProgramData\BOINC donc je viens de créer un dossier supplémentaire appelé BOINC2. Incrémentez le # pour chaque instance supplémentaire.

2. Editez le fichier cc_config.xml

Il est situé dans le dossier BOINC principal: C:\ProgramData\BOINC

Incluez l'option allow_multiple_clients dans cc_config.xml. La mienne ressemble maintenant à ceci:
<cc_config>
 <options>
   <use_all_gpus>1</use_all_gpus>
   <allow_multiple_clients>1</allow_multiple_clients>
 </options>
</cc_config>

Ajoutez également cette ligne si le client supplémentaire est sur un PC distant:
<allow_remote_gui_rpc>1</allow_remote_gui_rpc>
3. Créez un fichier de commandes dans le nouveau dossier BOINC

Cela permet de configurer le dossier et peut être utilisé pour démarrer le BM. Incluez ces 2 lignes dans le fichier batch. Je nomme le mien boinc2.bat et incrémente le # pour chaque instance (cette façon de faire est généralement une bonne pratique).
"c:\Programme\BOINC\boinc.exe" --allow_multiple_clients --redirectio --detach_console --gui_rpc_port 31418 --dir C:\ProgramData\BOINC2exit[le exit en bout de ligne ne me paraît pas très catholique, à tester]

Mettez à jour le répertoire d'installation (si différent) et le répertoire BOINC2 à l'emplacement de votre dossier BOINC avec son vrai nom. BOINC2 si vous faites comme moi.

Le port par défaut est 31416, donc incrémentez le numéro de port pour chaque client supplémentaire. J'ai commencé à 31418 et je suis parti de là.

4 Exécutez le fichier Batch

Il démarrera une autre instance BOINC pointant ainsi sur le nouveau répertoire de données spécifié dans le fichier batch. Vous devriez voir un autre boinc.exe en cours d'exécution aussi [visible dans les processus du gestionnaire de tâches]. Je me retrouve avec un dossier et 12 fichiers incluant le fichier batch quand c'est fait.

Pour plus d'une instance, j'ai créé un autre fichier batch et mis à jour le dossier et le numéro de port BOINC2. A partir de là, la première ligne du fichier batch peut être combinée en une seule pour démarrer toutes les instances à la fois.


Connexion du gestionnaire BOINC à la nouvelle instance. (Optionnel)

Je dis optionnel car à partir de là tout peut être contrôlé via BOINCTasks. Tout le monde ne l'utilise pas alors voici comment faire fonctionner une autre instance de BM pour se connecter au nouveau client BOINC.
[mais franchement si vous commencez à en être à ce niveau de magouille, utilisez BoincTasks ! ça marche même sous Linux et Mac OS via Wine]

1. Créer un nouveau raccourci

J'avais déjà un raccourci BM sur mon bureau alors je l'ai copié et renommé BOINC2 pour que je sache à quelle instance il appartenait.

2. Copiez le mot de passe dans la seconde instance de Boinc

L'un des fichiers créés après l'exécution du fichier de commandes est gui_rpc_auth.cfg avec un tas de lettres et de chiffres aléatoires dedans.

3. Modifier le raccourci BOINC2

Modifiez la ligne "Cible" pour inclure le nouveau numéro de port et le nouveau mot de passe. C'est ce à quoi ressemble le mien pour ma 2ème instance.

"C:\Programme\BOINC\boincmgr.exe" /m /n 127.0.0.1 /g 31418 /p 37cf632b718387f4675342371b4055cc

Je n'utilise pas de mot de passe pour me connecter à mes clients, en local ou sur le réseau. Votre mot de passe sera différent du mien.

Si je me souviens bien, le nouveau BM ne s'est pas connecté instantanément la 1ère fois. Il était à la recherche de l'hôte, mais je pense qu'il se connecte à l'hôte après quelques secondes.

A partir de maintenant, cette instance peut être traitée comme un autre ordinateur, ajoutez / supprimez des projets comme vous le souhaitez.  Je dois toujours changer les préférences pour calculer pendant que l'ordinateur est occupé et et pareil pour le GPU.


Configuration de BOINCTasks (facultatif)

Ceci est également facultatif. J'utilise BOINCTasks pour contrôler toutes mes instances BM localement et à travers le réseau. Je n'ai même jamais ouvert d'instance BM.

1. Ajouter un ordinateur

Sélectionnez l'onglet Ordinateur, puis Ordinateur dans le menu Fichier et sélectionnez Ajouter un ordinateur.

2. Donnez un nom à l'ordinateur

J'ai incrémenté le nom de l'ordinateur sur lequel il était, 3770k-2. Ce n'est pas le nom complet de l'ordinateur, donc ça peut être n'importe quoi. Encore une fois, j'ai simplement incrémenté et gardé l'indice cohérent.

3. Spécifiez l'adresse IP

L'instance est sur le même ordinateur que BoincTasks, donc c'est toujours localhost. Je ne sais pas si c'est nécessaire mais j'ai ajouté l'index à la fin pour que BOINC2 ait "localhost2" comme adresse IP. Ça marche pour moi.

4. Spécifiez le port

Utilisez le même port que celui figurant dans le premier fichier batch. BOINC2 pour moi était 31418.

5. Donnez le mot de passe à BOINCTasks

Même chose ici, collez le mot de passe pour BOINC2 à partir du fichier gui_rpc_auth.cfg.


Après cela, je peux contrôler les instances de Boinc avec BoincTasks. En fait, je n'ai jamais de fenêtres BM ouvertes sur mon bureau et encore moins une pour chaque instance. Voici à quoi ressemblent certaines de mes instances dans BOINCTasks


J'ai d'abord configuré plusieurs clients pour exécuter Goofy pour les points et les heures WUProp car c'est une application NCI avec des badges, mais cela devrait aider le Pentathlon à venir.
[ET CA C'EST LE MAL ! Il y a un long sujet sur le forum de WUProp à ce sujet, et à l'heure où j'écris cela a dégouté Seb sur le long terme]

Tous les fichiers app_config.xml ou gpu.config devront être copiés dans les nouveaux dossiers de projet créés dans les dossiers BOINC #.


Version Linux


J'utilise Mint, il y a donc peut-être des ajustements à faire en fonction des distribs ou de l'installation de boinc. Je rappelle que Linux est sensible à la casse. Toutes les commandes ci-dessous peuvent être entrées dans une fenêtre de terminal qui peut être ouverte en appuyant sur Ctrl + Maj + T à la fois.

1. Créez un répertoire de données pour plusieurs instances BOINC

Pour chaque instance BOINC supplémentaire que vous souhaitez exécuter, il suffit d'incrémenter le # pour chaque instance. J'ai fait le mien juste dans le dossier normal de boinc-client avec cette commande dans le terminal.

sudo mkdir /var/lib/boinc2
2. Créez le fichier cc_config.xml

Tout comme la version de Windows, créez le fichier cc_config.xml et collez ces quelques lignes pour un accès facile via l'accès distant BM ou BOINCTasks.

sudo gedit /var/lib/boinc2/cc_config.xml
Utilisez votre éditeur de texte de votre choix. J'ai utilisé gedit et nano. L'un ou l'autre fonctionne.

3. Coller le texte dans cc_config.xml

Copiez dans ces lignes et enregistrez.

<cc_config>
 <options>
  <use_all_gpus>1</use_all_gpus>
  <allow_multiple_clients> 1 </allow_multiple_clients>
 </options>
</cc_config>

Ajoutez également cette ligne si le client supplémentaire est sur un PC distant:

<allow_remote_gui_rpc>1</ allow_remote_gui_rpc>
4. Créez un gui_rpc_auth.cfg vide

J'ai trouvé qu'il était plus facile de créer un fichier vide sous Linux, alors créez un fichier vide et sauvegardez. Il peut probablement être fait la même chose dans Windows mais bon j'ai déjà écrit la version Windows.

sudo gedit /var/lib/BOINC2/gui_rpc_auth.cfg
5. Démarrez l'instance client BOINC

Exécutez cette commande pour démarrer l'instance BOINC avec le numéro de port et le répertoire ajustés.

sudo /usr/bin/boinc --daemon --allow_multiple_clients --gui_rpc_port 31422 --dir /var/lib/boinc2
Pour plus d'instances, j'ai ajusté le port # et le dossier boinc #. De là, vous pouvez surveiller avec BOINCTasks ou un gestionnaire BOINC.


Configuration de WUProp
[ET LA DE NOUVEAU C'EST LE MAL]

Pour permettre à WUProp de rassembler des données sur tous les projets que vous exécutez sur les instances BOINC supplémentaires, il aura besoin d'un fichier app_config.xml pour utiliser le port rpc_gui configuré avec le client. Accédez à chacun de vos dossiers de données boinc et créez un fichier app_config.xml et collez-y les éléments suivants:

<app_config>   
 <app_version>   
  <app_name>data_collect_v4</app_name>   
  <plan_class>nci</plan_class>   
  <avg_ncpus>0.01</avg_ncpus>   
  <cmdline>-p 31418</cmdline>   
 </app_version> 
</app_config>

Si vous avez configuré la même structure de dossier que moi, le dossier se trouvera ici:

Windows: C:\ProgramData\BOINC2\projects\wuprop.boinc-af.org/app_config.xm
Linux: /var/lib/boinc2/projects/wuprop.boinc-af.org/app_config.xml

Ajustez le numéro de port dans l'option cmdline pour correspondre à cette instance BOINC. Par ma configuration au-dessus de mon port Windows pour BOINC2 était 31418 et ceci est mon fichier. Assurez-vous que BM a relu les fichiers app_config.xml pour récupérer la modification.

--------------------------------------------

Remarques :
- je pars du principe qu'il faut connaitre et étudier le MAL pour pouvoir le comprendre et lutter contre lui
- je n'offre aucun support pour ce tuto :)
Titre: Re : Configuration de plusieurs instances BOINC
Posté par: Jakez Sulli le 16 October 2018 à 10:46
 :kookoo: Good job JeromeC  :jap: tks.
Titre: Re : Configuration de plusieurs instances BOINC
Posté par: GuL le 17 October 2018 à 21:14
Un grand merci Jérôme pour cet article fort intéressant  :jap:
Titre: Re : Configuration de plusieurs instances BOINC
Posté par: donfredo le 21 January 2019 à 18:00
Bonjour
Je suis très intéressé par la configuration de plusieurs instances BOINC mais je ne trouve pas le fichier cc_config.xml. dans le dossier caché C:\ProgramData\BOINC ni nulle part
Possédant un disque dur ssd j'ai installé le dossier de stockage des UT sur un disque dur interne je tourne sur windows 10 pro
Merci de votre aide
Titre: Re : Re : Configuration de plusieurs instances BOINC
Posté par: DocPhilou1966 le 21 January 2019 à 19:18
Bonjour
Je suis très intéressé par la configuration de plusieurs instances BOINC mais je ne trouve pas le fichier cc_config.xml. dans le dossier caché C:\ProgramData\BOINC ni nulle part
Possédant un disque dur ssd j'ai installé le dossier de stockage des UT sur un disque dur interne je tourne sur windows 10 pro
Merci de votre aide
:hello:
Si le dossier n'existe pas il faut le créer ;)
 :kookoo:
Titre: Re : Configuration de plusieurs instances BOINC
Posté par: JeromeC le 21 January 2019 à 22:16
Le dossier va forcément exister, son emplacement précis est visible au démarrage de boinc dans le journal des messages :

15-Jan-2019 15:26:38 [---] Data directory: xxxxxxx(il dépend du système d'exploitation, de la version de boinc, des particularités d'une install customisée...)

Ce qui peut ne pas exister dedans c'est le fichier cc_config.xml lui-même, il faut alors le créer avec le contenu indiqué plus haut.
Titre: Re : Configuration de plusieurs instances BOINC
Posté par: DocPhilou1966 le 24 January 2019 à 05:50
ça ne fausse pas WuProp tout ce bazar ?
Titre: Re : Configuration de plusieurs instances BOINC
Posté par: JeromeC le 24 January 2019 à 11:58
Ça dépend ce que tu entends par "fausser", mais ça peut clairement avoir un effet multiplicateur de crédits (WUProp).

Mais sinon il va collecter les données des divers projets dans les diverses instances, cf le paragraphe sur la configuration WUprop.
Titre: Re : Configuration de plusieurs instances BOINC
Posté par: DocPhilou1966 le 24 January 2019 à 17:57
Bête question, mais un pc X avec une puissance de calcul Y : Quel intérêt d'avoir plusieurs instances de BOINC qui devront se partager les ressources Y ?
A part accumuler des heures WuProp, je ne vois pas trop le but ? :jap:
Titre: Re : Configuration de plusieurs instances BOINC
Posté par: JeromeC le 24 January 2019 à 18:09
Ca avait déjà été évoqué : pour gérer des problèmes complexes d'utilisation de GPU différents sur chacun des projets différents sur une même machine, par exemple.
Titre: Re : Configuration de plusieurs instances BOINC
Posté par: donfredo le 28 January 2019 à 17:31
Merci les gars pour toutes vos réponses
Ça m'a l'air d'un sacré challenge
Je vais me lancer

Merci encore à vous tous

Titre: Re : Configuration de plusieurs instances BOINC
Posté par: [AF>Libristes] Pascal le 15 April 2020 à 07:26
Merci JeromeC. :jap:

J'ai fait une instance spécialement pour le GPU que je mets actuellement sur FAH. Pendant les (parfois longues) périodes d'attente d'une nouvelle unité, le GPU calcule sur GPUGrid.

Une petite remarque : au para 4 de GNU/Linux à la place de
sudo gedit /var/lib/gui_rpc_auth.cfg
il faudrait corriger pour lire :

sudo gedit /var/lib/BOINC2/gui_rpc_auth.cfg
Titre: Re : Configuration de plusieurs instances BOINC
Posté par: JeromeC le 15 April 2020 à 10:09
Toutafey, done :jap:
Titre: Re : [TUTO] Configuration de plusieurs instances BOINC
Posté par: [AF>Libristes] Pascal le 15 April 2020 à 19:15
 :kookoo:
Si je puis encore me permettre, il y a le app-config.xml pour WUProp à modifier, il n'est pas correct :<app_config>   
 <app_version>   
  <app_name>data_collect_v4</app_name>   
  <plan_class>nci</plan_class>   
  <avg_ncpus>0.01</avg_ncpus>   
  <cmdline>-p 31418</cmdline>   
 </app_version> 
</app_config> 
Certainement un copier/coller qui a foiré ou un traducteur qui est passé par là. :lol: [/font][/size]
Titre: Re : [TUTO] Configuration de plusieurs instances BOINC
Posté par: JeromeC le 15 April 2020 à 19:49
Ah oui ! amusant ! corrigé :jap: