Aller au contenu principal

Ordonnancement

Planification et ordonnancement

On confond souvent planification et ordonnancement, la raison la plus probable est une question de vocabulaire.

E. Angenault
12 septembre 2005

 POPULARITE : 8456 visites
 Scheduling and Job scheduling

La différence entre planification et ordonnancement est l’utilisation des ressources nécessaires. L’ordonnancement prend donc en compte les contraintes du projets, cela induit la notion d’optimisation.

= Planification

La planification consiste à établir une organisation selon un plan général. Alors que l’ordonnancement s’attache à disposer et à agencer les informations.

Pour faire un parallèle avec l’informatique, on peut estimer que la cron ou la commande at permettent de planifier. Il sera possible d’organiser les lancements des traitements en indiquant les heures de départs. On peut alors obtenir un plan listant les traitements et leurs heures de départ.

A l’heure indiquée, le traitement sera lancé quelque soit l’état des autres traitements et des ressources nécessaires. La gestion des ressources se fait simplement en ajoutant des marges entre les traitements. Ces marges peuvent être affinées en fonction des évolutions des temps de traitement, en cas ce marges insuffisantes, le plan est modifié pour prendre en compte le décalage.

= Ordonnancement

L’ordonnancement prend en compte les différentes contraintes de l’environnement, l’heure de départ n’est donc plus une condition suffisante pour le lancement du traitement.

Pour supprimer les marges et donc optimiser les temps de traitement, on peut lier les batchs entre eux en fonction de leurs statuts ou d’éléments plus fins tels que le code de sortie. Le lancement d’un traitement n’est plus en fonction d’une heure donnée et établie par un plan mais directement à la fin d’un traitement précédent.

Ces contraintes peuvent aussi être techniques, les conditions seront basées sur des critères de ressources systèmes quelles soient matérielles (cpu, mémoire...) ou logicielles (présence de processus, fichiers...).

= Scheduler

La cron est un scheduler, on s’en sert pour planifier des traitements sur Unix. Il n’est pourtant pas possible de "séquencer" les traitements, ce n’est donc pas un ordonnanceur comme on peut le lire généralement.

Pour distinguer les différents "schedulers", on utilise les termes "job scheduling" pour signifier qu’il s’agit d’une planification de jobs mais surtout, et cela est seulement induit, que ces jobs sont dépendants entre eux.

Pour les ordonnanceurs évènementiels dont le mécanisme repose sur des événements, on précisera plutôt "event-driven job scheduling".


Le document issu de http://Ordonnancement.org est mis à disposition sous les termes de la licence Creative Commons, vous pouvez l'utilisez dans vos documents à condition de citer l'auteur E. Angenault, vous êtes aussi libre de le modifier. Par contre, vous devez le redistribuer dans les mêmes conditions et la commercialisation ne peut se faire qu'avec l'accord de l'auteur.