31
Ordonnancement temps réel semi-partitionné 1 réel semi-partitionné Laurent George INRIA/UPEC [email protected]

Ordonnancement temps réel semi -partitionné · Introduction Ordonnancement partitionné Avantages: Pas de coût de migration Simple à mettre en œuvre Inconvénient: Peut conduire

Embed Size (px)

Citation preview

Ordonnancement temps réel semi-partitionné

1

réel semi-partitionné

Laurent GeorgeINRIA/UPEC

[email protected]

Sommaire

� Introduction� Principes et modèles� Approche portions de WCETs

2

� Approche migration restreinte� Quelques résultats de simulation

� Taux de succès� Densité de migration

� Conclusion� Quelques ref. bibliographiques

Introduction� Ordonnancement partitionnéAvantages:

� Pas de coût de migration� Simple à mettre en œuvre

Inconvénient:� Peut conduire dans certaines configuration à n’utiliser que 50%

des ressources CPU

Intro Principes Migr. Restreinte Simulations ConclusionMigr. Portions

3

des ressources CPU� Global schedulingAvantage:

� Il existe des stratégies optimales permettant d’atteindre 100% d’utilisation des ressources CPU (sans prendre en compte le coût de migration)

Inconvénient:� Le nombre de migrations peut être important

Introduction (suite)Modèles de tâches: τ: jeu de n tâches périodiques/sporadiques

Pour toute tâche τi dans τ:� Ci son WCET� Ti sa période (inter-arrivée minimum dans le cas sporadique)� Di son échéance relative

Intro Principes Migr. Restreinte Simulations ConclusionMigr. Portions

4

On définit également:� α l’utilisation maximale d’une tâche:

� l’utilisation du processeur

� τ(k) l’ensemble des tâches affectées au processeur πk

Modèle de processeur:� M processeurs identiques {π1,…,πM} avec U≤M

∈ i

i

T

C

i ττ

max

∑∈

=ττ i

ii TCU /

Introduction (suite)Borne d’utilisation pour l’ordonnancement partitionné: 50%

Exemple: M processeurs, n=M+1 tâches τi avec Ti=1 et Ci=0.5+ε

� Puisque n>M, il existe un processeur où l’utilisation est 1+2ε� Aucun ordonnancement partitionné valide

Intro Principes Migr. Restreinte Simulations ConclusionMigr. Portions

5

� Aucun ordonnancement partitionné valide� L’utilisation U/m tend vers 50% lorsque et

Mais il suffit de découper une tâche en deux sous tâches de WCET/2 pour trouver un ordonnancement valide

Si l’on peut découper arbitrairement les WCETs, on peut dans certains cas atteindre 100% d’utilisation des processeurs

∞→m 0→ε

Introduction (suite) Notation:

Meilleures bornes connues sur l’utilisation U pour M processeurs(Anderson & al. 05)

Aucune Migration

Migration libre

Priorité fixe Niveau tâche 1

1+M 1+M

=

αβ

1

Intro Principes Migr. Restreinte Simulations ConclusionMigr. Portions

6

=> Réduire α permet d’améliorer l’ordonnançabilité des tâches en migration statique => Jouer sur l’inter-arrivée ou sur la durée des tâches: principe de l’ordonnancement semi-partitionné

Niveau tâche(cas RM)

Priorité fixe niveau job (cas EDF)

si αααα≤1/2:

Priorité dynamique(cas: Pfair) M

1

1

21 ++ M

2

1+M

2

1

1

+

+

β

βM

)1( −−≥ MMU α

1

1

+

+

β

βM

Principes et modèlesOrdonnancement semi-partitionné ?Objectifs:� Mieux maitriser le nombre de migration des jobs� Améliorer l’ordonnançabilité des systèmes partitionnés tout en

réduisant le nombre de migrations

Concept: degré de migration d’une tâche

Intro Principes Migr. Restreinte Simulations ConclusionMigr. Portions

7

Concept: degré de migration d’une tâche� Aucune migration: placement de la tâche selon une heuristique de

partitionnement� Migration statique

� Restreinte: motif statique de migration entre les jobs, un job est exécuté entièrement sur un processeur

� Par portions (job portioned migration): une tâche est découpée en portions, chaque portion est affectée séquentiellement à un processeur

� Migration libre: cas de l’ordonnancement global

Principes et modèles (suite)Ordonnancement semi-partitionné

Approches générales:� On place le maximum de tâches selon une heuristique

de partitionnement� L’ordonnancement semi-partitionné est envisagé lorsque

Intro Principes Migr. Restreinte Simulations ConclusionMigr. Portions

8

� L’ordonnancement semi-partitionné est envisagé lorsque qu’aucun partitionnement ne fonctionne pour une tâche

� On définit alors un motif de migration statique� De niveau job: découpage en portions (portioned scheduling)

Ex: => Portion1 sur S1, portion2 sur S2� Entre les jobs d’une tâche : migration restreinte (restricted

migration)Ex: => Job1 sur S1, job2 sur S2, job1 sur S1, job2 sur S2,….

=> L’approche semi-partitionnée domine l’approche partitionnée dans ces conditions

Principes et modèles (suite)

Tendances générales des ordonnancements semi-partitionnés:

� Placement (Next-Fit) des tâches migrantes sur deux processeurs

Intro Principes Migr. Restreinte Simulations ConclusionMigr. Portions

9

processeursTendance1:� Traiter les tâches migrantes avec une priorité plus élevéeTendance 2:� Découpage de l’échéance en échéances locales, sur un processeur,

priorité fonction de l’échéance locale

Principes et modèles (suite)Deux approches possibles pour le semi-partitionné:

� Ordonnancement semi-partitionné de portions de WCETs (portionned scheduling)� Remplissage au maximum du processeur sur lequel est placé

une tache migrante

Intro Principes Migr. Restreinte Simulations ConclusionMigr. Portions

10

� Remplissage au maximum du processeur sur lequel est placé une tache migrante

� Quand migrer ?

� Migration restreinte: exécution d’un job sur une seul processeur, migration des jobs selon un motif périodique� Quel motif ?� Au plus une migration par job

Approche portion de WCETs

Migration à une échéances locale:

Problèmes à résoudre:

� Quelle heuristique de répartition des échéances ?

Intro Principes Migr. Restreinte Simulations ConclusionMigr. Portions

11

� Quelle heuristique de répartition des échéances ?

� Quelle durée de portion pour une échéance locale ?

� Quand migrer ?

Quelques heuristiques de répartition des échéancesDi

(j) sur un processeur πjUne tâche τi est exécutée p≤M processeurs.

� p=2, Tâche migrante la plus prioritaire: et

Intro Principes Migr. Restreinte Simulations ConclusionMigr. Portions

)1()1(

ii CD =

)1()2(

iii CDD −=

12

� Equitable [EDF-WM] sur p processeurs:

� Échéance pondérée par l’utilisation locale [EDF-MLD-U]

p

DD ij

i =)(

ip

k

k

jj

i D

U

UD

∑=

=

1

)(

)(

)(

iii CDD −=

Quelques heuristiques de répartition des échéances (suite)

� Échéance locale égale à la durée maximale de la portion acceptable [EDF-(C=D)]

Intro Principes Migr. Restreinte Simulations ConclusionMigr. Portions

13

� Échéance minimale par réduction de l’échéance équitable et transfert de la marge d’échéance au processeur suivant [EDF-MLD-Dmin]

Approche portion de WCETsQuand migrer ?

Intro Principes Migr. Restreinte Simulations ConclusionMigr. Portions

14Après une durée ≥ au pire temps de réponse

Approche portion de WCETsAvantages de la migration à l’échéance locale

� Maintien d’une analyse d’ordonnançabilité indépendante sur l’ensemble des processeurs� Principe d’annulation de gigue dans les réseaux� Sinon approche holistique plus lourde

Intro Principes Migr. Restreinte Simulations ConclusionMigr. Portions

15

� Le motif d’activation des jobs reste inchangé sur l’ensemble des processeurs qui exécutent une tâche

Une CNS pour l’ordonnançabilité générique d’une tache τi executée sur p processeurs {π1,…πp} devient alors:

� et

� Les échéances locales de τi sont respectées

∑=

≥p

j

iji CC1

, ∑=

≤p

j

iji DD1

,

Approche portion de WCETsQuelle durée pour les portions ?

Approches générale:

� Minimiser le nombre de portions pour minimiser le nombre de migrations

Intro Principes Migr. Restreinte Simulations ConclusionMigr. Portions

16

nombre de migrations� Principe: « remplir » au maximum les processeurs� Sur un processeur, la durée d’une portion est telle que toute

durée supérieure conduit à un jeu de tâches non ordonnançable

� Pas d’exécution parallèle des portions

� Placement Next-Fit ou First-Fit des portions

Principes et modèles (suite)Semi-partitionnement: approche portion de WCETs

Intro Principes Migr. Restreinte Simulations ConclusionMigr. Portions

Modèle Nombre de proc.

Ordo tâche migrante /non migrante

Particularité

EKG 2 à M FP: prio max/ EDF Distinction entretâches lourdes et

17

Périodique,

Echéance

Implicite

tâches lourdes et légères

EDDP 2 EDF*, non indépendance entre processeurs garantir l’absence de parallélisme

Distinction entretâches lourdes et légères, échéance virtuelle tâche migrante

RMDP 2 RM*/RM (*même cause EDDP)

Inversion priorité si nécessaire

DP-PM Sporadique, échéancecontrainte

2 FP: prio max/ DM

Principes et modèles (suite)Semi-partitionnement: approche portion de WCETs

Intro Principes Migr. Restreinte Simulations ConclusionMigr. Portions

Modèle Nombre de proc.

Ordo tâchemigrante /non

migrante

Particularité

EDF-WM Sporadique, échéances contraintes

s=2 à M EDF*/EDF * Migration à échéance locale équitable Di/s

18

contraintes locale équitable Di/s

SPA2 Sporadique,échéances implicites

s=2 à M RM*/RM Worst-Fit. *Migration à échéances locales:

puis

PDMS_HPTS_DS

Périodique, échéance implicites

2 FP*/FP * Migration à échéance locale: puis idem SPA2. Split de la tâche la plus prioritaire.

ii DD =)1( ∑−

=

−=1

1

)()(s

j

j

ii

s

i RDD

)1()1(

ii CD =

Approche portion de WCETsEKG: [B. Andersson & al 06] – Cas de tâches périodiques

à échéance sur requête� Traitement différencié des tâches légères et lourdes

(Ci/Ti>SEP) avec:

SEP= si k<M et SEP=1 sinonk

Intro Principes Migr. Restreinte Simulations ConclusionMigr. Portions

19

SEP= si k<M et SEP=1 sinon

� Les tâches lourdes sont ordonnancées sur des processeur distincts => au plus M tâches lourdes

� Les tâches légères sont ordonnancées sur des groupes de k processeurs

� Affectation Next-Fit des tâches aux processeurs:� Affectation des tâches lourdes en premier sans migration

1+k

Approche portion de WCETsEKG (suite)� Les tâches à découper sont affectées à un groupe de k processeurs

ordonnançant des tâches légères (une tache migrante par groupe)� Une tâche migrante est découpée en k morceaux=> au plus k-1

migrations� Ex: k=2 (SEP=2/3)

π

Tâches non migrantes

Intro Principes Migr. Restreinte Simulations ConclusionMigr. Portions

20

� Principe de mirroring pour minimiser le nombre de migrations

π1

π2

Tâche migrante

π1

π2

Approche portion de WCETsEKG (suite)

� EKG permet d’atteindre une borne d’utilisation SEP (66% pour k=2, 100% pour k=M)

� Le nombre de préemptions est borné pour un groupe de k processeur

Intro Principes Migr. Restreinte Simulations ConclusionMigr. Portions

21

processeur

� Dans le scénario synchrone, le nombre de préemption divisé par le nombre d’activation dans [0,P] est borné par 2k (P=ppcm des périodes)

� Pour k=2, le nombre moyen de préemption pour un job est 4

Approche migration restreinteEDF-FM (Fixed or Migrating) [J. Anderson & al. 05]� Principe:

� Ordonnancement FP/EDF� Les tâches migrantes ont la plus haute priorité� Placement Next-Fit d’une tâche migrante sur deux processeurs

tels que l’utilisation sur les deux processeurs reste inférieurs ou égale à 1

Intro Principes Migr. Restreinte Simulations ConclusionMigr. Portions

22

égale à 1� Contrainte: α≤1/2

� Les échéances des taches migrantes sont garanties mais pas celles des tâches fixes

� Le retard des tâches fixes est borné

Approche migration restreinteEDF-FM (Fixed or Migrating) [Anderson & al. 05] (suite)� Définition du motif de migration des jobs:

� si,j: utilisation attribuée sur πj� fi,j: si,j/ui=xi,j/yi,j où xi,j et yi,j sont premiers entre eux

Motif: en moyenne xi,j jobs sur pj et yi,j jobs sur pj+1Le job job +1 est attribué au processeur:

Intro Principes Migr. Restreinte Simulations ConclusionMigr. Portions

23

i,j j i,j j+1� Le job jobi+1 est attribué au processeur:

� πj si avec ni,j le nombre de job attribués à πj

� πj+1 sinon

=

ji

ji

if

njob

,

,

Approche migration restreinteEDF-RRJM (Round Robin Job Migration) [George & al. 2011]� Une tâche ne pouvant pas être placée sur une seul

processeur est placée sur p processeur, 2≤p≤M

Motif: job1 sur π1, …, jobp sur πp, jobp+1 sur π1…

Intro Principes Migr. Restreinte Simulations ConclusionMigr. Portions

24

� EDF-RRJM procède par itérations successives en partant de p=2 jusqu’à M

� Sur un processeur exécutant τi, τi est activée avec une période pTi

� Une migration tous les Ti

Approche migration restreinteMotif Multiframe [Dorin & al. 2010] - EDF� Tâches sporadiques, à échéances contraintes� Construction d’un motif de migration suivant une

approche multiframe

� Motif plus général que celui de EDF-RRJM

Intro Principes Migr. Restreinte Simulations ConclusionMigr. Portions

25

� Motif plus général que celui de EDF-RRJM� Possibilité de réduire le nombre de migrations / EDF-

RRJM ( pas forcément une migration tous les Ti)� Longueur du motif fonction d’un paramètre K

Bornes d’utilisation du semi-partitionné – Migration statique

Migration restreinte Migration par portion

Taches fixes: Priorité fixe

Niveau tâche

PDMS_HPTS_DM: 65%

SPA2: 69.3%2

1+M1

Intro Principes Migr. Restreinte Simulations ConclusionMigr. Portions

26

Niveau tâche SPA2: 69.3%

Tâches fixes :priorité fixe niveau job

(cas EDF): Cas général

si α≤1/2:

EKG: de 65% à 100%(fonction de k)

Priorité dynamique ?

2)12(

1

−nn

)1( −−≥ MMU α

2

1+M

Résultats expérimentaux� Taux de succès (SR) pour 8 processeurs – Cas First-Fitdans [George & al 2011]

Intro Principes Migr. Restreinte Simulations ConclusionMigr. Portions

SR1: SR cas PartitionnéSR2: SR de l’heuristique

27

Résultats expérimentaux� Densité de migration: Somme pour toutes les tâches migrantes du

ratio : nombre de portions / période (dans [George & al 2011])

Intro Principes Migr. Restreinte Simulations ConclusionMigr. Portions

28

� Les approches portion de WCET produisent jusqu’à 2.69 fois plus de migrations que l’approche par migration restreinte EDF-RRJM

Conclusion� L’approche portion de WCETs a été bien

explorée, suppose une certaine liberté de découpage des WCETs

� L’approche par migration restreinte a été moins étudiée. Elle permet de bien exploiter un grand

Intro Principes Migr. Restreinte Simulations ConclusionMigr. Portions

étudiée. Elle permet de bien exploiter un grand nombre de processeurs (l’approche portion de WCETs peut être limitée par la granularité du temps)

� Ces approches permettent de mieux prendre en compte les coûts de préemption et de migration

29

Bibliographie[George & al. 2011][EDF-MLD-Dmin et RRJM] : un survey sur le semi-partitionnéL. George, P. Courbin, Y. Sorel, Journal of Systems Architecture, ISSN: 1383-7621,

Special issue on multiprocessor real-time scheduling. Ed. U.Devi and J.H. Anderson, Elsevier. 2011.

[DM-PM] S. Kato, N. Yamasaki, Semi-partitioned fixed-priority scheduling on multiprocessors, in: RTAS ’09: Proceedings of the 2009 15th IEEE Real-Time and Embedded Technology and Applications Symposium, IEEE Computer Society, Embedded Technology and Applications Symposium, IEEE Computer Society, Washington, DC, USA, 2009, pp. 23–32.

[Dorin & al. 2010] F. Dorin, P. Meumeu Yomsi, J. Goossens, P. Richard, Semi-PartitionedHard Real-Time Scheduling with Restricted Migrations upon Identical MultiprocessorPlatforms, Proc of Real-Time Systems and Networks (RTNS’2010), Toulouse, Nov; 2011, hal.inria.fr archive.

[EDDP] S. Kato, N. Yamasaki, Portioned edf-based scheduling on multiprocessors, in: EMSOFT ’08: Proceedings of the 8th ACM international conference on Embedded software, ACM, New York, NY, USA, 2008, pp. 139–148.

30

Bibliographie (2)[EDF-(C=D)] A. Burns, F. Zhang, R. Davis, Partitioned EDF Scheduling for

Multiprocessors using a C=D Scheme Proc of Real-Time Systems and Networks (RTNS’2010), Toulouse, Nov 2011, hal.inria.fr. archive.

[EDF-WM] S. Kato, N. Yamasaki, Y. Ishikawa, Semi-partitioned scheduling of sporadictask systems on multiprocessors, in: ECRTS ’09: Proceedings of the 2009 21st Euromicro Conference on Real-Time Systems, IEEE Computer Society, Washington, DC,USA, 2009, pp. 249–258.

[EKG] B. Andersson, E. Tovar, Multiprocessor scheduling with few preemptions, in: RTCSA ’06: Proceedings of the 12th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications, IEEE Computer Society, Washington, DC, USA, 2006, pp. 322–334.

[SPA2] B. Andersson, K. Bletsas, S. Baruah, Scheduling Arbitrary-Deadline Sporadic Task Systems on Multiprocessors, in: In Proc. of the IEEE Real-Time Systems Symposium, Vol. pages 385-394, 2008.

[PDMS_HPTS_DM] K. Lakshmanan, R. Rajkumar, P. Lehoczky, Partitioned fixed-priority preemptive scheduling for multi-core processors, in: Proceedings of the Euromicro Conference on Real-Time Systems (ECRTS’09), 2009. 31