Critères d’ordonnancement en temps réel Partie I

Slides:



Advertisements
Présentations similaires
Notions de fonction Initiation.
Advertisements

Yacine DIAGNE GUEYE ENDA ENERGIE
Cours 8 Problèmes de dynamiques : techniques de résolution pas-à-pas
LIRMM 1 Journée Deuxièmes années Département Microélectronique LIRMM.
Calculs de complexité d'algorithmes
Algorithmique et évaluation
Systèmes en temps réel Sujets divers. Sujets divers - 2 Synopsis Services dexceptions Encore plus sur les services de chrono Cardinalité et structure.
Critère d’ordonnancement en temps réel Partie II
GEF499 Systèmes en temps réel Introduction au projet du Système de soutien au combat naval Naval Combat Support System (NCSS)
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
Systèmes en temps réel Modélisation du comportement en temps réel avec UML.
Patterns & Anti Patterns
GEF499 Systèmes imbriqués à temps réel
Systèmes en temps réel Héritage avec les capsules.
GEF 435 Principes des systèmes dexploitation Ordonnancement partie I (Tanenbaum 2.5)
Systèmes en temps réel Services de Communication.
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 d’exploitation
GEF 435 Principes des systèmes d’exploitation
Plan Ordonnancement Obtention des tests de faisabilité entre processus
1 Intégration numérique garantie de systèmes décrits par des équations différentielles non-linéaires Application à l'estimation garantie d'état et de paramètres.
Systèmes Experts implémentation en Prolog
Plus rapide chemin bicritère : un problème d’aménagement du territoire
1 Théorie des Graphes Cycle Eulérien. 2 Rappels de définitions On dit qu'une chaîne est un chemin passant par toutes les arêtes du graphe. On dit qu'un.
6.1 URDL22005 Systèmes dexploitation Ordonnancement du CPU Concepts de Base Critères dOrdonnancement Algorithmes dOrdonnancement Ordonnancement Multi-Processeur.
le profil UML en temps réel MARTE
Algorithmique et Programmation
Parcours de formation SIN-7
Chapitre 2: Les régularités et les relations
Cours de physique générale I Ph 11
1.2 COMPOSANTES DES VECTEURS
Tableaux de distributions
1.3 COORDONNÉES DES POINTS
Algorithme de Bellman-Ford
Courbes de Bézier.
Programmation concurrente
1 Licence dinformatique Algorithmique des graphes Problèmes dordonnancement. Utilisation de ce document strictement réservée aux étudiants de l IFSIC dans.
Universté de la Manouba
3. Théorie de la production (offre) (suite)
Chapitre 3 La cinématique à une dimension
Gestion de Fichiers Hachage (suite). 2 Plan du cours daujourdhui Prédiction de la distribution des enregistrements Réduction des collisions en augmentant.
Ordonnancement de tâches
Le diagramme de séquences
Les fonctions leurs propriétés et.
Inéquations du premier degré à une inconnue
Les relations - Règles - Variables - Table de valeurs - Graphiques.
2.2 PRODUIT SCALAIRE ET CALCUL D’ANGLES
Atelier de formation : MAT optimisation II (les graphes).
CHAPITRE 6 Stabilité des SA.
Méthodes de prévision (STT-3220)
Programmation linéaire en nombres entiers : les méthodes de troncature
ASI 3 Méthodes numériques pour l’ingénieur
Mise en forme en Mathématiques
Mesurer la tension aux bornes d’un des composants.
Comment construire un graphique ?
SUITES cours 24.
Suites numériques Définitions.
Quel est l’intérêt d’utiliser le diagramme de Gantt dans la démarche de projet A partir d’un exemple concret, nous allons pouvoir exploiter plusieurs parties.
Cours des Systèmes d’exploitations
Les principes de la modélisation de systèmes
Rappels de statistiques descriptives
Chapitre I Modélisation optimisation I- Optimisation de fonctions d’une seule variable 1 Introduction En gestion, on est souvent confronté à des situations.
Programmation linéaire en nombres entiers
2008/ Plan du cours 1.Introduction –Contenu du cours 2.Logique mathématique –Calcul propositionnel –Calcul des prédicats –Logique floue et aide à.
Ajouts et retraits dans un arbre de connexion Nicolas Thibault et Christian Laforest, Équipe OPAL Laboratoire IBISC (regroupement LaMI et LSC), Évry 8.
Systèmes d’exploitation Processus conclusion Modèle conceptuel de processus Pour masquer les effets des interruptions, les SE fournissent un modèle conceptuel.
Transcription de la présentation:

Critères d’ordonnancement en temps réel Partie I Systèmes en temps réel Critères d’ordonnancement en temps réel Partie I

Synopsis Requis temporels Concurrence et ordonnancement Mécanismes d’ordonnancement Notation Algorithme Taux Monotone (Rate Monotonic Algorithm) Théorème des bornes d’utilisation Exemples Ordonnancement (partie 1) - 2

Requis temporels D’où viennent les requis temporels? Requis de haut niveau (explicite) Assemble deux gugusses chaque seconde Brouille un émetteur en-dedans de 250 millisecondes de son identification Requis dérivés (implicite) précision: tracer une position d’émetteur à une précision de 50 nous mène à la périodicité dépendance: se remettre d’un message perdu en dedans de 500 msec interface utilisateur: répond à une clé de clavier en dedans de 200 msec Ordonnancement (partie 1) - 3

Concurrence et ordonnancement Les systèmes concurrents démontrent un non-déterminisme extrême considérez un simple système concurrent à 5 tâches il y a 120 permutations possibles pour l’exécution dans un système non-préemptif et une infinité pour un système préemptif Les systèmes en temps réel doivent restreindre ce non-déterminisme en utilisant l’ordonnancement Ont définit le critère d’ordonnancement comme l’évaluation de la capacité qu’un système a de rencontrer ses échéanciers (deadlines) Ordonnancement (partie 1) - 4

Mécanismes d’ordonnancement Un mécanisme d’ordonnancement fournit: Un algorithme pour l’utilisation des ressources du système Une façon de prédire le comportement dans le pire cas Il y a deux classifications de mécanismes Statique (compile-time) et dynamique (run-time) Nous allons seulement étudier les mécanismes statiques et en particulier, les méthodes préemptive basées sur les priorités Mécanismes utilisent: Un algorithme d’assignation des priorités; et Un test d’ordonnancement Ordonnancement (partie 1) - 5

Notation C: temps d’exécution de pire cas pour une tâche T: temps minimum entre le re-lancement de la tâche (période) P: priorité assignée à la tâche N: nombre de tâches dans le système R: temps de réponse pire cas pour la tâche B: temps de blocage pire cas pour la tâche I: temps d’interférence de la tâche Définit Utilisation: U = C/T Ordonnancement (partie 1) - 6

Définit un simple modèle de tâche Supposition: Un ensemble de tâches fixes Toutes les tâches sont périodiques Les tâches sont complètement indépendantes * Tous les surdébits (changement de contexte) sont ignorés (ou inclus dans les temps d’exécution des tâches) Les échéanciers des tâches sont égales à leurs période Implique que les tâches doivent compléter avant le re-lancement Toutes les tâches ont un temps d’exécution pire cas Instant Critique – définit comme étant la condition de charge maximum quand toutes les tâches sont relâchées en même temps Ordonnancement (partie 1) - 7

Algorithme taux monotone Rate Monotonic Algorithm (RMA) Une méthode d’assignation de priorité pour le modèle de tâches décrit plus tôt de tel façon à ce que: Chaque tâche se voit assigner une priorité basée sur sa période, là où Plus courte est la période, plus haute est la priorité Exemple: Tâche Période (T) Priorité (P) A 100 3 B 25 1* plus haute C 205 4 D 60 2 Ordonnancement (partie 1) - 8

Théorème des bornes d’utilisation Un ensemble de N tâches périodiques indépendantes ordonnancées avec l’algorithme de taux monotone va toujours rencontrer ses échéanciers, si C1/T1 + … CN/TN  N(2 1/N - 1) = URM(N) URM(N) converge à 69% pour un N large Un test suffisant mais non nécessaire c.-à-d. nous ne pouvons pas dire qu’un système avec une valeur d’utilisation plus haute ne peut pas être ordonné Ordonnancement (partie 1) - 9

RMA Exemple 1 Tâche Ci Ti Ui A 20 100 0.2 B 30 150 0.2 C 60 200 0.3 U1 + U2 + U3 = 0.7, et est  URM(3) où URM(3) = 3*(21/3 - 1) = 0.779 Donc ces tâches vont toujours rencontrer leurs échéanciers avec l’ordonnancement: P(A) = 1, P(B)=2, P(C)=3 Ordonnancement (partie 1) - 10

RMA Exemple 1 A B C t 20 20 30 30 50 10 idle idle 20 40 60 80 100 120 Task Ci Ti Ui A 20 100 0.2 B 30 150 0.2 C 60 200 0.3 - Tâche lancée - Tâche complète A 20 20 B 30 30 C 50 10 idle idle t 20 40 60 80 100 120 140 160 180 200 Ordonnancement (partie 1) - 11

RMA Exemple 2 Tâche Ci Ti Ui A 12 50 0.24 B 10 40 0.25 C 10 30 0.33 U1 + U2 + U3 = 0.82, et n’est pas  URM(3) où URM(3) = 3*(21/3 - 1) = 0.779 Donc ces tâches échouent le test d’utilisation, et en regardant le diagramme Gantt, on peut voir que les échéanciers ne seront pas rencontrés Ordonnancement (partie 1) - 12

RMA Exemple 2 Task Ci Ti Ui A 12 50 0.24 B 10 40 0.25 C 10 30 0.33 - Tâche lancée - Tâche complète x x - Échéancier manqué A 10 B 10 10 ... 10 C 10 t 10 20 30 40 50 60 70 Ordonnancement (partie 1) - 13

RMA Exemple 3 Tâche Ci Ti Ui A 40 80 0.5 B 10 40 0.25 C 5 20 0.25 U1 + U2 + U3 = 1.00, et n’est pas  URM(3) encore où URM(3) = 3*(21/3 - 1) = 0.779 Ces tâches échouent clairement le test d’utilisation, mais après avoir regardé le diagramme Gantt, on peut voir que les échéanciers sont respectés???? Ordonnancement (partie 1) - 14

RMA Exemple 3 Task Ci Ti Ui A 40 80 0.5 B 10 40 0.25 C 5 20 0.25 - Tâche lancée - Tâche complète A 5 15 5 15 B 10 10 5 5 5 5 C t 10 20 30 40 50 60 70 80 Ordonnancement (partie 1) - 15

Points additionnels sur RMA RMA a l’avantage d’être stable dans les conditions de surcharge transitoires Un sous ensemble des tâches (celle avec les priorités les plus hautes) vont encore rencontrer leurs échéanciers même en condition de surcharge temporaire. Théorème de temps de complétion Pour un ensemble de tâches périodiques, si chaque tâche rencontre son premier échéancier, quand toutes les tâches sont lancées en même temps, alors tous les échéanciers seront rencontrés chaque fois. Ordonnancement (partie 1) - 16

Le point faible de RMA et test d’U Le test d’utilisation n’est pas exacte Suffisant, mais pas nécessaire Donc nous devons utiliser d’autres tests (autre que de vérifier les cédules à la main) Le modèle de tâches simple est trop restrictif Permet seulement les tâches périodiques Toutes les tâches doivent être indépendantes implique que aucune ressources ne peuvent être partagées (pas de mutexes et de précédences) Introduit Analyse du temps de réponse - un test de critère d’ordonnancement plus fort Supporte les tâches apériodiques (sporadiques) ainsi que la dépendance inter-tâches Ordonnancement (partie 1) - 17

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 1) - 18