La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Algorithmes d’ordonnancement temps réel

Présentations similaires


Présentation au sujet: "Algorithmes d’ordonnancement temps réel"— Transcription de la présentation:

1 Algorithmes d’ordonnancement temps réel

2 Temps réel « Un système Temps Réel est un système d'informations dont les corrections ne dépendent pas uniquement du résultat logique des algorithmes mais aussi de l'instant où ces résultats ont été produits » [1] adaptation aux événements externes Fonctionnement au contenu sans réduire le débit Temps de calcul connus et modélisables pour permettre l'analyse de la réactivité.

3 Problème / Solution Le problème de Temps Réel apparaît quand le système est constitués de plusieurs tâches et qu'il est nécessaire de diviser la puissance du ou des processeurs entre elles [2] Identification de tâche à réaliser et les contraintes temporelles qui doivent être satisfaites. Écriture du code Temps d'exécution de chaque tâche est mesuré et un test de rendez-vous horaire est réalisé pour vérifier qu'aucune tâche ne dépassera son temps limite

4 Tâches Les tâches peuvent être identifiées par trois valeurs de temps : Période de la tâche ; Temps limite pour la tâche ; Temps de calcul maximal pour la tâche.

5 Critères des tâches Arrivées des tâches " Périodiques : arrivée à intervalles réguliers (Pi) • Date d’activation initiale, offset Oi • Si pour tout i,j Oi=Oj, tâches synchrones • Si Di = Pi, tâche à échéance sur requête • Hyper période: cycle d’ordonnancement: intervalle [0,PPCM(Pi)] pour tâches synchrones, [min(Oi), max(Oi,Oj+Dj) + 2 * PPCM(Pi)] sinon " Sporadiques : on connaît une borne minimale sur l’intervalle entre deux arrivées • Apériodiques : tout ce qui ne rentre pas dans les deux catégories précédentes • Synchronisations (donc blocages potentiels) • Ressources partagées • Précédences

6 R – le moment de la première requête d’exécution de la tâche,
 C – la durée d’exécution maximale de la tâche, quand elle dispose du processeur pour elle seule (le coût d’exécution), D – le délai critique acceptable pour l’exécution de la tâche (l’échéance), P – la période, s’il s’agit d’une tâche périodique [2]

7 En ligne Hors ligne Ordonnancements Monoprocesseur Multiprocesseur
Statiques pilotés par table ; Statiques préemptifs basés sur des priorités ; Dynamiques basés sur une planification de l’exécution ; Dynamiques basés sur la notion du meilleur effort (best effort). En ligne Monoprocesseur Multiprocesseur Hors ligne

8 • L’ordonnancement par priorités statiques :
Premier arrivé, premier servi (First-Come, First-Served – FCFS) où toutes les tâches ont la même priorité ; le tour de rôle ou tourniquet (Round Robin – RR) ; monotone par fréquences (Rate-Monotonic – RM) ; monotone par échéances (« Invers Deadline » - ID, ou « Deadline Monotonic » -DM) • L’ordonnancement par priorités dynamiques : Earliest Deadline First – EDF ; Least Slack Scheduling – LLS, ou Least Laxity First – LLF, ou Shortest Slack Time – SST.

9 Processus de résolution d’un problème d’ordonnancement

10 Rate Monotonic T1(R1=0, C1=3, P1=20), T2(R2=0, C2=2, P2=5) et T3(R3=0, C3=2, P3=10)

11 Deadline Monotonic T1(R1=0, C1=3, D1=7, P1=20), T2(R2=0, C2=2, D2=4, P2=5) et T3(R3=0, C3=2, D3=9, P3=10)

12 Earliest Deadline First
T1(R1=0, C1=3, D1=7, P1=20), T2(R2=0, C2=2, D2=4, P2=5) et T3(R3=0, C3=1, D3=8, P3=10)

13 Least Laxity First τ1(r0 = 0, C = 3, D = 7, T = 20), τ2(r0 = 0, C = 2, D = 4, T = 5), τ3(r0 = 0,C = 1,D = 8, T = 10)

14 Least Laxity First Nous définissons la laxité d’une instance comme étant la durée entre la fin de son exécution et son échéance. Lorsqu’une instance est activée, sa laxité correspond à son échéance moins sa durée d’exécution plus la somme des durées d’exécution restantes des instances de plus haute priorité. [3]

15

16 Ordonnancement des tâtes apériodiques
Background scheduling: first-come-first-served strategy Tâches périodiques L'avantage majeur de fond ordonnancement est sa simplicité. Cependant, son principal inconvénient est que, pour des charges élevées en raison de tâches périodiques, temps de réponse apériodique demandes peuvent être élevés.

17 Polling server

18 Slack stealing and joint scheduling techniques
Deferrable server sporadic server Slack stealing and joint scheduling techniques These two techniques are quite similar and both use the laxity of the periodic tasks to schedule aperiodic tasks. With the first method, called slack stealing, the tasks are scheduled with the RM algorithm. With the second method, called joint scheduling, the tasks are scheduled with the EDF algorithm.

19 Ordonnancement des tâches dépendantes
Contrainte de précedence qui correspend à la synchronisation et communication entre les tâches Precedende avec ordonnancement par RM Precedende avec ordonnancement par EDF Contrainte d’exlusion mutuelle pour le partage des ressources , memoire et registres…

20 Multiprocessor Scheduling
Destiner pour résoudre les problèmes d’optimisation d’ordonnancement en ligne

21 Approches pour résoudre le problème
Partitionné Partitionner les tâches en m sous-ensemble (nombre de processeurs) Pas de migration de tâches d’un processeur vers un autre Globale Appliquer une stratégie unique d’ordonnancement Autorisation de migration Semi partitionné

22 Algorithmes d’ordonnancement partitionné
First-Fit Next-Fit Best-Fit Worst-Fit d'affecter chaque tâche au premier processeur trouve tel que l'ordonnanceur local peut l'or- donnancer avec les tâches deja aectees

23 Algorithmes d’ordonnancement global
G-EDF Pfair : optimal Définir une fonction binaire Introduire le décalage en temps (lag) [2]

24 DP-Fair : Deadline Partitionning Fair Abstraction du T-L Plane
DP-WRAP : tâches sporadiques LLREF : Largest Local Remaining Execution Time First BF : Boundary Fair Diffère de PFair dans le sens ou la contrainte de uidite est assouplie pour ne porter que sur ces echeances [Levin et al. 2010] les tâches partagent la même date d'echeance

25 Algorithmes d’ordonnancement semi partitionné
Les algorithmes semi-partitionnes se situent entre ces deux extrêmes et proposent d'autoriser une migration contrôlée de certaines tâches. Ils peuvent donc être vus comme une amélioration des algorithmes partitionnes en ajoutant plus de flexibilité mais ils s'inspirent aussi des politiques globales. [2] Proposer un compromis entre le taux d'utilisation maximum du système et le nombre de préemptions

26 Proposition L’application du domaine d’intelligence artificielle sur l’ordonnancement temps réel par le biais des réseaux de neurones pour une meilleur optimisation [1]

27 Conclusion Les algorithmes globaux ou semi partitionnés restent théoriques et ne tiennent généralement pas compte des surcoûts a l’exécution dû aux migrations, aux préemptions et aux temps de calcul de l'algorithme. Intégrer et adapter ces ordonnanceurs à une machine virtuelle embarqué temps réel

28 [1] Yahyaoui Khadidja, L’apport des outils de lintelligence artificielle dans les systèmes temps réel: ordonnancement des tâches, université d’Oran 2013 [2] Dana - Mihaela ROHÁRIK VÎLCU, SYSTÈMES TEMPS RÉEL EMBARQUÉS, Ordonnancement optimal de tâches pour la consommation énergétique du processeur, Université Paris XII – Val de Marne 2004 [3] Frédéric Fauberteau1 Laurent George, Damien Masson,Serge Midonnet, Ordonnancement multiprocesseur global basé sur la laxité avec migrations restreintes, Saint-Étienne : France 2011 [4] Maxime Cheramy1, Anne-Marie Deplanche, and Pierre-Emmanuel Hladik ,Ordonnancement temps réel, des politiques monoprocesseurs aux politiques multiprocesseurs, [5] Francis Cottet LISI/ENSMA, Joelle Delacroix Claude Kaiser, Zoubir Mammeri, Scheduling in Real-Time Systems, France 2002


Télécharger ppt "Algorithmes d’ordonnancement temps réel"

Présentations similaires


Annonces Google