Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
1428 connectés 

  FORUM HardWare.fr
  Seti et projets distribués
  SETI

  un SetiQueue like sous Solaris, c possible ?

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

un SetiQueue like sous Solaris, c possible ?

n°490169
cyber103
Où ca un litchi ?!
Posté le 02-09-2002 à 14:56:41  profilanswer
 

Vala, tout est dans le sujet, en fait au boulot (j'ai l'autorisation de l'admin systeme), on a une ptite machine (HpUx11i, 4 proc Hp PA8700 a 650 Mhz, 4Go de ram...) qui pour l'instant ne sert a rien..... Mais vala, elle n'a pas acces au net, les seules machines qui ont acces tournent sous Solaris, d'ou la question.
 
Merci d'avance :)

mood
Publicité
Posté le 02-09-2002 à 14:56:41  profilanswer
 

n°490175
BifaceMcLe​OD
The HighGlandeur
Posté le 02-09-2002 à 15:35:00  profilanswer
 

J'ai des scripts shell de gestion de cache circulaire, si tu veux, mais un certain nombre de choses doivent être faites manuellement (en particulier les téléchargements de WUs et les renvois de résultats).
 
Avec ces scripts, tu peux avoir autant de machines/processeurs qui tournent, dès lors qu'elles ont accès au disque partagé qui contient le cache.


Message édité par BifaceMcLeOD le 02-09-2002 à 15:35:14
n°490961
VirtualC++
Multi de Drake
Posté le 04-09-2002 à 14:34:14  profilanswer
 

BifaceMcLeOD a écrit a écrit :

J'ai des scripts shell de gestion de cache circulaire, si tu veux, mais un certain nombre de choses doivent être faites manuellement (en particulier les téléchargements de WUs et les renvois de résultats).
 
Avec ces scripts, tu peux avoir autant de machines/processeurs qui tournent, dès lors qu'elles ont accès au disque partagé qui contient le cache.




 
tu peux me les envoye a greg@pamplemoos.org (c drake au boulot, mais g paume mon pass...:0 )


---------------
Multi de Drake...
n°490970
BifaceMcLe​OD
The HighGlandeur
Posté le 04-09-2002 à 14:59:00  profilanswer
 

Tu trouveras dans ta BAL, attachés et rassemblés dans un TAR, mes 4 principaux scripts. Ces scripts permettent de gérer un cache circulaire (i.e. toutes les WU sont calculées en commençant par la plus ancienne).
 
Ces scripts supposent une certaine arborescence. Dans un répertoire racine SETI, il faut créer les 4 sous-répertoires work/, todo/, done/ et xfer/. Plus autant de sous-répertoires qu'il y a de processeurs à sétiser (nommage libre).
Dans l'exemple qui suit, j'ai 4 répertoires sétiseurs (pour 2 machines) : jupiter1/, jupiter2/, saturne1/, saturne2/, qui partagent le même cache.
Pour info, todo/ contiendra les WUs non encore traitées, done/ les résultats des WUs terminées, work/ les WUs en cours de traitement, et xfer/ servira à faire le téléchargement des WUs et le renvoi des résultats.
 
Les 4 scripts sont à mettre à la racine SETI. Dans chacun des répertoires sétiseurs, il faut créer un lien sur ../runSeti et sur l'exécutable setiathome (qui peut être physiquement n'importe où dès lors qu'il est accessible via un lien, symbolique ou non, dans chacun des répertoires sétiseurs). Normalement, après, il n'y a plus qu'à faire l'amorçage, qui est complètement manuel, malheureusement. Mais avant de décrire l'amorçage, je vais décrire les scripts.
 
Normalement, sendUnit est l'outil le plus utile. Il prend en charge tout ce qui est transfert de WU et repose sur l'arborescence décrite ci-dessus. Tu lui donnes un ou plusieurs numéros de WUs (ex: "sendUnit 001 002 003 004 005" ) et il va envoyer les WUs avec ce numéro-là, et récupérer de nouvelles WUs (même exemple : dans des répertoires appelés "unit001", "unit002", "unit003", "unit004" et "unit005" ). Si aucune WU terminée n'a ce numéro, il s'en rend compte et n'envoie rien. S'il y a conflit de numérotation (i.e. si une WU disponible et avec ce numéro-là existe déjà), il renumérote automatiquement la nouvelle WU téléchargée. Avec l'option "-s" (comme "Send only" ), il peut envoyer une WU sans en récupérer de nouvelle (avec ça, on peut facilement changer la taille de son cache). Enfin, si le client SETI retourne l'erreur "cette unité a déjà été envoyée", il s'en rend compte et télécharge juste une nouvelle WU (sauf si l'option "-s" est présente, bien sûr).
 
printStatus est un script permettant de savoir où en est SETI dans ses calculs. Ainsi, chez moi, "printStatus jupiter* saturne*", lancé depuis la racine SETI, donne :
 
*** Directory jupiter1 ***
Current WU:  unit037       Elapsed CPU:     5 h 46 min 50 sec.
Completed:   85.2478 %     Est. total time: 6 h 37 min 59 sec.
 
*** Directory jupiter2 ***
Current WU:  unit036       Elapsed CPU:     5 h 49 min 08 sec.
Completed:   85.4957 %     Est. total time: 6 h 39 min 26 sec.
 
*** Directory saturne1 ***
Current WU:  unit038       Elapsed CPU:     5 h 30 min 58 sec.
Completed:   80.3970 %     Est. total time: 6 h 42 min 41 sec.
 
*** Directory saturne2 ***
Current WU:  unit039       Elapsed CPU:     5 h 15 min 30 sec.
Completed:   76.3763 %     Est. total time: 6 h 44 min 04 sec.
 
Tout cela, juste en lisant le state.sah des WUs en cours, dans chacun des répertoires sétiseurs.
 
Maintenant, pour amorcer, il faut qu'une WU soit présente dans chaque répertoire sétiseur. Pour cela, il faut prendre la première WU disponible dans todo/ (par exemple "unit001/" ), que l'on déplace dans work/ à la main. Il faut ensuite copier le contenu de cette WU (i.e. tous ses fichiers .sah) dans le répertoire sétiseur, puis, très important, créer un lien symbolique qui s'appelle "result" vers cette WU dans work/ (ex: "ln -s ../work/unit001 ./result" ). Ceci est très important, c'est ce qui permet au script runSeti de toujours savoir quelle WU du cache il est en train d'exécuter, et de replacer le résultat du calcul au bon endroit quand le calcul de la WU est terminé.
 
Ensuite, pour chaque processeur sétiseur, tu te mets dans son répertoire et tu lances "../go" (qui lance "runSeti" à répétition, mais pas à l'infini). A chaque fin de WU, "runSeti" va déplacer la WU en cours de "work/" dans "done/", aller chercher la plus ancienne WU disponible dans "todo/", la déplacer dans "work/", récupérer ses fichiers, mettre à jour le lien "result" et redémarrer un client Seti.
 
Le vidage/remplissage du cache est complètement manuel (je veux dire pas de déclenchement automatique), en utilisant sendUnit.
 
Les scripts devraient être facilement adaptables, toutes les constantes qu'ils utilisent (noms de commandes, noms des répertoires) sont listées au début de chaque script.
 
Voilà ! :bounce:

n°491843
BifaceMcLe​OD
The HighGlandeur
Posté le 06-09-2002 à 14:15:27  profilanswer
 

Pour info, je viens de réaliser que le mail n'était jamais arrivé.
 

Citation :

<greg@pamplemoos.org>:
Sorry, I wasn't able to establish an SMTP connection. (#4.4.1)
I'm not going to try again; this message has been in the queue too long.


n°491845
drdrake
Pourfendeur d'atmo
Posté le 06-09-2002 à 14:18:55  profilanswer
 

re-essaie, ou bien sur drdrake@ifrance.com, ca devrait marcher. :jap:... j'ai du eteindre du a un orage.

n°491848
BifaceMcLe​OD
The HighGlandeur
Posté le 06-09-2002 à 14:34:56  profilanswer
 

Done. :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Seti et projets distribués
  SETI

  un SetiQueue like sous Solaris, c possible ?

 

Sujets relatifs
Téléchargement de BOINC deja possible (0.0.1 Alpha)seti pas possible ! comment y font?
SetiQueue et ports[Help]Setiqueue sur W2k injoignable sur un LAN
[Serieux masi aps seti]Des ptits TT rapide la c pas possiblePb avec SetiQueue
setiqueue homepage ==> qqun peut m'expliquerCherche un SetiCommander like pour Mac OSX
Equivalant de SetiQueue ...est il possible de joindre un gpe de PC a la team avec un seul user ?
Plus de sujets relatifs à : un SetiQueue like sous Solaris, c possible ?


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR