Critère d’ordonnancement en temps réel Partie II

Slides:



Advertisements
Présentations similaires
Module Systèmes d’exploitation
Advertisements

Conférence « Compétences Informatiques » 10 avril 2006
La Méthode de Simplexe Standardisation
Tris.
Chapitre annexe. Récursivité
ETUDE DU NEWS BOY PROBLEM
Fonctions & procédures
RENDU DE TERRAIN Problématique : Rendre une très large zone de terrains en la simplifiant au maximum pour réduire le nombre de polygones à afficher. A.Bailly.
Calculs de complexité d'algorithmes
LE CALCUL LITTÉRAL AU COLLÈGE
Module Systèmes dexploitation Chapitre 6 Communication Interprocessus Partie III École Normale Supérieure Tétouan Département Informatique
21-Jan-14 Ron SmithRocket Science - 1 Systèmes en temps réel Ce nest pas de la science de fusé!
GEF499 Systèmes en temps réel
Critère d’ordonnancement en temps réel Partie III
Threads et Capsules Optionnels
Critères d’ordonnancement en temps réel Partie I
Patterns & Anti Patterns
GEF 435 Principes des systèmes dexploitation Ordonnancement partie I (Tanenbaum 2.5)
GEF 435 Principes des systèmes d’exploitation
Tolérance aux défaillances de logiciel
Hiver 2005Maj JGA Beaulieu & Capt MWP LeSauvage GEF 243B Programmation informatique appliquée Considération de temps.
GEF 435 Principes des systèmes dexploitation Communication Interprocessus (CIP) II (Tanenbaum 2.3)
GEF 435 Principes des systèmes d’exploitation
GEF 243B Programmation informatique appliquée
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitation
Leçon 3: Analyse Temporelle Des Systèmes
Inférence statistique
Exercices Algorithmiques
Plan Ordonnancement Obtention des tests de faisabilité entre processus
                                        République Algérienne Démocratique et Populaire Ministère de l’Enseignement Supérieur et de la Recherche Scientifique.
Le modèle de Bayes Christelle Scharff IFI La classification de Bayes Une méthode simple de classification supervisée Basée sur lutilisation du Théorème.
Les requêtes La Requête est une méthode pour afficher les enregistrements qui répondent à des conditions spécifiques. La requête est donc un filtre.
Guy Gauthier, ing., Ph.D. Session été 2013.
Algorithmique et Programmation
La méthode d’Euler Objectif : résoudre une équation différentielle de façon numérique Applications en physique (en Terminale S): Résoudre une équation.
Algorithmes Branch & Bound
Cours de physique générale I Ph 11
Croissance et extremums
Méthode des k plus proches voisins
Le cas de la demande déterministe non stationnaire
Détection et isolation de défauts dans les procédés industriels Contrôle Statistique des Procédés Statistical Process Control (SPC)
Équations différentielles.
Groupe 1: Classes de même intervalle
Gestion de Fichiers Arbres B.
3.6 Les équations de la cinématique à accélération constante MRUA
GPA750 Les ateliers multigammes Chapitre 5
Programmation linéaire en nombres entiers Algorithme de la subdivision successive («Branch and Bound Algorithm»)
Génération d’un segment de droite
Prévisions météorologiques, projections climatiques : que peut- on prévoir et avec quelle fiabilité ? Exercice 2: estimation de la prévisibilité dans le.
Gestion de Fichiers Indexes basés sur les structures d’arbres binaires et indexes à niveaux multiples.
Corrélation Principe fondamental d’une analyse de corrélation
1 Licence dinformatique Algorithmique des graphes Problèmes dordonnancement. Utilisation de ce document strictement réservée aux étudiants de l IFSIC dans.
CR2 Seconde 8 Résolutions d’ équations
Les réseaux.
Conception des Réalisé par : Nassim TIGUENITINE.
Gestion de Fichiers Hachage (suite). 2 Plan du cours daujourdhui Prédiction de la distribution des enregistrements Réduction des collisions en augmentant.
Loutil statistique les mesures de tendance centrale Auto-évaluation.
Ordonnancement de tâches
Les fonctions leurs propriétés et.
Résoudre une équation du 1er degré à une inconnue
99 Réutilisation du code grâce à l'héritage. 9-2 Objectifs À la fin de ce cours, vous serez capables de : Définir l'héritage Utiliser l'héritage pour.
Méthodes de prévision (STT-3220)
Programmation linéaire en nombres entiers : les méthodes de troncature
Modélisation géométrique de base
Présentation de la méthode des Eléments Finis
Cycle de vie: « Waterfall » GEF492A Automne 2014 [HvV § 3.1]
Programmation linéaire en nombres entiers
LE CDCF Ce document charnière entre l’analyse du besoin et la conception du produit va permettre de faire émerger les éléments fonctionnels nécessaires.
L ES INSTRUCTIONS DE L ECTURE, E CRITURE ET A FFECTATION Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université.
Transcription de la présentation:

Critère d’ordonnancement en temps réel Partie II Systèmes en temps réel Critère d’ordonnancement en temps réel Partie II

Synopsis Analyse du temps de réponse Compter les relâchements Déterminer l’interférence Calculer le temps de réponse Exemple Ordonnancement avec les tâches apériodiques Ordonnancement priorité avec échéanciers monotones (Deadline Monotonic Priority Ordering) Pire cas du temps d’exécution Requis temporels durs versus mous Ordonnancement (partie 2) - 2

Analyse du temps de réponse Un désavantage du test d’ordonnancement basé sur l’utilisation (C/T) pour RMA est qu’il n’est pas exact. Le test est suffisant mais pas nécessaire Pour suppléer à ce test, nous introduisons la notion d’analyse du temps de réponse Avec l’analyse du temps de réponse, on peut: Prédire le pire cas pour le temps de réponse pour chaque tâche Ensuite on compare le temps de réponse et échéancier pour chaque tâche Si tous les pires cas de temps de réponse sont plus petits que les échéanciers respectifs, le système est "ordonnançable" Ordonnancement (partie 2) - 3

Réponse Le temps de réponse pour une tâche est défini comme étant la somme de son pire temps d’exécution et de son interférence maximale -> Ri = Ci + Ii (1) où Ii est l’interférence maximale* que la tâche i peut subir dans tout intervalle de temps [t, t + Ri ) *La condition pour l’interférence maximale se produit évidemment quand toutes les tâches de plus haute priorité sont relâchées en même temps que i, l’instant critique. Ordonnancement (partie 2) - 4

Comptage des relâchements Considérez une tâche i et une tâche à plus haute priorité j Maintenant, le nombre de relâchements de la tâche j dans l’intervalle de temps 0 à Ri peut être dérivé par: # de relâches j = Ri/Tj (2) Fonction plafond [ 0, Ri ) 100 200 j i # de relâches = 2 40 40 40 5 Tj Ri Ti Ordonnancement (partie 2) - 5

Détermination de l’interférence À partir de ceci l’interférence maximum de la tâche j sur i dans l’intervalle 0 à Ri est donnée par: interférence max =  Ri/Tj  Cj (3) Mais il peut y avoir d’autres tâches à plus haute priorité donc: Ii =   Ri/Tj Cj (4) [ 0, Ri ) jhp(i) Ordonnancement (partie 2) - 6

Calcul du temps de réponse Substituant l’équation (4) dans (1) donne l’expression générale pour le temps de réponse: Ri = Ci +   Ri/Tj Cj (5) Notez le problème suivant: Ri est sur les deux côtés de l’équation!!! Avant de résoudre ceci, regardons si on peut le comprendre dans le domaine du problème jhp(i) Ordonnancement (partie 2) - 7

Comprendre le temps de réponse (Exemple 1 du dernier cours) RC = CC +  RC/TA  CA +  RC/TB  CB = 60 + 2(20) + 1(30) = 130 CA, TA CB, TB CC, TC Système= {(20, 100), (30, 150), (60, 200)} 100 200 A B C RC = 130 Ordonnancement (partie 2) - 8

Résolution de l’équation du temps de réponse Essentiellement, on forme une relation récursive avec l’équation (5) et on résout itérativement: win+1 = Ci +  win /Tj  Cj (6) où la valeur de départ (seed) wi0 = Ci L’algorithme se résume alors Résolu pour des valeurs successive de win+1 si win+1 = win , alors la solution est trouvée -> Ri = win si win+1 > Di , alors la tâche i ne rencontre pas son échéancier jhp(i) Ordonnancement (partie 2) - 9

Ordonnancement avec tâches apériodiques Le modèle de tâche simple que nous avons traité jusqu’à maintenant est trop limité de plusieurs façons. Ne pas être capable de traiter les tâches apériodiques est une restriction majeure. Une approche est de faire paraître les tâches apériodiques (ou sporadiques) comme des tâches périodiques Considérez que l’on peut traiter l’intervalle minimum entre l’arrivée d’une tâche apériodique comme une période, T Seulement avec cette supposition, on peut utiliser RMA avec les deux types de tâches, MAIS Ordonnancement (partie 2) - 10

Ordonnancement priorité avec échéancier monotone (Deadline Monotonic Priority Ordering) La supposition que D=T dans modèle de tâche simple n’est pas réaliste pour les tâches apériodiques typiquement, une tâche apériodique ne va pas se produire fréquemment (grand temps inter-arrivé) mais va être vitement traitée -> D < T donc l’assignation de priorité basé sur T ne va pas habituellement satisfaire le requis pour rencontrer D Deadline Monotonic Priority Ordering (DMPO) est une méthode qui fait ce qui suit: Plus l’échéancier est proche, plus la priorité est haute Ordonnancement (partie 2) - 11

DMPO Exemple Tâches Ci Ti Di Pi Ri * 1 3 20 5 1 3 2 3 15 7 2 6 3 4 10 10 3 10 4 3 20 20 4 20 * temps de réponse sont calculés en utilisant la méthode de l’équation (7) notez que un ordre RMA ne pourrait pas ordonnancer ces tâches Ordonnancement (partie 2) - 12

Exécution pire cas vs moyenne Comment fait-on pour connaître les pire cas de temps d’exécution? Mesure intrusive Analyse basée sur un modèle du processeur Est-ce réaliste pour les conditions normales? Les valeurs de pire cas pourraient être grandement plus larges que celles observées en opération normale Pour les tâches apériodiques, le pire cas des temps inter-arrivée pourrait être plusieurs ordres de grandeur de trop Qui a-t’il d’autre? Il est de bonne mise d’avoir les nombres qui représentent les temps moyens Ordonnancement (partie 2) - 13

Requis temporels durs vs mous En ajoutant des chevaux-vapeurs pour être capable d’ordonnancer va sûrement nous apporter des taux d’utilisation du CPU qui sont très bas sous des conditions normales, et bien qu’il y a des fois où cela est nécessaire... distinguer entre les requis temporels durs et mous Règle 1: on devrait être capable d’ordonnancer toutes les tâches en utilisant la moyenne des temps d’exécution et inter-arrivée Règle 2: toutes les tâches avec des requis temporels durs devraient être ordonnancées avec les pires cas Ordonnancement (partie 2) - 14

Devoirs sur l’analyse du temps de réponse Tâche Ci Ti Pi 1 3 7 2 3 12 3 5 20 Utilisez l’ordonnancement RMA Appliquez le test d’ordonnancement d’utilisation Utilisez l’analyse du temps de réponse pour déterminer si le système peut être ordonnancé Ordonnancement (partie 2) - 15

Références [1] Burns, A. and Wellings, A., “Real-Time Systems and Programming Languages”, Chapter 13, Addison Wesley, 1997 [2] TimeSys Corp, “The Concise Handbook of Real-Time Systems”, Version 1.0, 1999 [3] www.timesys.com [4] Gomaa, H., “Software Design Methods for Concurrent and Real-Time Systems”, Addison-Wesley, 1993. Ordonnancement (partie 2) - 16