Ordonnancement Temps Réel Multi

publicité
Ordonnancement temps
réel multiprocesseur
[email protected]
www.cea.fr
&
Cliquez pour modifier le style duPlan
titre
Ca change quoi ? Hypothèses et modèles
Anomalies d’ordonnancement et propriétés
Algorithme globaux optimaux
&
© CEA. All rights reserved
DACLE Division| Sept. 2015
|2
Ordonnancement multiprocesseur :
Cliquez pour modifier
style du titre
quelle
changement
?
Ordonnancement multiprocesseur : problème à au moins 2 dimensions
Organisation temporelle …
 Quand exécuter les tâches et les suspendre ?
… et spatiale des tâches
 Sur quels processeurs ?
Renforcement de l’influence de la hiérarchie mémoire : ressources mémoires partagées
Deux approches principales pour la résolution
Ordonnancement partitionné : pas de migration et limite d’utilisation vis-à-vis de
l’ordonnançabilité  m  1  / 2
1.
Organisation spatiale : répartition des n tâches m sous-ensembles et affectation à un processeur
(problème NP-difficile)


2.
Classement des tâches selon un paramètre
Utilisation d’heuristiques lors du parcours séquentiel des tâches : FF, BF, WF, NF, etc.
Organisation temporelle : ordonnancement monoprocesseur pour chaque sous-ensemble

Algorithmes optimaux : RM, EDF
Ordonnancement global : migrations possibles et optimalité théorique possible vis-à-vis de
l’ordonnançabilité mais problème de passage à l’échelle en pratique
 Organisation spatiale et temporelle conjointe
Autres approches : semi-partitionnée et « clustering »
&
© CEA. All rights reserved
DACLE Division| Sept. 2015
|3
Modèles et notations
Cliquez pour modifier le style du titre
Ensemble de n tâches indépendantes
   1 ,  2 ,  ,  n 
Tâches (tasks) périodiques, sporadiques générant une collection infini de
travaux (jobs, instance de tâches)
 Non parallèles
Paramètres statiques :  O i , C i , D i , T i 
A échéance implicites  D i  T i  , contraintes  D i  T i  , arbitraire
Date de réveil : synchrones
Ti
Ti
Di
Oi
t0
D i ? Ti 
Di
Ci
ri
d i ri  1
d i 1
Notations
Hyper-période : H (  )  H  ppcm T i , i  1 .. n 
Utilisation tâche : u i  C i / T i
n
Utilisation système : U ( )  U   u i
i 1
&
© CEA. All rights reserved
DACLE Division| Sept. 2015
|4
D’où vient la valeur du Ci ?
Cliquez pour modifier le style du titre
&
© CEA. All rights reserved
DACLE Division| Sept. 2015
|5
Architecture matérielle et
Cliquez pour modifier
style
du titre
typelede
migrations
Ensemble de m processeurs
Hiérarchie mémoire en partie
commune et horloge commune
Un processeur exécute au plus une
tâche à chaque instant
Types de processeurs
Identiques : les processeurs ont la même capacité de calcul
Uniformes : chaque processeur a une capacité de calcul
Indépendants : la capacité de calcul est fonction du processeur et de la tâche exécutée
Types de migrations et modélisation
Interdite : affectation fixe d’une tâche à un même processeur
 Approche partitionnée
Migration restreinte
 Tâche : affectation fixe de chaque travail à un même processeur
 Travail par partie : affectation fixe de chaque portion de travail à un même processeur
Travail (migration totale) : affectation variable de chaque travail à des processeurs
 Approche globale
Coût des migrations : négligeables ou intégrés aux C i des tâches
&
© CEA. All rights reserved
DACLE Division| Sept. 2015
|6
Anomalies
d’ordonnancement
: effetdu
Dhall
Cliquez
pour
modifier le style
titre
Nombre de tâches :
n  m 1
Caractéristiques du jeu de tâches
Les m premières tâches :  C i  2  , T i  1   u i  2 
La m  1 tâche :  C m  1  1, T m  1  1     u i  1 /( 1   )
Ordonnanceur utilisé : Rate Monotonic
Priorité la plus forte à la tâche ayant la période la plus faible
Les m premières tâches sont prioritaires et donc la m  1 tâche va rater son
échéance
Si   0 , U  1
&
© CEA. All rights reserved
DACLE Division| Sept. 2015
|7
Global
et partitionné
incomparables
Cliquez
pour
modifier: le
style du titre
Ci
Di
Ti
τ1
1
2
2
τ2
2
3
3
τ3
2
3
3
Deux processeurs
Processeur P1
Processeur P2
Ordonnancement global : ordonnançable
6
τ1
G-RM
τ2
τ3
Mais non ordonnançable en partitionné
&
© CEA. All rights reserved
DACLE Division| Sept. 2015
|8
Global
et partitionné
incomparables
Cliquez
pour
modifier: le
style du titre
Ci
Di
Ti
τ1
1
2
2
τ2
2
3
3
τ3
2
3
3
Deux processeurs
Processeur P1
Processeur P2
Jeu de tâche ordonnançable avec une approche globale
6
τ1
G-EDF
τ2
τ3
Mais non ordonnançable en partitionné
Question : quelle différence avec G-EDF ?
&
© CEA. All rights reserved
DACLE Division| Sept. 2015
|9
Ci
Global
et partitionné
incomparables
Cliquez
pour
modifier: le
style du titre
Di
Ti
τ1
4
6
6
τ2
7
12
12
τ3
4
12
12
τ4
10
24
24
6
Deux processeurs
Processeur P1
Processeur P2
Jeu de tâche ordonnançable avec
une approche partitionnée
12
18
24
τ1
τ2
τ3
τ4
Mais non ordonnançable en global avec priorité fixe
&
Question : montrez le
© CEA. All rights reserved
DACLE Division| Sept. 2015
| 10
Ci
Global
et partitionné
incomparables
Cliquez
pour
modifier: le
style du titre
Di
Ti
τ1
4
6
6
τ2
7
12
12
τ3
4
12
12
τ4
10
24
24
6
Deux processeurs
Processeur P1
Processeur P2
Jeu de tâche ordonnançable avec
une approche partitionnée
12
18
24
τ1
τ2
τ3
τ4
Mais non ordonnançable en global avec priorité fixe
&
© CEA. All rights reserved
DACLE Division| Sept. 2015
| 11
: robustesse
temporelle
CliquezAnomalie
pour modifier
le style
du titre
Ci
Di
Ti
τ1
1
2
4
τ2
3
3
5
τ3
7
8
20
0
2
τ1
P1
&
4
6
8
τ1
τ3
τ2
P2
Une augmentation de la période
d’une tâche peut rendre le système
non-ordonnançable
τ1
τ2
© CEA. All rights reserved
DACLE Division| Sept. 2015
| 12
: robustesse
temporelle
CliquezAnomalie
pour modifier
le style
du titre
Ci
Di
Ti
τ1
1
2
4->5
τ2
3
3
5
τ3
7
8
20
0
2
τ1
P1
&
4
τ3
τ2
P2
Une augmentation de la période
d’une tâche peut rendre le système
non-ordonnançable
6
8
τ1
τ3
τ1
τ2
© CEA. All rights reserved
DACLE Division| Sept. 2015
| 13
Instant
: toujours
valable
?
Cliquez
pourcritique
modifier
le style
du titre
Ci
Di
Ti
τ1
2
2
8
τ2
2
4
10
τ3
4
6
8
τ4
4
7
8
Instant critique d’un ordonnancement : instant
où toutes les tâches seraient prêtes à être
exécutées de manière simultanée
Hypothèse utilisée pour le calcul du temps de
réponse en mono-processeur pour des tâches
périodiques (pire cas)
En multiprocesseur, cela n’est plus vrai
0
P1
P2
2
4
τ1
τ3
τ2
τ4
R4  6
1
&
6
10
8
12
14
16
τ2
τ1
τ3
τ4
R4  8
2
© CEA. All rights reserved
DACLE Division| Sept. 2015
| 14
Priorité fixe et dynamique pour les
Cliquez
pour
modifier
le style du titre
travaux
: différence
en multiprocesseur
Distinction peu faite en monoprocesseur compte tenu de l’optimalité d’EDF
Mais résultats différent en multiprocesseur : meilleur résultats pour la classe d’algorithmes
à priorité dynamique pour les travaux
Découle de l’analyse de l’effet de Dhall
Laxité
Li (t )
: caractéristique dynamique d’une tâche
Délai maximum que peut subir une tâche sans engendrer un dépassement de son échéance
L i ( t )  D i ( t )  C i ( t )  d i  t  C i ( t ) avec C i ( t ) durée d’exécution restante
Algorithmes « xZL » (Zero Laxity) : priorité maximal à un travail dès que sa
laxité devient nulle
m  2
τ1
τ1
G-EDF :
échec
τ2
&
EDZL :
succès
τ2
© CEA. All rights reserved
DACLE Division| Sept. 2015
| 15
Algorithme Pfair : idée
Cliquez pour modifier le style du titre
« Proportionate Fair » : stratégie multiprocesseur optimale
(périodiques échéance sur requêtes, synchrones)
Allocation des processeurs aux tâches avec un taux d’exécution constant
proportionnel à leurs facteurs d’utilisation  i  u i
Temps discret : slots successifs t ; t  1
k 1
Ecart entre l’exécution réelle et idéale : lag ( i , t )   i  t   S ( i , k )
k 0
S ( i , k )  1
si  i exécutée dans le slot v
S ( i , k )  0
sinon
PFair ssi
  i ,  t ,  1  lag ( i , t )  1
Migration entre slots possibles
&
© CEA. All rights reserved
DACLE Division| Sept. 2015
| 16
Algorithme Pfair : construction
Cliquez pour modifier le style du titre
Chaque tâche est découpée en plusieurs sous-tâches ayant
chacune une capacité d’une unité de temps (quantum)
Pseudo-réveil :
 j  1
 j 1 
j
r ( i )  





C
P
i


 i i
Pseudo-échéance :
 j 
j
d ( i )  

i 
Exercices
Tâche :  C i  8 , T i  11 
Représenter les dates de pseudo-reveil/échéance de cette tâche pour ses deux
premiers travaux et construire un ordonnancement Pfair
Même question avec  C i  4 , T i  9 
&
© CEA. All rights reserved
DACLE Division| Sept. 2015
| 17
Exercices
Cliquez pour modifier le style du titre
Approche partitionnée avec m  2
4 tâches : ( 3 , 7 ) ( 2 , 4 ) ( 6 ,14 ) ( 7 , 20 )
Appliquer les heuristiques suivantes pour construire un ordonnancement :
FFDU-EDF et WFDE-LLF
O i , C i , D i , T i 
Approche globale
Ordonnancer avec gEDF et gLLF les jeux de tâches suivants et concluez
1. ( 2 , 3 ) ( 2 , 3 ) ( 2 , 3 )
2. ( 0 ,1 , 5 ,10 ) ( 0 ,1 , 5 ,10 ) ( 0 , 3 , 6 ,10 ) (1 , 3 , 9 ,10 ) ( 4 , 5 , 9 ,10 ) ( 4 , 5 , 9 ,10 )
Pfair
Représentez la fonction lag ( i , t ) pour les deux ordonnancement suivants
&
© CEA. All rights reserved
DACLE Division| Sept. 2015
| 18
Temps de comm. et de
Cliquez pour modifier
le style
dubout
titre
réponse
bout en
Ensemble de messages périodiques transmis par un réseau
Chaque messages à une priorité donnée
Comment calculer le temps de transmission d’un message ?
 Dépend du protocole d’arbitrage du réseau
 CAN : priorité fixe non préemptif
 Quelle est l’équation qui permet de calculer cela ?
Temps de réponse bout en bout : tâches communicantes via
 
 
des messages
1
2
Contrainte à vérifier : R   m    D
Plusieurs méthodes de calcul
1
1
m1
2
m2 
 Par exemple basée sur les offsets ou holistique
Méthode holistique : injection sous la forme d’une gigue pour la tâche
réceptrice et le message et calcul itératif jusqu’à convergence
 Temps de réponse de  1 : R 1
 Temps de transmission de m 1 : R m 1 avec J m 1  R 1
 Le temps de réponse de  2 : R 2 avec J m  R m
1
&
1
© CEA. All rights reserved
DACLE Division| Sept. 2015
| 19
Temps de réponse de bout en bout :
Cliquez pour modifier le styleexercice
du titre
Système considéré
P1
Tâches
Pi
Ci
Ti
τ1
1
4
100
τ2
2
5
60
τ3
1
3
100
τ4
2
2
60
τ5
3
3
90
Message
P2
1
m1
5
m2
2
Pi
Delaii
m1
100
6
m2
60
1
3
4
Question : calculer les temps de réponses
En tenant compte des communications
&
© CEA. All rights reserved
DACLE Division| Sept. 2015
| 20
Téléchargement