Formation IUP3 - Test du 14/11/97

On considère le texte de programme séquentiel suivant :



Graphe de dépendance des instructions

On suppose que chaque instruction est modélisée par une tâche, tracer le graphe de précédence associé à ce programme séquentiel.


En supposant le temps d'exécution d'une tâche unitaire, calculer le temps parallèle associé à cet algorithme.


On suppose que l'on dispose de suffisamment de processeurs. Remplir le tableau suivant avec les dates de début d'ordonnancement au plus tôt et au plus tard, tracer les 2 diagrammes de Gantt associés à ces ordonnancements.

Tâche

Au plus tôt

Au plus tard

marge

1

0

0

0

2

1

3

2

3

1

2

1

4

1

1

0

5

2

2

0

6

3

3

0

7

4

4

0

Diagramme de Gantt de l'ordonnancement au plus tôt

Diagramme de Gantt de l'ordonnancement au plus tard


Ordonnancement dynamique

On utilise un algorithme de liste pour ordonnancer les tâches. C'est à dire que dès qu'une tâche est prête on l'affecte au premier processeur disponible. Dans le cas où plusieurs tâches sont prêtes on affecte les tâche par valeur minimale d'indice de tâche. Par exemple si les tâches 4, 8 et 10 sont prêtes on exécutera en priorité la tâche 4.

Calculer l'ordonnancement du programme sur 2 processeurs (donner le diagramme de Gantt).

Cet ordonnancement est-il optimal ? Non car celui-ci est meilleur.

Cet ordonnancement est optimal car sa durée est égale à la longueur du chemin critique.


Comment se modifie l'ordonnancement si la durée d'exécution de la tâche 2 (appel à la fonction log) est 5 fois plus longue que les autres.

Ceci pour l'ordonnancement de liste avec priorité.


Pour les 2 exemples ci-dessus, les bornes de Graham sont-elles vérifiées ?

Il faut vérifier que Tp<(2-1/p)Tp*, ici p=2.

Dans le premier cas, Tp = 6, or Tp* est toujours supérieur à T//, qui ici est égal à 5. Comme 2-1/p=1.5, on a bien 6 <= 1.5*5 <=1.5*Tp*.

Dans le deuxieme cas, Tp = 7 et T// est égal à 7 (le vérifier ). L'ordonnancement est donc optimal sur 2 processeurs, il vérifie donc forcemment la borne de Graham.


Jean-Marc Vincent
Fri Nov 14 11:44:59 MET 1997