Ordonnancement Temps Réel. Emmanuel GROLLEAU & Pascal RICHARD LISI/ENSMA {grolleau,richardp}@ensma.fr



Documents pareils
Programmation temps-réel Cours 1 et 2 Introduction et ordonnancement

Annexe 6. Notions d ordonnancement.

Ordonnancement temps réel

Analyse du temps de réponse des systèmes temps réel

REALISATION d'un. ORDONNANCEUR à ECHEANCES

Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm)

Cours A7 : Temps Réel

Ordonnancement temps réel

ORDONNANCEMENT CONJOINT DE TÂCHES ET DE MESSAGES DANS LES RÉSEAUX TEMPS RÉELS 4. QUELQUES EXEMPLES DU DYNAMISME ACTUEL DU TEMPS RÉEL

Informatique industrielle A Systèmes temps-réel J.F.Peyre. Partie I : Introduction

Introduction aux systèmes temps réel. Iulian Ober IRIT

Systèmes et exécutifs temps-réel

Introduction au temps réel

Problèmes d ordonnancement dans les systèmes de production. Journée Automatique et Optimisation Université de Paris Mars 2003

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

Ordonnancement temps réel et minimisation de la consommation d énergie

Cours de Master Recherche

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

Impact de choix d implantation sur les performances d une application de Contrôle-Commande

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

Ordonnancement des applications temps réel réparties

Exécutif temps réel Pierre-Yves Duval (cppm)

1 Mesure de la performance d un système temps réel : la gigue

Introduction à l informatique temps réel Pierre-Yves Duval (cppm)

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

Ordonnancement. N: nains de jardin. X: peinture extérieure. E: électricité T: toit. M: murs. F: fondations CHAPTER 1

Ministère de l Enseignement Supérieur et de la Recherche Scientifique. Mémoire de fin d études. Thème

Parallélisme et Répartition

Initiation au HPC - Généralités

Cours A7 : Temps Réel

Conception des systèmes répartis

Temps Réel. Jérôme Pouiller Septembre 2011

Sommaire. Couverture de zone de surveillance dans les réseaux de capteurs. De quoi parle-t-on ici (1/2)? Objectif. De quoi parle-t-on ici (2/2)?

4.2 Unités d enseignement du M1

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

données en connaissance et en actions?

MEAD : temps réel et tolérance aux pannes pour CORBA

Programmation linéaire

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

Programmes des classes préparatoires aux Grandes Ecoles

Les diagrammes de modélisation

En vue de l'obtention du

Partie 7 : Gestion de la mémoire

Modélisation aléatoire en fiabilité des logiciels

Métriques de performance pour les algorithmes et programmes parallèles

TP N 57. Déploiement et renouvellement d une constellation de satellites

Table des matières. I Mise à niveau 11. Préface

Mlle Yasmin A. RÍOS SOLÍS

Hela Boukef. To cite this version: HAL Id: tel

SugarCubes. Jean-Ferdinand Susini Maître de Conférences, CNAM Chaire systèmes enfouis et embarqués. Paris, le 9 janvier, 2009

<Insert Picture Here> Solaris pour la base de donnés Oracle

La gestion des contraintes pour modéliser les stratégies humaines d'ordonnancement et concevoir des interfaces homme-machine ergonomiques

Projet Active Object

Conception de réseaux de télécommunications : optimisation et expérimentations

Étude des Corrélations entre Paramètres Statiques et Dynamiques des Convertisseurs Analogique-Numérique en vue d optimiser leur Flot de Test

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

En vue de l'obtention du. Présentée et soutenue par Abir BEN HMIDA SAKLY Le 12/12/2009

Contributions à l expérimentation sur les systèmes distribués de grande taille

Contexte et motivations Les techniques envisagées Evolution des processus Conclusion

Jean-Philippe Préaux

INFO-F-425 Modèles mathématiques et algorithmes pour l ordonnancement. Bernard Fortz

Ordonnancement robuste et décision dans l'incertain

Limitations of the Playstation 3 for High Performance Cluster Computing

Master IAD Module PS. Reconnaissance de la parole (suite) Alignement temporel et Programmation dynamique. Gaël RICHARD Février 2008

FICHE UE Licence/Master Sciences, Technologies, Santé Mention Informatique

Systèmes et algorithmes répartis

Surveillance et maintenance prédictive : évaluation de la latence de fautes. Zineb SIMEU-ABAZI Univ. Joseph Fourier, LAG)

Evaluation des performances de programmes parallèles haut niveau à base de squelettes

Définitions. Numéro à préciser. (Durée : )

Organigramme / Algorigramme Dossier élève 1 SI

AVERTISSEMENT. D'autre part, toute contrefaçon, plagiat, reproduction encourt une poursuite pénale. LIENS

Programme de la 1ère année

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

I Stabilité, Commandabilité et Observabilité Introduction Un exemple emprunté à la robotique Le plan Problème...

MABioVis. Bio-informatique et la

Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires

Introduction aux algorithmes répartis

DAns un système multi-utilisateurs à temps partagé, plusieurs processus

Cours des Méthodes de Résolution Exactes Heuristiques et Métaheuristiques

Les systèmes de base de données temps réels. Pokrovskaya Natalia, Kabbali Nadia

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

Contrainte de flot pour RCPSP avec temps de transfert

NOTE SUR LA MODELISATION DU RISQUE D INFLATION

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

White Paper - Livre Blanc

PLAN DE COURS. GPA750 Ordonnancement des systèmes de production aéronautique

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Système de stockage IBM XIV Storage System Description technique

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes

Sommaire. Introduction Définition Historique Domaine d application.2. 4.Les Travaux réalisés sur les domaines d application.

THÈSE. En vue de l obtention du DOCTORAT DE L UNIVERSITÉ DE TOULOUSE. Touria CHAFQANE BEN RAHHOU

ANALYSTE PROGRAMMEUR DIPLÔME D ÉTABLISSEMENT

Métrologie réseaux GABI LYDIA GORGO GAEL

Algorithmique I. Algorithmique I p.1/??

Modélisation de la Reconfiguration Dynamique appliquée à un décodeur LDPC Non Binaire

FORMAT FORMA ION SUR LA ION SUR LA GESTION DE PROJET & MS PROJECT

Transcription:

Ordonnancement Temps Réel Emmanuel GROLLEAU & Pascal RICHARD LISI/ENSMA {grolleau,richardp}@ensma.fr

2 Plan de la présentation 1. Introduction aux systèmes temps réel 1.1 Différents modèles de tâches 1.2 Caractérisation des tâches 1.3 Facteurs pratiques à intégrer 1.4 Problématique de la validation temporelle 2. Ordonnancement/Ordonnançabilité 2.1 Ordonnancement 2.2 Ordonnançabilité 3. Complexité 3.1 Complexité monoprocesseur 3.2 Complexité multiprocesseur 4. Techniques d analyse 4.1 Ordonnancement en-linge 4.2 Ordonnancement hors-ligne

3 1. Introduction aux systèmes temps réel Procédé «dynamique» contrôlé Contraintes temporelles sur le système de contrôle Système temps réel système rapide Un STR doit réagir à des événements externes Plusieurs paramètres d entrée et de sortie systèmes multitâches Hypothèse synchrone/asynchrone Traitement d un événement Evénements entrants invisibles Evénements entrants visibles Evénement Observation des événements E1 E2 E3 Occurrences d événements Chronogramme de fonctionnement d un système synchrone Observation des événements Occurrences d événements E1 E2 E3 Chronogramme de fonctionnement d un système asynchrone

4 1.1 Différents modèles de tâches Tâches et instances de tâches Fonctionnement d un STR = flot d instances (jobs) de tâches Chaque instance est déclenchée par un événement externe ou interne : Evénement périodique (ex: horloge temps réel, message ou synchronisation émis par une tâche périodique) Evénement non périodique (ex: interruption, message ou synchronisation émis par une tâche non périodique) Tâche apériodique pas de contraintes temporelles Tâche sporadique contraintes temporelles Il existe donc des STR à contraintes strictes et d autres à contraintes molles ou relatives, entre les deux: contraintes mixtes Les lois d arrivée peuvent donc être Périodiques Distribution aléatoire Contraintes (ex: délai minimal entre deux déclenchements)

5 1.2 Caractérisation des tâches Chaque tâche peut être caractérisée par une distribution probabiliste de différents paramètres temporels (souvent cette distribution est de 1 sur une seule valeur) Distribution des dates d activation des instances (cf transparents précédents) Première date de réveil (ou offset, arrival time, release time, phase) r i d une tâche périodique (si r i est inconnu on parle de systèmes offset free) Délai critique = délai imparti pour terminer l instance à partir de la date d activation Délai critique (ou relative deadline) D i Échéance=date à laquelle une instance doit être terminée Échéance (ou absolute deadline) d i Charge = durée maximale nécessaire à l exécution d une instance Charge (ou WCET pour Worst Case Execution Time) C i Beaucoup de modèles avec C i =distribution (partie optionnelle, facteur de QoS, conditionnelles, ) Période P i (pour tâches périodiques) si P i =D i tâche à échéance sur requête Exemple de paramètres dits (abusivement) de Liu&Layland pour des tâches périodiques C i Activation + Echéance Réactivation 0 Temps r i D i P i

6 1.3 Facteurs pratiques à intégrer Problèmes de calcul du WCET Exécution non strictement linéaire des tâches (conditionnelles, boucles) Contraintes inhérentes à l architecture cible Interruptions Manipulation des files d attente (processeur, sémaphores, queues ) Préemptions Mémoire cache Pipelines Délais de communication Sites et processeurs à disposition Le plus souvent, le temps est discrétisé en quanta uniformes donnés par les points de préemption possibles Cependant, sur un OS temps réel, le quantum minimal est de l ordre d une milliseconde Le WCET est souvent surestimé x10 ou plus

7 1.3 Facteurs pratiques à intégrer Préemption Tâches préemptibles ou non Exclusions mutuelles Précédence Précédences entre les tâches (impliquées par des attentes de messages, ou de synchronisation) Suspension E/S Changements de mode Tolérance aux fautes (notamment en réparti ou en présence de communications distantes)

8 1.4 Problématique de la validation temporelle Respect des contraintes d échéance des tâches pour toute instance à contrainte stricte Respect d échéances de bout en bout Validation (m,k) firm (m échéances respectées pour k instances successives) Tout en respectant les facteurs pratiques pris en compte Facteurs à optimiser Acceptation d apériodiques Gigue Temps de réponse maximal ou moyen

9 2. Ordonnancement/Ordonnançabilité Deux problèmes distincts Ordonnancement = trouver une séquence ou un algorithme respectant les contraintes d un STR Ordonnançabilité = problème de décision

10 2.1 Ordonnancement Problème = construction d une séquence valide Se base généralement sur une instance particulière d un système (tout est connu à l avance) Il peut être Dirigé par le temps (hors-ligne) Dirigé par les priorités (en-ligne) Priorités fixes ou variables Cyclique (basé sur les frames) Simulation Validation (ordonnancement ordonnançabilité) Anomalies de Richardson, instabilité des séquences Relâcher une contrainte peut transformer une séquence valide en séquence non valide (sauf tâches indépendantes monoprocesseur) De plus, réalisable uniquement si tout est fixé et connu à l avance

11 2.1 Ordonnancement Exemple d anomalie τ 3 τ 2 Utilisation de R Pas d utilisation de R τ 1 0 4 8 12 16 τ 3 Faute temporelle τ 2 τ 1 0 4 8 12 16

12 2.2 Ordonnançabilité Problème de décision : Instance Algorithme de décision {VRAI;FAUX} Vérifier l ordonnançabilité des tâches temps réel est un problème de décision

13 2.2 Ordonnançabilité Sensibilité aux dates de réveils des tâches Problème Standard : dates connues et fixes Problème à décalage libre (Offset free) : Dates inconnues Problèmes d existence Trouver des dates admissibles

14 3. Complexité Intérêt : Cartographie des problèmes de décision Concevoir un algorithme adapté au problème à résoudre Résultats communs pour l ordonnancement en-ligne et hors-ligne

15 3. Complexité du problème standard Tâches synchrones, indépendantes, préemption D i =T i : Polynomial (EDF optimal) autres cas : complexité ouverte, algorithmes pseudo-polynomiaux Tâches asynchrones, indépendantes, préemption co-np-complet au sens fort (Baruah et al, 1990) idem si priorités fixes connues (Leung et Whitehead, 1982)

16 3.1. Complexité Monoprocesseurs Tâches synchrones, sans préemption NP-Complet au sens fort (Mok, 1983) Tâches asynchrones, sans préemption NP-Complet au sens fort (Jeffay et al, 1991)

17 3.1 Complexité monoprocesseur Tâches avec des branches conditionnelles Ordonnancement des tâches à priorités (fixes et dynamiques) NP-Difficile (Chabraborty et al 2001)

18 3.1 Complexité Monoprocesseur En préemptif, suspensions des tâches les tâches séquentielles avec au plus une suspension les tâches séquentielles à échéance sur requête tâches multi-threads de durée unitaire NP-Difficile au sens fort (Richard, 2003)

19 3.2. Complexité multiprocesseur Ordonnancement sans migration NP-Difficile au sens fort (Leung, 82) Ordonnancement avec migration NP-Difficile au sens fort (Leung, 82)

20 4. Techniques d Analyse Analyse des algorithmes en-ligne Etude du comportement d un algorithme particulier (évaluation de performance) Affectation des priorités Analyse des algorithmes hors-ligne Construction d un ordonnancement faisable (Branch and Bound de Xu, Parnas) Modélisation des séquences faisables (ex: centre du langage reconnu par un automate)

21 4.1. Ordonnancement en-ligne Analyse du facteurs d utilisation du monoprocesseur U = n i= 1 C T i i Ex: Problème : tâches synchrones à échéances sur requête Décision avec EDF : U 1 Semi décision pour RM : U n ( 2 1 n 1)

22 4.1. Ordonnancement en-ligne Analyse de la demande processeur Durée cumulée d exécution des tâches par le processeur sur [0,L] (busy period) Test EDF (tâches synchrones, échéance sur requête) (Baruah, 90) Pour tout L 0, L n i= 1 L C Ti i

23 4.1 Ordonnancement en-ligne Analyse du temps de réponse Priorités fixes (Analyse RMA, Analyse Holistique ) Durée cumulée des tâches plus prioritaire que i i 1 t Wi ( t) = C i + j= Tj 1 C j Pire temps de réponse : plus petit point fixe de l équation W i ( t) = L analyse peut être facilement étendue à d autres problèmes (affectation des priorités, optimisation d un critère de performance) t

24 4.1. Ordonnancement en-ligne Pour modèle de tâches périodiques, synchrones Conditions nécessaires et suffisantes (algo. polynomiaux ou pseudo-polynomiaux) Avec des extensions (problèmes NP-difficiles) Conditions suffisantes (algo. pseudo-polynomiaux)

25 4.1. Ordonnancement en-ligne Décision d ordonnancement Ex: affectations des priorités fixes aux tâches (lorsque DM n est plus optimal) Tâches indépendantes : O(n 2 ) affectations à considérer (Audsley, 01) En distribué : techniques du type Branch and Bound (M. Richard, 02)

26 4.1. Ordonnancement en-ligne Optimisation d un critère de performance Minimiser l énergie consommée (Variable Voltage Scheduling) programmation mathématique non linéaire (cas continu) Minimiser la gigue de sortie (output jitter) Technique de modification des paramètres des tâches Minimiser le temps réponse moyen pondéré

27 4.2 Ordonnancement hors-ligne Pas d algorithme conservatif optimal Faute temporelle τ 1 τ 2 0 4 8 12 16 20 τ 1 τ 2 0 4 8 12 16 20 Temps creux obligatoire

28 4.2 Ordonnancement hors-ligne Permet d optimiser plusieurs critères en plus de la correction temporelle Modèles énumératifs des séquences valides Utilisation de modèles énumératifs (RdP, automates, géométrie ) du graphe des séquences valides Branch & Bound où chaque nœud est une séquence Modèles non déterministes Recuit simulé, Monte Carlo, colonies de fourmis, RdP Stochastiques Modèles symboliques Problème d explosion combinatoire Problème du WCET mixer hors-ligne pour les tâches à contraintes strictes/en-ligne pour les tâches de fond dans les temps creux prévus dus au WCET

29 4.2 Ordonnancement hors-ligne Méthode de Xu et Parnas (monoprocesseur, systèmes de tâches simultanées travail sur des instances (PPCM(P i )/P i instances de τ i ) Objectif: minimiser le retard maximal des instances jusqu à respecter toutes les échéances (ou jusqu à optimiser TR max ) Principe Chaque instance de tâche est découpée en segments autour des points de communication/synchronisation, chaque segment est muni de contraintes de précédence, et d exclusion vis-à-vis d autres Racine= séquence ED On considère le segment le plus en retard qu on cherche à exécuter plus tôt: l algorithme essaie donc de trouver d autres segments dans la période occupée : les fils d un nœud sont donc construits en ajoutant des contraintes d exclusion/précédence/préemption entre les segments de la période occuppée et le segment le plus en retard Extension de la méthode au multiprocesseur

30 4.2 Ordonnancement hors-ligne Graphe d ordonnancement obtenu par les techniques énumératives RdP, automates finis, géométrie M 0 τ 2 τ 1 τ c M c M c Problème: minimiser la portion construite

31 4.2 Ordonnancement hors-ligne Problème de la durée de simulation lorsque des tâches sont différées τ 1 τ 2 τ 3 Temps creux 0 1 3 4 7 8 11 12 13 15 16 19 20 Charge à traiter τ 1 τ 2 τ 3 τ 1 τ 2, τ 3 τ 3 τ 1 τ 1 τ 3 τ1 Cyclicité à t c +PPCM(P i )+1 avec -1 t c <PPCM(Pi) 4 3 2 τ 2 Problème ouvert en multiprocesseur avec migrations 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Temps