Balancer un ensemble de jobs sur un ensemble de machines
6 réponses
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
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
> je vais avoir besoin d'un outil pour balancer un ensemble de jobs
> sur un ensemble de machines.
* Jean-Marc Bourguet <jm@bourguet.org> in fr.comp.os.unix:
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 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
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
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
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
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 12-12-2013, Damien Wyart a écrit :
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
Le 12-12-2013, Damien Wyart <damien.wyart@free.fr> a écrit :
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
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
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
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 : rosariojoselia@gmail.com
Contacté-le si vous êtes dans le besoin
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