Contact: cliquez ici
MàJ: 2008-07-14
Hébergeur:
eNiX
Présentation
- Nous voulons affecter n tâches de durées variées
à m machines indentiques (par exemple, des processeurs qui
travaillent en parallèle), de façon à minimiser le délai qui
sépare le lancement de la première tâche, de la fin de l'exécution de la
dernière tâche. Nous supposons que ces tâches sont
indépendantes: aucune n'a besoin d'attendre des résultats provenant
d'une autre tâche.
- Ce problème est NP-complet; nous nous intéressons à plusieurs
algorithmes donnant une solution approchée. La qualité d'un algorithme
est résumée par la borne supérieure K du rapport
Talgo/Tmin entre la
durée requise lorsque l'on déroule cet algorithme, et la durée minimale
que l'on pourrait espérer.
- Le premier algorithme consiste à numéroter les tâches, puis à associer chaque tâche au premier
processeur disponible. Nous montrons qu'avec cet algorithme, K=2.
- Le deuxième algorithme se base sur la remarque suivante: la borne
précédente est approchée (mais jamais atteinte) en plaçant une tâche
longue après de nombreuses tâches courtes. Il est donc intéressant de
trier les tâches par ordre décroissant de durée. Nous montrons qu'avec ce
nouvel algorithme, la borne devient K=4/3.
- Dans une dernière partie, nous mettons en oeuvre en Caml les idées
précédentes.