Allow to force jobs to be scheduled only during night for instance.

Quick description

Je viens de pousser le branche de travail: 2.5-sched-constraints:

J'ai pas mal retravaillé le oar_meta_sched et le scheduler de base: oar_sched_timesharing_and_placeholder, ainsi que la lib GanttHoleStorage.pm.

Pour tester il faut donc enlever les invocations aux autres oar_sched_… en attendant qu'ils soient modifiés egalement.

Pour utiliser les container multi-trou:

# oarsub -t container=toto ....
# oarsub -t container=toto ....

puis:

# oarsub -t inner=toto ....

les jobs inner peuvent se placer dans un trou, puis le suivant si le 1er est trop petit/plein …

Pour utiliser les constraints:

# oarsub -t constraints=1234/20:00/12,5/20:00/60

et le job ne pourra s'executer que le soir ou le week-end…

Par ailleurs: - les types set_placeholder/use_placeholder deviennent placeholder/allowed:

# oarsub -t placeholder=toto

bloque les ressources, sauf si

# oarsub -t allowed=toto

De plus tout ceci est compatible avec les reservations a l'avance maintenant (pour oar ⇐ 2.5.3, timesharing/allowed ne marchent pas ou que partiellement avec les reservations a l'avance)

Voilo, c'est testé fonctionnellement, mais ca merite plus d'oeilS.

Coté perf, ca reste a évaluer, mais il n'y a pas de penalité si ces fonctionnalités ne sont pas utilisées.

Pierre Neyron 2013/11/02 18:04 on oar-labo@

TODO

moved to https://github.com/oar-team/oar/issues/96