28
Algorithmes d’ordonnancement temps réel

Algorithmes d’ordonnancement temps réel

  • Upload
    iorwen

  • View
    73

  • Download
    3

Embed Size (px)

DESCRIPTION

Algorithmes d’ordonnancement temps réel. 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 - PowerPoint PPT Presentation

Citation preview

Page 1: Algorithmes d’ordonnancement temps réel

Algorithmes d’ordonnancement temps réel

Page 2: Algorithmes d’ordonnancement temps réel

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é.

Page 3: Algorithmes d’ordonnancement temps réel

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

Page 4: Algorithmes d’ordonnancement temps réel

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.

Page 5: Algorithmes d’ordonnancement temps réel

Critères des tâchesArrivé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

Page 6: Algorithmes d’ordonnancement temps réel

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]

Page 7: Algorithmes d’ordonnancement temps réel

Ordonnancements 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).

Hors ligne

En ligneMonoprocesseurMultiprocesseur

Page 8: Algorithmes d’ordonnancement temps réel

• 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.

Page 9: Algorithmes d’ordonnancement temps réel

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

Page 10: Algorithmes d’ordonnancement temps réel

Rate Monotonic

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

Page 11: Algorithmes d’ordonnancement temps réel

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)

Page 12: Algorithmes d’ordonnancement temps réel

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)

Page 13: Algorithmes d’ordonnancement temps réel

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)

Page 14: Algorithmes d’ordonnancement temps réel

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]

Page 15: Algorithmes d’ordonnancement temps réel
Page 16: Algorithmes d’ordonnancement temps réel

Ordonnancement des tâtes apériodiques Background scheduling: first-come-first-

served strategyTâches périodiques

Page 17: Algorithmes d’ordonnancement temps réel

Polling server

Page 18: Algorithmes d’ordonnancement temps réel

Deferrable server sporadic server Slack stealing and joint scheduling techniques

Page 19: Algorithmes d’ordonnancement temps réel

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…

Page 20: Algorithmes d’ordonnancement temps réel

Multiprocessor Scheduling

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

Page 21: Algorithmes d’ordonnancement temps réel

Approches pour résoudre le problème Partitionné 1.Partitionner les tâches en m sous-ensemble

(nombre de processeurs)2.Pas de migration de tâches d’un processeur

vers un autre Globale 1.Appliquer une stratégie unique

d’ordonnancement2.Autorisation de migration Semi partitionné

Page 22: Algorithmes d’ordonnancement temps réel

Algorithmes d’ordonnancement partitionné

First-Fit Next-Fit Best-Fit Worst-Fit

Page 23: Algorithmes d’ordonnancement temps réel

Algorithmes d’ordonnancement global G-EDF Pfair : optimal 1.Définir une fonction binaire2. Introduire le décalage en temps (lag)

[2]

Page 24: Algorithmes d’ordonnancement temps réel

DP-Fair : Deadline Partitionning Fair1.Abstraction du T-L Plane2.DP-WRAP : tâches sporadiques 3.LLREF : Largest Local Remaining Execution

Time First4.BF : Boundary Fair

Page 25: Algorithmes d’ordonnancement temps réel

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

Algorithmes d’ordonnancement semi partitionné

Page 26: Algorithmes d’ordonnancement temps réel

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]

Page 27: Algorithmes d’ordonnancement temps réel

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

Page 28: Algorithmes d’ordonnancement temps réel

[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