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