Bonsoir à tous,
Voilà mon problème : j'ai plein de services à lancer, et un certain nombre de machines pour les accueillir. Ces services peuvent varier (il faut en ajouter ou en supprimer certains de temps en temps), mais doivent pouvoir aussi tourner en continu pendant très longtemps. Si jamais une machine tombe (ce qui arrivera forcément), il faut relancer le service sur une autre machine, le plus rapidement possible.
Lancer un service sur une seule machine et s'assurer qu'il fonctionne en permanence, je sais à peu près faire.
Lancer des jobs sur un pool de machines, je saurais le faire, par exemple avec SLURM. Le problème, c'est que je ne sais pas comment dire à SLURM d'utiliser une machine à 100% et donc d'empiler des jobs dessus « tant qu'elle tient » (à ma connaissance, SLURM a un nombre fixe de slots par machine), et je crois que le temps pour remettre une tâche sur une autre machine (quand une machine vient de tomber) n'est pas négligeable.
Accessoirement, il faudrait pouvoir ajouter ou supprimer des nœuds de calcul à la volée…
Quelles solutions connaîtriez-vous pour ce petit problème ? Merci d'avance :)
# tu as la solution dans la question
Posté par NeoX . Évalué à 2.
il faut utiliser une distribution de calcul distribué, ou de grid computing (ca doit etre la meme chose mais en anglais)
# parallel et snmp ?
Posté par jolitorax . Évalué à 4.
Peut être un petit script avec GNU Parallel et du snmp.
La liste des machines utilisable par parallel peut être générée en fonction des remontés snmp (load, cpu out tout paramètre pertinent définissant le « tant qu'elle tient ») à partir de la liste des machines disponibles.
[^] # Re: parallel et snmp ?
Posté par NeoX . Évalué à 2.
je ne connaissais pas,
ca à l'air simple et puissant ce truc.
# slurm
Posté par ymorin . Évalué à 2.
slurm semble répondre à ton besoin.
slurm gère :
Je ne l'ai pas utilisé, mais je connais bien un type qui l'utilise pour distribuer des jobs de calculs sur un cluster de machines.
Hop,
Moi.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.