Dans le cadre de ce cours, nous considérons des systèmes fortement couplés, c’est-à-dire
que tous les processeurs de la plate-forme possèdent une base commune du temps et une mé-
moire commune. Dans la suite, nous considérerons des plates-formes identiques composées de
mprocesseurs P1,P2,. . .,Pm.
1.2 Algorithmes d’ordonnancement multiprocesseurs
On distingue deux types d’approche pour l’ordonnancement multiprocesseur :
1. L’ordonnancement par partitionnement. L’ensemble des ntâches est divisé en msous-
ensembles disjoints : τ1, τ2, . . . , τm. Chaque sous-ensemble τiest ensuite ordonnancé sur
le processeur Piavec une stratégie d’ordonnancement locale monoprocesseur (tel que RM,
DM, EDF, etc). Lors de l’ordonnancement, les tâches appartenant à la partition τine sont
jamais autorisées à être exécutée sur un autre processeur que Pi. Avec ce type d’ordonnan-
ceur, chaque processeur Pipossède sa propre file d’attente (sa propre Ready-queue) qui
contient à tout moment les travaux actifs de τi.
2. L’ordonnancement global. Il s’agit d’appliquer globalement une stratégie d’ordonnancement
sur l’entièreté de la plate-forme multiprocesseur et d’attribuer à chaque instant les mpro-
cesseurs aux mtâches/travaux les plus prioritaires. Dans ce cas, outre la préemption des
tâches, on autorise aussi la migration de ces dernières ; c’est-à-dire qu’une tâche peut com-
mencer son exécution sur un processeur Pi, être préemptée et reprendre son exécution
ultérieurement sur un autre processeur (disons Pj). Avec ce type d’ordonnanceur, il n’y a
qu’une seule file d’attente commune à tous les processeurs.
Remarque : Ces deux types d’ordonnancement sont incomparables, c’est-à-dire qu’il existe
des systèmes ordonnançables avec un partitionnement et pour lesquels toute approche globale
échoue, et réciproquement il existe des systèmes ordonnançables avec une approche globale et
pour lesquels tout partitionnement échoue.
1.3 Techniques par partitionnement
1.3.1 Introduction
Le problème de partitionnement est un problème mieux connu sous le nom de Bin Packing qui
consiste à placer dans mboîtes de tailles identiques, nobjets de tailles différentes. Ici, les boîtes
sont les processeurs et les objets sont les tâches. Pour les systèmes périodiques à échéance sur
requête, la taille des objets (des tâches) est leur facteur d’utilisation et la taille des boîtes (des
processeurs) est l’utilisation maximale que l’on peut atteindre (ln 2 pour RM et 1pour EDF). Ce
3