Client Uniprocesseur Linux

Publié le par Cobra

 

Bienvenue dans le tutoriel consacré au client Uniprocesseur (classique) pour Linux !

 

Sommaire


Introduction

Remarquons tout de suite que deux clients sont concernés :

  • 6.02 (32/64 bits) : pour les distributions Linux 64 bits, ce client est obsolète, nous le réserverons donc exclusivement aux distributions 32 bits.
  • 6.34 (64 bits) : il est plus récent, plus évolué, plus complet, et s'adresse uniquement aux distributions 64 bits.

 

Dans leur mode "Uniprocesseur", ce sont des clients dits « classiques ». Ils sont dénommés ainsi pour plusieurs raisons :

  • Depuis le début du projet Folding@home, le client classique attribue des unités de travail dont le délai d’exécution est suffisamment long (en général plusieurs semaines ) pour intéresser les donateurs qui mettent leur ordinateur personnel à disposition des chercheurs seulement quelques heures par jour et uniquement pour la partie « puissance inutilisée », selon la philosophie originelle.
  • Le client classique s’adresse principalement aux possesseurs d’un ordinateur monocore. Mais il peut également être utile aux contributeurs qui ont un ordinateur multi-core pas très puissant ou qui n’est pas en fonctionnement suffisament longtemps pour tenir dans les délais impartis par un client SMP spécifique aux multi-cores.
  • Il se veut être un client « installe et oublie », nécessitant donc très peu de surveillance.

Les pré-requis

  • Processeurs : principalement monocores, accessoirement multi-cores (1 client par core physique).
  • Systèmes d'exploitation : distributions Linux 32 bits pour le client 6.02, et 64 bits pour le client 6.34.
  • Une connexion internet est nécessaire.

Téléchargement/Installation/Configuration

Nous utilisons la procédure officielle préconisée pour télécharger, installer, lancer et configurer le client, c'est-à-dire en ligne de commande dans le Terminal. Selon l'interface graphique, l'emplacement du Terminal diffère. Sous « Gnome » : Applications > Acessoires > Terminal.

 

1 – Nous créons un dossier pour notre client que nous appellons par exemple « folding » :

mkdir -p ~/folding

 

2 – Nous ouvrons le dossier « folding » pour y télécharger le client :
cd ~/folding

 

3 – Nous téléchargeons le client : 

Client 6.02 pour une distribution Linux 32 bits

wget http://www.stanford.edu/group/pandegroup/folding/release/FAH6.02-Linux.tgz

Client 6.34 pour une distribution Linux 64 bits

wget http://www.stanford.edu/group/pandegroup/folding/release/FAH6.34-Linux64.tgz

 

4 – Nous dézippons le fichier téléchargé :

Client 6.02
tar xzf FAH6.02-Linux.tgz

Client 6.34

tar xzf FAH6.34-Linux64.tgz

 

5 – Nous rendons le client exécutable, si cela s’avère nécessaire :
chmod +x fah6

 

6 – Nous lançons la configuration du client :
./fah6 -configonly

 

>> Pour des raisons de lisibilité et de clarté, nous n'afficherons que les captures d'écran du client 6.34. Cependant, si celles-ci sont encore en version précédente 6.29, cela ne change en rien la procédure.

 

http://nsm05.casimages.com/img/2011/01/09//110109055826221007441500.png

 

Le client attend que nous entrions les éléments de configuration. La progression se fera ligne après ligne.
Les réponses aux questions sont suggérées entre les [crochets]. Chaque fois que nous serons d’accord sur une proposition par défaut, nous pourrons tout simplement presser sur la touche « Entrée ».

 

http://nsm05.casimages.com/img/2011/01/09//110109055827221007441501.png

 

User name [Anonymous]?
Nous entrons ici notre pseudo de plieur.

 

Team Number [0]?
Stanford a attribué le numéro 51 à l’équipe Alliance Francophone, nous devons entrer 51.

 

Passkey []?
Le passkey n'est pas obligatoire.
On le demande à Stanford et il nous est envoyé par mail.
Pour des infos sur ce passkey et comment l’obtenir :
http://folding.stanford.edu/English/FAQ-v6#ntoc3
http://fah-web.stanford.edu/cgi-bin/getpasskey.py

 

Ask before fetching/sending work <no/yes> [no]?
Si nous avons une connexion permanente à internet, nous répondons no, sinon yes.
Si nous répondons yes, lorsque le traitement sera achevé et que le client aura besoin de se connecter, il nous le demandera par l’affichage d’une petite fenêtre. Mais pour ce type de client, une connexion permanente est recommandée.

 

Use proxy <yes/no> [no]?
Rares sont les particuliers qui utilisent un proxy, répondons no !
Mais si nous en utilisons un (vu dans Options Internet), répondons yes, puis renseignons les demandes d’informations relatives au proxy.

 

Acceptable size of work assignment an work result packets…
Si nous avons une connexion internet 56k, inscrivons small ! Si nous avons une connexion haut débit et suffisamment de mémoire, inscrivons normal ou big.
Avec big, il nous sera attribué de plus grosses protéines utilisant un peu plus de mémoire vive et rapportant plus de points.

 

Change advanced options <yes/no> [no]?
Nous inscrivons yes pour avoir accès à la configuration avancée.

 

Core Priority <idle/low> [idle]?
La configuration par défaut est recommandée : idle.

 

Disable highly optimized assembly code <no/yes> [no]?
Il est bien sûr préférable que les optimisations soient activées. Il n’y a donc pas lieu de les désactiver, nous laissons no.

 

Interval, in minutes, between checkpoints <3/30> [15]?
Le programme fera périodiquement une sauvegarde, en plus de la sauvegarde réalisée à chaque pourcent. Nous pouvons laisser 15 mn par défaut.

 

Memory, in MB, to indicate…
C’est la mémoire que nous allouons au programme, ce qui ne veut pas dire qu’il va vraiment s’en servir dans la totalité. Actuellement elle est loin d’atteindre 512 Mo, sauf pour le client SMP BigAdv . Nous pouvons laisser tel quel.

 

Set -advmethods flag always…
Nous inscrivons yes pour aider les chercheurs à tester un nouveau core ou tenter d’avoir des unités expérimentales à plus fort rendement de points, mais il est à noter que le risque d’instabilité est plus important. Si nous ne voulons pas courir ce risque, nous laissons tel quel.

 

Ignore any deadline information…
Nous laissons no par défaut.

 

Machine ID <1-16> [1]?
C’est le numéro attribué par défaut, nous pouvons le garder si nous ne l’avons pas déjà affecté à un autre client installé sur le même ordinateur.
Ce numéro est très important. Si nous avons plusieurs clients sur le même ordinateur, nous devons préciser un numéro différent par client.

 

>> Il est à noter que le client 6.02 n'a pas les trois lignes de configuration suivantes, exclusives aux clients plus évolués, comme le présent 6.34 :

 

Disable CPU affinity lock <no/yes> [no]?
Nous pouvons laisser sur no par défaut.

 

Additional client parameters []?
Aucun paramètre n’est absolument nécessaire pour ce client. Mais il est recommandé de mettre le paramètre -verbosity 9. Il permet de régler le niveau des informations qui seront présentées à l’écran ou mentionnées dans le Fahlog.txt. Par défaut, le niveau est 3 mais il est plus intéressant de le porter à son maximum qui est 9, afin d’avoir toutes les informations disponibles, en vue d’une meilleure compréhension lorsqu’un problème survient.

 

IP address to bind core to (for viewer) []?
Cela est pour le futur, nous pouvons presser sur la touche « Entrée ».

 

Après validation de cette dernière ligne de configuration, le client enregistre les informations et se connecte automatiquement aux serveurs de Stanford qui lui communiquent un identifiant (l’User ID) pour l’ordinateur.

 

http://nsm05.casimages.com/img/2011/01/09//110109055827221007441502.png

 

7 – Nous avons terminé la procédure de configuration et allons maintenant lancer, dans la foulée, la procédure de traitement proprement dite :

 

Client 6.34
./fah6

Aucun paramètre n’est plus nécessaire pour le client 6.34 car déjà enregistré dans les options de configuration sur la ligne Additional client parameters.

 

Client 6.02

./fah6 -verbosity 9

Ce client ne possède pas de ligne de configuration Additional client parameters, aussi il est nécessaire d'inscrire les paramètres en ligne de commande, en même temps que la commande de lancement du client.

 

http://nsm05.casimages.com/img/2011/01/09//110109055827221007441503.png

 

Et le traitement démarre… pourcentage par pourcentage jusqu’à 100 %, puis les résultats sont envoyés sur les serveurs de Stanford. Et une autre unité de travail est téléchargée automatiquement pour traitement, et ainsi de suite…

Remarques basiques sur le Terminal

  • Pour avoir le Terminal sous la main, nous pouvons le placer dans le tableau de bord :
    Applications > Accessoires >clic droit sur Terminal >Ajouter ce lanceur au tableau de bord.
  • Pour minimiser le Terminal ouvert, nous cliquons sur le symbole habituel pour minimiser une fenêtre.
  • Pour fermer proprement le Terminal (arrêter le client), il doit être actif et nous faisons tout simplement un Ctrl+c. Si, ce faisant, les calculs s'arrêtent bien mais le Terminal ne se ferme pas (le client affiche éventuellement « Have a nice day »), il y a lieu de le fermer en cliquant sur la petite croix habituelle.
  • Pour lancer ou relancer le client, nous ouvrons le Terminal et entrons les lignes de commandes :
    cd ~/folding
    ./fah6
  • Il est toujours possible de modifier la configuration avec le paramètre -configonly ou -config :
    ./fah6 -configonly  ou ./fah6 -config

Script pour lancer le client

Nous avons vu que, pour lancer le client déjà configuré, nous ouvrons normalement le Terminal, et nous entrons les deux lignes de commandes :

cd ~/folding
./fah6

 

Mais nous pouvons lancer le client directement à partir d'un "lanceur" placé sur le bureau :

 

1 - Nous nous plaçons dans le dossier du client que nous avons appelé « folding » :
Raccourci > Dossier personnel > folding

 

2 - Nous faisons un clic droit et sélectionnons « Nouveau document » que nous nommerons, par exemple, « LanceurUniproc ».

 

3 - Nous ouvrons le document vierge LanceurUniproc et entrons les deux lignes de commandes habituelles :

cd ~/folding
./fah6

 

Nous cliquons sur « Enregistrer » et fermons le document.

 

4 - Nous ouvrons le Terminal et allons rendre le script exécutable :
cd ~/folding

sudo chmod 777 LanceurSMP

 

Nous fermons le Terminal.

 

5 - Nous faisons un clic droit sur le bureau et sélectionnons « Créer un lanceur ».

Nous nommons le lanceur, par exemple : « Uniprocesseur Linux ».

Nous indiquons le chemin d'accès du script LanceurUniproc, via « Parcourir ».

Pour le Type, nous privilégions « Application dans un Terminal », afin que le client se lance dans le Terminal, et non en mode silencieux.

 

Le lanceur est maintenant parfaitement fonctionnel et s'installe bien sur le bureau :

 

http://nsm05.casimages.com/img/2011/01/09//110109055826221007441499.png

 

Il suffit maintenant de double-cliquer sur le lanceur pour faire exécuter le client Uniprocesseur Linux dans le Terminal.

Lancement de plusieurs clients

Le client classique Uniprocesseur Linux est principalement pour les ordinateurs monocores :
1 client pour le seul core disponible.

 

Cependant, si nous possédons un ordinateur multi-core qui est trop lent pour le client SMP dont la deadline (délai de traitement) est trop courte ou si nous ne pouvons pas le faire fonctionner suffisamment en continu pour tenir le délai imparti, il est possible de configurer plusieurs clients classiques.

 

Pour cela, deux règles sont à respecter :

  • Un dossier par client
  • Un numéro Machine ID différent par client

 

 

Haut de page

 

 


Pour être informé des derniers articles, inscrivez vous :

Commenter cet article