Balancer un ensemble de jobs sur un ensemble de machines

Le
Marc Boyer
Bonjour à tous,

je vais avoir besoin d'un outil pour balancer un ensemble de jobs
sur un ensemble de machines.

En détail, j'ai un ensemble de commandes (c'est toujours le même
exécutable, mais avec des paramètres qui diffèrent), un
ensemble de machines (même archi, disque monté partagé).

J'aimerais les faire bosser la nuit. Le but c'est que quand
une machine a fini une commande, elle aille piocher une
autre commande dans la liste. Au matin, je tue tout ce qui n'a
pas finit.

Je pourrais bien sur faire un truc client/serveur qui
enveloppe le machin, mais je me dis qu'il doit bien y avoir
des choses qui font déjà ça.

J'ai bien vu le "GNU parallel" ou le 'dsh/pdsh', mais ils me
semblent qu'ils sont fait pour être interactifs, et ne
pas gérer de liste de commande globale.

J'ai aussi vu ppss, mais avant de me plonger dans la doc et
les essais, j'aurai aimé des retours d'expérience, ou savoir
si j'avais raté des trucs.

Marc Boyer
--
À mesure que les inégalités regressent, les attentes se renforcent.
François Dubet
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jean-Marc Bourguet
Le #25864542
Marc Boyer
je vais avoir besoin d'un outil pour balancer un ensemble de jobs sur
un ensemble de machines.



Nous utilisons LSF, mais c'est pas gratuit (aucune idee du prix, je
crois que c'est chez IBM maintenant, je doute que ce soit donne).

Dans un autre genre, il me semble que Jenkins peut faire ca (mais j'ai
pas utilise cette possibilite, je laisse ca a LSF).

Il me semble que c'est possible aussi avec GNU batch -- a nouveau j'ai
pas utilise.

A+

--
Jean-Marc
Site de usenet-fr: http://www.usenet-fr.news.eu.org
Marc Boyer
Le #25864762
Le 12-12-2013, Jean-Marc Bourguet
Marc Boyer
je vais avoir besoin d'un outil pour balancer un ensemble de jobs sur
un ensemble de machines.



Nous utilisons LSF, mais c'est pas gratuit (aucune idee du prix, je
crois que c'est chez IBM maintenant, je doute que ce soit donne).

Dans un autre genre, il me semble que Jenkins peut faire ca (mais j'ai
pas utilise cette possibilite, je laisse ca a LSF).

Il me semble que c'est possible aussi avec GNU batch -- a nouveau j'ai
pas utilise.



Ok, je vais rajouter batch à la liste de trucs à regarder.

Le budget est quasiment nul, donc LSG est pas envisageable.
Jenkins semble un peu pour pour faire ça.

Marc boyer
--
À mesure que les inégalités regressent, les attentes se renforcent.
François Dubet
Damien Wyart
Le #25864752
> je vais avoir besoin d'un outil pour balancer un ensemble de jobs
> sur un ensemble de machines.



* Jean-Marc Bourguet
Nous utilisons LSF, mais c'est pas gratuit (aucune idee du prix, je
crois que c'est chez IBM maintenant, je doute que ce soit donne).



Il existe un fork libre d'une ancienne version :

http://www.openlava.org/home.html
https://github.com/openlava/openlava

Il me semble que c'est possible aussi avec GNU batch -- a nouveau j'ai
pas utilise.



Oui, mais la doc n'est pas forcément facile à "digérer"
(http://cvs.savannah.gnu.org/viewvc/*checkout*/gnubatch/doc/pdf/Refman.pdf?root=gnubatch)

Je vois deux approches principales :

1. Un "job scheduler" orienté cluster : classique, robuste mais
assez souvent "usine à gaz" et manquant de souplesse. Quelques
exemples :
- Openlava cité plus haut
- http://gridscheduler.sourceforge.net/
- http://oar.imag.fr/dokuwiki/doku.php
- http://slurm.schedmd.com/download.html
- http://research.cs.wisc.edu/htcondor/
- http://www.adaptivecomputing.com/support/download-center/maui-cluster-scheduler/
- http://www.adaptivecomputing.com/products/open-source/torque/

2. Un "framework" de traitement distribué de tâches, centré sur une
brique de "message queueing". C'est plus "moderne", moins éprouvé
(quoique), et comme c'est juste un framework, on développe (mais sans
réinventer la roue, ce que l'OP envisageait de faire s'il ne trouvait
pas mieux) ce dont on a besoin et du coup c'est plus souple (mais y'a
plus de boulot au départ). Les plus connus :
- https://github.com/celery/celery
- https://github.com/resque/resque
- https://github.com/nvie/rq

Une page plus complète : http://queues.io/

--
DW
Damien Wyart
Le #25864832
2. Un "framework" de traitement distribué de tâches, centré sur une
brique de "message queueing". C'est plus "moderne", moins éprouvé
(quoique), et comme c'est juste un framework, on développe (mais sans
réinventer la roue, ce que l'OP envisageait de faire s'il ne trouvait
pas mieux) ce dont on a besoin et du coup c'est plus souple (mais y'a
plus de boulot au départ). Les plus connus :
- https://github.com/celery/celery
- https://github.com/resque/resque
- https://github.com/nvie/rq



Il y a également ceux-ci, moins connus :
- https://github.com/dcramer/taskmaster
- https://github.com/cenkalti/kuyruk

--
DW
Marc Boyer
Le #25864912
Le 12-12-2013, Damien Wyart
Il me semble que c'est possible aussi avec GNU batch -- a nouveau j'ai
pas utilise.



Oui, mais la doc n'est pas forcément facile à "digérer"
(http://cvs.savannah.gnu.org/viewvc/*checkout*/gnubatch/doc/pdf/Refman.pdf?root=gnubatch)

Je vois deux approches principales :

1. Un "job scheduler" orienté cluster : classique, robuste mais
assez souvent "usine à gaz" et manquant de souplesse. Quelques
exemples :
- Openlava cité plus haut
- http://gridscheduler.sourceforge.net/
- http://oar.imag.fr/dokuwiki/doku.php
- http://slurm.schedmd.com/download.html
- http://research.cs.wisc.edu/htcondor/
- http://www.adaptivecomputing.com/support/download-center/maui-cluster-scheduler/
- http://www.adaptivecomputing.com/products/open-source/torque/

2. Un "framework" de traitement distribué de tâches, centré sur une
brique de "message queueing". C'est plus "moderne", moins éprouvé
(quoique), et comme c'est juste un framework, on développe (mais sans
réinventer la roue, ce que l'OP envisageait de faire s'il ne trouvait
pas mieux) ce dont on a besoin et du coup c'est plus souple (mais y'a
plus de boulot au départ). Les plus connus :
- https://github.com/celery/celery
- https://github.com/resque/resque
- https://github.com/nvie/rq

Une page plus complète : http://queues.io/



OK, je regarde tout ça.

Merci,
Marc boyer


--
À mesure que les inégalités regressent, les attentes se renforcent.
François Dubet
azfrejus Hors ligne
Le #25883572
Le jeudi 12 Décembre 2013 à 11:35 par Marc Boyer :
Bonjour à tous,

je vais avoir besoin d'un outil pour balancer un ensemble de jobs
sur un ensemble de machines.

En détail, j'ai un ensemble de commandes (c'est toujours le même
exécutable, mais avec des paramètres qui diffèrent), un
ensemble de machines (même archi, disque monté partagé).

J'aimerais les faire bosser la nuit. Le but c'est que quand
une machine a fini une commande, elle aille piocher une
autre commande dans la liste. Au matin, je tue tout ce qui n'a
pas finit.

Je pourrais bien sur faire un truc client/serveur qui
enveloppe le machin, mais je me dis qu'il doit bien y avoir
des choses qui font déjà ça.

J'ai bien vu le "GNU parallel" ou le 'dsh/pdsh', mais ils me
semblent qu'ils sont fait pour être interactifs, et ne
pas gérer de liste de commande globale.

J'ai aussi vu ppss, mais avant de me plonger dans la doc et
les essais, j'aurai aimé des retours d'expérience, ou savoir
si j'avais raté des trucs.

Marc Boyer
--
À mesure que les inégalités regressent, les attentes se
renforcent.
François Dubet


Bonjour Madame et monsieur
Ceci est un témoignage
Témoignage de prêt envers un prêteur
Si vous voulez faire un prêt entre particulier merci de prendre contacte avec cette dame qui m'a rendu le sourire aux lèvres Mme rosario joselia .Moi j'ai reçu un prêt de 50.000€ et j'ai plusieurs collègues qui ont aussi reçus des prêts à son niveau sans problèmes et je publie ce message parce qu'elle m'a fait du bien avec ce prêt alors prenez contacte avec lui: voici son mail :
Contacté-le si vous êtes dans le besoin
Publicité
Poster une réponse
Anonyme