Nikita Veshchikov
e-mail : nikita.veshchikov@ulb.ac.be
téléphone : 02/650.58.56
bureau : 2N8.213
URL : http://student.ulb.ac.be/~nveshchi/
INFO-F-404 : Techniques avancées de systèmes
d’exploitation
Table des matières
1 Rappel théorique 1
1.1 Hypothèses et classifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Algorithmes d’ordonnancement multiprocesseurs . . . . . . . . . . . . . . . . . . . . 2
1.3 Techniques par partitionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3.1 Introduction..................................... 3
1.3.2 RMpartitionné ................................... 3
1.3.3 EDFpartitionné................................... 3
1.4 Techniquesglobales .................................... 4
1.4.1 Optimalitéimpossible ............................... 4
1.4.2 Anomalies d’ordonnancement . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4.3 Prédictabilité .................................... 6
1.4.4 Les algorithmes global EDF et EDF(k)...................... 6
2 Exercices 8
1
1 Rappel théorique
1.1 Hypothèses et classifications
Dans ce TP, nous allons étudier l’ordonnancement temps réel sur des plates-formes multipro-
cesseurs. La première question qui se pose est : “Quel est l’intérêt d’utiliser plusieurs processeurs
au lieu d’un seul ?”. Il y a plusieurs réponses à cette question :
1. La raison principale est financière. Si nous pouvions obtenir une puissance de calcul équiva-
lente à Aà l’aide de deux processeurs de puissance A
2, alors il est moins coûteux d’acheter
deux processeurs de puissance A
2qu’un unique processeur de puissance A.
2. Utiliser une plate-forme multiprocesseur présente également un avantage sur le plan de la
consommation énergétique. De nombreuses études montrent que l’énergie consommée par
un processeur évolue de manière exponentielle par rapport à sa fréquence de fonctionne-
ment, c’est-à-dire sa puissance de calcul. De ce fait, utiliser deux processeurs de puissance
A
2consomme moins d’énergie que d’utiliser un unique processeur de puissance A.
3. Un comportement similaire a été décelé entre la dissipation de chaleur des processeurs et
leur fréquence de fonctionnement. En ce qui concerne la société Intel, c’est cette augmenta-
tion exponentielle de la dissipation de chaleur par rapport à la fréquence de fonctionnement
qui est à l’origine de la conception des processeurs Dual-core au lieu du processeur Pen-
tium 5.
Nous distinguons trois types de plates-formes multiprocesseurs :
1. les plates-formes identiques : tous les processeurs de la plate-forme sont interchangeables
et ont la même puissance de calcul.
2. les plates-formes uniformes : chaque processeur Pipossède sa propre puissance de calcul
siet réalise (si×t)unités de travail lorsqu’il exécute un travail durant tunités de temps.
3. les plates-formes spécialisées : un taux ri,j est associé à chaque couple
( travail Ji, processeur Pj)
avec l’interprétation suivante : Pjréalise (ri,j ×t)unités de travail lorsqu’il exécute le travail
Jidurant tunités de temps.
Remarque : Nous avons la relation suivante entre ces différentes architectures :
plates-formes identiques plates-formes uniformes plates-formes spécialisées.
2
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
problème de Bin Packing est NP-Hard et on utilise dès lors des heuristiques telles que next-fit,
best-fit, etc. afin d’approcher la solution optimale.
1.3.2 RM partitionné
Pour créer un partitionnement τ1, . . . , τmqui permette à l’algorithme RM d’ordonnancer
localement ces partitions sur chaque processeur Pi∈ {P1,...,Pm}, on peut utiliser n’importe
quelles heuristiques citées plus haut. Il suffit d’utiliser la condition suffisante
Utot(τi)< ni·(21/ni1)
afin de vérifier l’ordonnançabilité des tâches de chaque partition τipar RM (nidénote le nombre
de tâches appartenant à la partition τiet assignées au processeur Pi). Il est cependant possible
de démontrer qu’en utilisant cette borne, on ne peut pas garantir la faisabilité d’un système dont
le facteur d’utilisation est supérieur à 2141% (cf. cours). Cette borne est très contraignante
car elle ne fournit aucun résultat pour un grand nombre de systèmes.
1.3.3 EDF partitionné
En ce qui concerne EDF, nous savons que Utot(τi)1est une condition nécessaire et suf-
fisante pour chaque partition τi. Pour créer un partitionnement τ1, . . . , τ mqui respecte cette
condition, Lopez et al. ont développé l’algorithme FFDU (First-Fit-Decreasing-Utilization). Le prin-
cipe est le suivant : on choisit à chaque étape la première boîte (c’est-à-dire le premier proces-
seur) qui convient en considérant les tâches par valeurs décroissantes du facteur d’utilisation. Ces
mêmes chercheurs ont ensuite démontré la condition suffisante d’ordonnançabilité suivante.
Theorem 1 (FFDU, EDF utilisation).Soit τun système périodique à échéance sur requête. Ce
système est ordonnançable par l’une des partitions FFDU (et EDF localement sur chaque proces-
seur) si :
Utot(τ)<(m+ 1)
2et Umax(τ)1(1)
1.4 Techniques globales
En ce qui concerne les stratégies d’ordonnancement globales, il existe deux résultats (très) néga-
tifs qui sont repris ci-dessous. Heureusement, il existe également certain résultats positifs.
1.4.1 Optimalité impossible
Definition 1 (Algorithmes en ligne).Les algorithmes d’ordonnancement en ligne prennent leur
décision à chaque instant sur base des caractéristiques des travaux qui sont actifs, sans connais-
4
sance des travaux qui arriveront dans le futur.
Theorem 2. Pour tout m > 1, aucun algorithme d’ordonnancement en ligne et optimal ne peut
exister pour des systèmes avec deux ou plus d’échéances distinctes.
FIGURE 1 – Optimalité impossible
Démonstration. La démonstration se fait pour m= 2 mais il est facile de constater que la preuve
reste valable pour m > 2. Supposons qu’il existe un algorithme d’ordonnancement en ligne optimal
pour deux processeurs et considérons le scénario suivant. A l’instant 0, trois travaux J1,J2et J3
arrivent avec J1= (e1: 2, d1: 4),J2= (e2: 2, d2: 4) et J3= (e3: 4, d3: 8). Notre ordonnanceur
optimal n’a que deux choix possibles : il exécute J3dans l’intervalle de temps [0,2] ou pas.
1. J3ne s’exécute pas dans l’intervalle de temps [0,2] (cf. Figure 1, partie supérieure gauche).
Dans ce cas, à l’instant 4,J3s’est exécuté pour au plus 2unités. Donc, à l’instant 4, le
temps de calcul restant de J3est au moins de deux unités. A présent, supposons que J4=
(e4: 4, d4: 8) et J5(e5: 4, d5: 8) arrivent dans le système. Notre ordonnanceur n’a pas
d’autres choix que d’exécuter J4et J5dès l’instant 4afin de respecter leur échéance. De
cette façon, J3manquera obligatoirement son échéance à l’instant 8et on voit qu’il aurait
fallu commencer par exécuter J3dès l’instant 0(cf. Figure 1, partie supérieure droite), ce qui
nous conduit au second scénario.
2. J3s’exécute dans l’intervalle de temps [0,2] (cf. Figure 1, partie inférieure gauche). Dans
ce cas, au moins l’un des deux travaux J1ou J2n’a pas terminé son exécution à l’instant 2.
Puisque J1et J2sont identiques, supposons que c’est J2qui n’a pas terminé à l’instant 2.
A présent, considérons le scénario où J4= (e4: 2, d4: 4) et J5= (e5: 2, d5: 4) arrivent à
l’instant 2. Notre ordonnanceur n’a pas d’autres choix que d’exécuter J4et J5dès l’instant 2
afin de respecter leur échéance. Clairement, J2ne rencontrera pas son échéance à l’instant
4et on voit qu’il aurait fallu commencer par exécuter J2à l’instant 0, ce qui nous ramène au
premier scénario.
5
1 / 9 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !