C01: Traitement concourant et ordonnancement

Documents pareils
Ordonnancement temps réel

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

M06/5/COMSC/SP1/FRE/TZ0/XX INFORMATIQUE NIVEAU MOYEN ÉPREUVE 1. Mardi 2 mai 2006 (après-midi) 1 heure 30 minutes INSTRUCTIONS DESTINÉES AUX CANDIDATS

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

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

REALISATION d'un. ORDONNANCEUR à ECHEANCES

Cours A7 : Temps Réel

Erreur statique. Chapitre Définition

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)?

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

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : hivert

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

Cours de Systèmes d Exploitation

Cours de Programmation en Langage Synchrone SIGNAL. Bernard HOUSSAIS IRISA. Équipe ESPRESSO

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Réseaux grande distance

Données Réparties. Thibault BERNARD.

Chapitre 4 : Les mémoires

Asynchronisme : Cadres continu et discret

Introduction aux algorithmes répartis

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Introduction à la Programmation Parallèle: MPI

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

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

= constante et cette constante est a.

Chapitre 3: TESTS DE SPECIFICATION

ARBRES BINAIRES DE RECHERCHE

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

Logiciel Libre Cours 3 Fondements: Génie Logiciel

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

Parallélisme et Répartition

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

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

Quelques tests de primalité

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation

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

Compression Compression par dictionnaires

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

Projet Active Object

SYSTÈME DE GESTION DE FICHIERS

Programmation linéaire

Patentamt JEuropaisches. European Patent Office Numéro de publication: Office européen des brevets DEMANDE DE BREVET EUROPEEN

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Conception des systèmes répartis

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

Notions d asservissements et de Régulations

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

Introduction à l étude des Corps Finis

Gestion hybride de la mémoire dynamique dans les systèmes Java temps-réel

Optimisation multi-critère pour l allocation de ressources sur Clouds distribués avec prise en compte de l énergie

Modélisation et Simulation

Un exemple d étude de cas

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

Systèmes de transmission

COMPOSANTS DE L ARCHITECTURE D UN SGBD. Chapitre 1

Liste des Paramètres 2FC4...-1ST 2FC4...-1PB 2FC4...-1PN 2FC4...-1SC 2FC4...-1CB

Programmation linéaire

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

L efficience énergétique...

PROJET DE TRAIN LÉGER SUR RAIL D OTTAWA ACCORD DE CONTRIBUTION AVEC LE MINISTÈRE DES TRANSPORTS DE L ONTARIO APERÇU DE LA STRUCTURE ET DU CONTENU

Master IMA - UMPC Paris 6 RDMM - Année Fiche de TP

Figure 3.1- Lancement du Gambit

Par : Abdeljalil Chaouki, Conseiller de maintenance industrielle

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

L objectif de ce cycle est de former des techniciens supérieurs spécialisés dans l administration et la gestion de bases de données et des réseaux.

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

1 Si par exemple le choix est entre une thérapie pris en charge par le système de santé public et une thérapie à 100 la séance,

NOTIONS DE RESEAUX INFORMATIQUES

NIVEAU D'INTERVENTION DE LA PROGRAMMATION CONCURRENTE

Initiation à la programmation en Python

Conditions générales d affaires (CGA) Portail clients SanitasNet

Comment rembourser votre hypothèque plus rapidement

Console IAP Manuel d utilisation

Gérer la répartition des charges avec le load balancer en GLSB

Windows Internet Name Service (WINS)

1.6- Génération de nombres aléatoires

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

NOTICE TELESERVICES : Payer un impôt et gérer les contrat de paiement des impôts professionnels

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Charte d audit du groupe Dexia

Transmission d informations sur le réseau électrique

QUESTION 1 {2 points}

Votre Réseau est-il prêt?

Baccalauréat L spécialité, Métropole et Réunion, 19 juin 2009 Corrigé.

Internet et Multimédia Exercices: flux multimédia

L entreprise prête pour l informatique en nuage Élaborer un plan et relever les principaux défis

Switches Gigabit ProSAFE Plus

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

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

Differential Synchronization

Algorithmique et Programmation Fonctionnelle

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

CEG4566/CSI4541 Conception de systèmes temps réel

La solution d affacturage

MODELES DE DUREE DE VIE

VMT Mod : Ventilation modulée pour le tertiaire

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

FAQ RENOUVELLEMENT QUESTIONS ESSENTIELLES AU RENOUVELLEMENT :

V- Manipulations de nombres en binaire

Transcription:

C01: Traitement concourant et ordonnancement traitement concourant processus: types, états ordonnancement et ordonnanceur SO préemptive contraintes temporelles contraintes binaires mesures de performance: Ri, TL O: problème PO et solution SPO gestionnaire cyclique SVPO et SO

Traitement concourant Plusieurs processus pour réaliser une application: Coopération (partage des tâches); Compétition (partage des ressources). Potentiellement un traitement parallèle (P > 1).

SPTR C01: Traitement concourant et ordonnancement Application continue (durée indéfinie). Contraintes temporelles pour les processus concourants. Architecture matérielle variable: nombre de processeurs; topologie du réseau d interconnexion.

Besoins en gestion logicielle des SPTR Prévisibilité. Supervision des processus. Synchronisation et communication. Évitement des impasses. Détection et traitement des surcharges. Modifiabilité. Fiabilité.

Définition du processus Un processus est: un traitement séquentiel (défini par un programme); les données qu il utilise; les ressources qu il utilise. Les ressources peuvent être matérielles ou logicielles.

Périodique versus sporadique Processus périodique: s exécute à fréquence régulière; augmente la prévisibilité des STR. Processus sporadique: s exécute seulement au besoin. Mélange de processus périodiques et sporadiques: rend l analyse des STR plus complexe.

Partitionnement en processus Un processus dédié pour: contrôle d un périphérique lent; fonction critique et de grande priorité; fonction demandant de longs calculs; fonctions interdépendantes; modules mis en action par les mêmes événements; module qui s exécute périodiquement.

État d un processus C01: Traitement concourant et ordonnancement Quatre états possibles: en exécution; suspendu; bloqué; en veilleuse. L état peut changer à chaque unité de temps (u.t.).

Transitions entre les états C01: Traitement concourant et ordonnancement en exécution bloqué suspendu en veilleuse

C05: Processus indépendants Transitions entre les états u.t. i u.t. i + 1 Exécution Exécution Suspendu Bloqué Veilleuse le plus prioritaire ressource libérée et le plus prioritaire réactivé (début d une nouvelle période ou sporadique) et le plus prioritaire Suspendu pas le plus prioritaire ressource libérée mais pas le plus prioritaire réactivé mais pas le plus prioritaire Bloqué Veilleuse le plus prioritaire et ressource occupée ou attend le deuxième processus pour une communication traitement terminé ou échéance ratée échéance ratée réactivé et le plus prioritaire mais ressource occupée ou attend le deuxième processus pour une communication pas réactivé

Ordonnancement Objectif: Déterminer, pour chaque processeur, quel processus doit être dans l état «en exécution» à chaque u.t. Contrainte: Assurer que les contraintes temporelles des différents processus du SPTR sont respectées. L ordonnanceur a la charge de faire l ordonnancement.

Difficulté croissante (processus périodiques) 1 processus sur 1 processeur. 1 processus par processeur. N processus indépendants sur 1 processeur. N processus indépendants sur M processeurs. N processus interdépendants sur 1 processeur. N processus interdépendants sur M processeurs.

Ordonnanceur C01: Traitement concourant et ordonnancement Rôle: reçoit les demandes d interruption; reçoit les messages d un processus en exécution; maintient les listes des états des processus; effectue les changements d état des processus.

Ordonnanceur Ressource? Processus sporadique

Ordonnanceur L ordonnanceur change le processus en exécution si: ce dernier a terminé son traitement; ce dernier a raté son échéance (STR sévère); ce dernier est en attente d un événement; ce dernier est bloqué (ressource requise non disponible); un autre processus prêt est plus prioritaire.

Descripteur de processus Un descripteur de processus contient: l état actuel du processus; sa priorité; la liste des événements et ressources qu il attend; l adresse de départ de son code programme; ses variables locales; son contexte.

Ordonnancement basé sur les priorités Exécution du processus prêt le plus prioritaire.

Stratégie «round-robin»

Stratégies avec préemption But: respecter les contraintes temporelles des processus. Moyen: un processus en exécution peut être suspendu à n importe quelle u.t. en fonction de sa priorité relative déterminée par la stratégie d ordonnancement. Nécessaire dans les SPTR. Deux types de stratégies: statiques: priorités fixées au départ. dynamiques: priorités réévaluées à chaque u.t.

Problèmes possibles Processus indépendants: chargement temporel trop élevé sur un des processeurs. Processus interdépendants: blocage d un processus par un autre moins prioritaire; inversion des priorités; impasse. Explications et exemples à venir

Contraintes temporelles d un processus Paramètres discrets (u.t.): p i : nom du processus; b i : contrainte de début; c i : temps de calcul; T i : période d exécution; d i : contrainte de fin; f i : fréquence d exécution (= 1/ T i ); e i : temps maximum écoulé.

Contraintes temporelles d un processus ci < di bi < Ti < bi préemption ei période de l ordonnanceur (unité de temps: u.t). > di = ci

Allocation et ordonnancement Dans le cadre du cours SPTR, on supposera: une allocation statique d un sous-ensemble des processus sur chacun des processeurs disponibles; un ordonnancement indépendant sur chaque processeur; la résolution des conflits entre les ordonnancements individuels résultant du partage des ressources (projet).

Échelle de temps discrète O 1 1 2 1 2 1 1 2 2 X 1 2 1 2 3 4 5 6 7 8 9 10 11 12 N p1 p2 E E C R E 1 2 3 4 5 E C R E 1 2 3 4

Il ne faut pas confondre: Contrainte de début b i C01: Traitement concourant et ordonnancement début de la période du processus: tous les processus périodiques débuteront leur première période à la première unité de temps (déphasage nul). début possible du calcul du processus dans sa période: paramètre b i. Exemple: P 1 avec T 1 =20 et b 1 =2. début de la deuxième période de P 1 1 2 20 22

Contraintes binaires entre les processus égalité bi di t précédence rencontre recouvrement début inclusion terminaison

Mesures de performance Les stratégies d ordonnancement des SPTR peuvent être évaluées selon trois mesures globales de performance: temps de réponse (R): délai entre un événement et la fin de son traitement; chargement temporel (TL): taux d utilisation ou d occupation d un processeur; chargement de la mémoire: pourcentage de la mémoire qui est utilisé.

Problème C01: Traitement concourant et ordonnancement Problème d ordonnancement (PO): Ensemble de spécifications sur les processus d un SPTR et leurs contraintes temporelles ainsi que sur leurs interdépendances dans l accès aux ressources. Catégorie de PO (CPO): Ensemble de PO dont les spécifications respectent des contraintes générales. Par exemple, tous les PO pour lesquelles les processus sont périodiques et ont des échéances égales à leur périodes.

Solution C01: Traitement concourant et ordonnancement Solution d un PO (SPO): Ordonnancement (O) ou ordre temporel d exécution des processus du PO. Stratégie d ordonnancement (SO): Une SO est un algorithme générant une SPO pour chaque PO d une CPO. Solution valide d un PO (SVPO): SPO pour laquelle O respecte les contraintes temporelles et autres du PO, de façon continue.

Analyse C01: Traitement concourant et ordonnancement Réalisabilité d un PO: Un PO est réalisable s il est possible de trouver une SVPO pour ce PO. Optimalité d une SO: Une SO est optimale, pour une CPO donnée, si son application génère une SVPO pour chaque PO de cette CPO qui est réalisable.

Gestionnaire cyclique C01: Traitement concourant et ordonnancement Ce qui est fixé: CPO: processus périodiques avec contraintes; un seul processeur; format de la SPO. Ce qui n est pas fixé: SO.

Gestionnaire cyclique Longueur des périodes: multiple de la plus courte période. Période la plus longue: cycle majeur. Période la plus courte: cycle mineur. Cycle majeur = PPCM des périodes.

Gestionnaire cyclique Chaque processus est divisé en un ou plusieurs blocs. Chaque bloc dure une ou plusieurs unités de temps. Chaque bloc s exécute sans préemption.

Gestionnaire cyclique Le gestionnaire boucle sur la durée du cycle majeur. Chaque itération comporte un nombre fixe de cycles mineurs. Un ou plusieurs blocs sont exécutés durant chaque cycle mineur. Ordre d exécution fixe des blocs doit être choisi. L objectif est que la SPO résultante soit une SVPO.

Gestionnaire cyclique Avantages: plus simple et efficace qu un ordonnanceur général; changements de contexte choisis et rapides; partage des ressources facilité.

Gestionnaire cyclique Inconvénients: ne peut pas traiter les processus sporadiques; impose des périodes multiples aux processus; impose des cycles mineur et majeur; cycle mineur inférieur ou égal à chaque échéance.

Gestionnaire cyclique Inconvénients (suite): pas de SO générale assurant ou favorisant une SVPO; division en blocs pas toujours facile; difficile de bien choisir la SPO s il y a plusieurs processus; difficile de bien choisir la SPO si le cycle majeur est long.

Gestionnaire cyclique Exemple (pi:ci,ti,di): PO: (p1:1,10,10), (p2:3,10,10), (p3:2,20,20), (p4:8,20,20) Cycle majeur: 20 u.t Cycle mineur: 10 u.t. SPO arbitraire: 1111111111111111111111 SPO arbitraire: 12341234123412341234 Nombre de SPOs sur 20 u.t. = 4 20 = 1 099 511 627 776

C01: Traitement concourant et ordonnancement Gestionnaire cyclique Un bloc pour p1,p2,p3. Deux blocs pour p4 (2 u.t et 6 u.t.) b1 = 1; b2 = 222; b3 = 33; b4.1 = 44; b4.2 = 444444. SPO gestionnaire cyclique: b1b1b1b1b1xxxxxb2b2b2x Nombre de SPOs pour gestionnaire cyclique avec ces blocs? Nombre de SVPOs pour gestionnaire cyclique avec ces blocs? Chacun des deux cycles mineurs comprend b1 et b2 (4 u.t.). Chaque cycle majeur comprend b3, b4.1, b4.2, x.1, x.2 (12 u.t.). Nombre de possibilités pour chaque cycle mineur? Nombre de possibilités résultantes pour cycle majeur?

Gestionnaire cyclique SVPO gestionnaire cyclique: 1 er cycle mineur = b1b2b3b4.1xx = 12223344xx 2 ième cycle mineur = b1b2b4.2 = 1222444444 O = 12223344xx1222444444 États p1 = EVVVVVVVVVEVVVVVVVVV États p2 = SEEEVVVVVVSEEEVVVVVV États p3 = SSSSEEVVVVVVVVVVVVVV États p4 = SSSSSSEESSSSSSEEEEEE

SPO C01: Traitement concourant et ordonnancement Soit i, un entier correspondant au rang du processus dans le PO. (i = 1, 2,, #PO). Un ordonnancement O = SPO sur une période PN est une suite de PN nombres choisis entre 0 et n où n est le nombre de processus dans le PO.

SPO Pour chacune des PN unités de temps de la période finie, la valeur du nombre dans un ordonnancement donné indique le processus qui s exécute durant cette unité de temps, pour cet ordonnancement. Le nombre 0 indique qu aucun des n processus ne s exécute. On peut aussi utiliser le symbole x pour indiquer que le processeur est inactif durant cette unité de temps.

#TO C01: Traitement concourant et ordonnancement Soit TO, l ensemble de tous les ordonnancements possibles pour une CPO définie par n, le nombre de processus. TO = { SPO } est un ensemble fini ssi l ordonnancement est sur une période finie de PN unités de temps. #TO est le nombre total d ordonnancements différents dans un TO fini.

#TO C01: Traitement concourant et ordonnancement La valeur de #TO dépend seulement de PN et n. #TO = (n+1) PN. Exemples: PN = 1, n = 1 donne #TO = 2: O = 1 et O = x. PN = 2, n = 1 donne #TO = 4: O = xx, O = x1, O = 1x, O = 11.

#TO PN = 2, n = 2 donne #TO = 9: TO = { (xx), (x1), (x2), (1x), (11), (12), (2x), (21), (22) }. PN = 30, n = 3 donne #TO =? #TO = 1 152 921 504 606 846 976. PN = 70, n = 3 donne #TO = 1.39 x 10 42.

SO statiques C01: Traitement concourant et ordonnancement #TOS est le nombre total d ordonnancements, différents ou non, que l on peut obtenir par n importe quelle SO statique pour un PO donné. Pour n processus, il y a n! ordres de priorité possibles. #TOS = n!

SO dynamiques #TOD est le nombre total d ordonnancements, différents ou non, que l on peut obtenir par n importe quelle SO dynamique pour un PO donné. Pour n processus, il y a n! ordres de priorité possibles à chaque unité de temps. #TOD = (n!) PN. Pour n > 2, n! > (n+1), donc #TOD > #TO, ce qui fait que certains des #TOD ordonnancements doivent être identiques.

SVPO C01: Traitement concourant et ordonnancement Contraintes à respecter pour qu une SPO, générée par une SO pour un PO formé de processus périodiques, soit une SVPO: SPO est périodique, de période PN; PN est égal au plus petit commun multiple (PPCM) des périodes des processus du PO;

SVPO C01: Traitement concourant et ordonnancement pour chaque processus pi du PO et pour chaque période complète de durée Ti durant les premières PPCM unités de temps, le nombre i apparaît exactement ci fois; pour chaque processus pi du PO et pour chaque période complète de durée Ti durant les premières PPCM unités de temps, la dernière apparition du nombre i se produit avant ou au moment de l échéance de pi durant sa période; pour chaque processus pi du PO et pour chaque période complète de durée Ti durant les premières PPCM unités de temps, la première apparition du nombre i se produit après ou au moment de la contrainte de début de pi durant sa période.

SVPO C01: Traitement concourant et ordonnancement Pour un PO donné, il peut exister aucune, une ou plusieurs SVPO. S il n existe aucune SVPO, on dit que le PO n est pas réalisable. S il existe une ou plusieurs SVPO, on dit que le PO est réalisable.

SVPO S il existe plusieurs SVPO, on peut choisir la meilleure sur la base de critères de qualité: un nombre minimum de changements de contexte (quand deux unités de temps consécutives de l ordonnancement n ont pas le même nombre); retard maximum des unités de temps où le processeur est inactif; ordre de priorité d exécution des processus;

SO C01: Traitement concourant et ordonnancement Stratégie d ordonnancement SO: algorithme transformant le critère de priorité des processus dans l évaluation de la qualité d une SVPO en une contrainte supplémentaire pour une SPO. Une SO (déterministe) réduit #TO à 1 peu importe les valeurs de n et de PN. L ordonnancement produit par une SO pour un PO donné peut être une SVPO ou non.

SO Si l ordonnancement produit par une SO pour un PO donné est une SVPO, on peut conclure que le PO est réalisable (CS: condition suffisante). Si l ordonnancement produit par une SO pour un PO donné n est pas une SVPO, on ne peut rien conclure sur la réalisabilité du PO sauf si on sait que la SO est optimale; dans ce cas, on peut conclure que le PO n est pas réalisable. Si l ordonnancement produit par une SO pour chaque PO réalisable d une CPO donnée est une SVPO, on peut conclure que la SO est optimale pour cette CPO.