5 – PARALLELISME , ORDONNANCEMENT

Slides:



Advertisements
Présentations similaires
Introduction à la Théorie des graphes
Advertisements

Introduction à la Théorie des graphes
Mémoire & Processus Cours SE - SRC
6.1 URDL22005 Systèmes dexploitation Ordonnancement du CPU Concepts de Base Critères dOrdonnancement Algorithmes dOrdonnancement Ordonnancement Multi-Processeur.
Module 4 - Ordonnancement Processus
Chapitre 2 Système d’Exploitation Gestion des Processus
Université Pierre et Marie Curie Laboratoire d’Informatique de Paris VI Département ASIM Analyse et résultats sur le dimensionnement des mémoires pour.
Ordonnancement (Scheduling)
Systèmes d’exploitation Processus conclusion Modèle conceptuel de processus Pour masquer les effets des interruptions, les SE fournissent un modèle conceptuel.
L’évaluation dans le cadre de l’approche par compétences
1 Bienvenue! INF3723: Systèmes d’exploitation Luigi Logrippo
Proposition d’une heuristique efficace pour l’ordonnancement des machines parallèles 1 Benjamin Vincent Nikolay Tchernev Christophe Duhamel Libo Ren 21e.
1 Ordonnancement Processus Chapitre 6
L’ordinateur et ses composants Un ordinateur est composée d'une unité centrale et de périphériques. Tous les périphériques sont branchés sur l'unité centrale.
Nouveaux programmes de Seconde Géométrie dans le plan et dans l'espace.
● Animation Pédagogique Saint Julien-Genevois Claude Gaspard CPC ● LA CONSTRUCTION DU NOMBRE ● Sources : ● Les instructions officielles ● Les travaux de.
Algorithmique ‘’ Un algorithme est une suite finie et non-ambiguë d’instructions permettant de donner la réponse à un problème. ‘’ Niveau de difficulté.
Module 13 : Implémentation de la protection contre les sinistres.
Classement alphabétique
Threads et Lightweight Processes
La Gestion du Temps.
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Les commandes du système de fichiers
Qu'est-ce que POSIX? Une librairie en langage C
Visite guidée - session 8 L’ordonnancement Métier : Fabrication
Semaine #1 INF130 par Frédérick Henri.
7 – COMMUNICATION INTER PROCESSUS SEGMENTS DE MÉMOIRE PARTAGEE
L'approche asynchrone.
Module 12 : Configuration et gestion des disques
Université Abou Bakr Belkaid Faculté des Sciences Département d’informatique Algorithmique Avancée et Complexité Chap5: Les méthodes de résolution exactes.
Algorithmique Avancée et Complexité Chap3:Diviser pour Régner
Techniques d’Optimisation Chapitre 2: Problème de flôt
Routage S 3 - Questionnaire N°1
Routage S 7 - Questionnaire N°1
Chapitre 12 Surveillance des ressources et des performances
CCNP Routage Chapitre 4 - Questionnaire N°1
Plan Introduction Parcours de Graphe Optimisation et Graphes
Routage S 3 - Questionnaire N°1
Elaboré par Ahmed BESSAIDI
Module 5 : Gestion des disques.
Université Abou Bakr Belkaid Faculté des Sciences Département d’informatique Algorithmique Avancée et Complexité Chap7: Les méthodes de résolution exactes.
République Algérienne Démocratique et Populaire Ministère de l'Enseignement Supérieur et de la Recherche Scientifique Université Saad.
INFORMATIQUE NAVAL Présentation: ESSO PIDE MALIK 1.
Ordonnancement Processus Lecture
Planification de la production
Construire un GANTT.
Machines, algorithmes et langage
A) Notions élémentaires A-1) LOI D'OHM CONVENTIONS D'ORIENTATIONS.
Calcul Relationnel Chapitre 4, Section 4.3.
REVUE DE LITTERATURE. Introduction Première partie majeure dans la rédaction du mémoire, la réalisation d’une revue de littérature consiste à effectuer.
Chapitre 2 Système d’Exploitation Gestion des Processus.
Module 12 : Configuration et gestion des disques
Ordonnancement Processus
BUFFER CIRCULAIRE Meryem EL BAKRI. PLAN Introduction Buffer circulaire Fonctionnement.
Prelude 7 ERP Detailed Scheduling 23/02/2019
Les erreurs de mesure Projet d’Appui au renforcement des capacités
Système d’exploitation: Principe IFT6800 – E 2008 Pierre Poulin.
Flowchart Itération Cours 04.
Piles et files.
1. Organiser le système d’information commerciale 1.1. Le contenu
Threads et Lightweight Processes
Ordonnancement des processus sous Windows NT
Encadré par : M. Mohammad EL GHABZOURI Elaboré par : - AZEGAMOUT Mohamed - ABOULKACEM abdelouahed - GOUN Ayoub EXPOSÉ Sous le thème : SER 2018 Parallélisme.
Test de performances. Test de performances:  Un test de performance est un test dont l'objectif est de déterminer la performance d'un système informatique.
Merise le modèle de traitement
Encadrée par: - Mr. Abdallah ALAOUI AMINI Réalisée par : -ERAOUI Oumaima -DEKKAR Amal - ES-SAHLY Samira -Houari Mohammed PROGRAMMATION MULTIOBJECTIFS.
A. Zemmari SDRP & MA Problème du rendez vous : un algorithme probabiliste et une analyse probabiliste A. Zemmari.
GESTION DE LA PRODUCTION Réalisé par : EL MAROUSSI Mohammed DRIOUCHI Mohammed Abdeljabbar WAKENNOU Salah CRMEF Grand Casablanca Cycle de préparation à.
Les Commandes de base Linux. 1 L’aide sur les commandes Linux ◦ help : obtenir de l’aide pour une commande interne du shell. Elle permet aussi d'afficher.
Transcription de la présentation:

5 – PARALLELISME , ORDONNANCEMENT UNIX AVANCE 5 – PARALLELISME , ORDONNANCEMENT Yves PAGNOTTE – Janvier 2011

PROCESSUS ET TACHES tâche : unité élémentaire de traitement ayant une cohérence logique relation de précédence entre deux tâches Ti et Tk : Ti < Tk si date de fin de Ti < date de début de Tk  relation d ’ordre et graphe de précédence

PARALLELISATION DE TACHES notation symbolique : parbegin entre ces deux mots clés d’algorithmie tout s’exécute en parallèle en C : traduction avec utilisation de fork parend

PROBLEME ... Comment paralléliser une chaîne de tâches ?  proposer un nouveau système de tâches : - équivalent = produisant le même résultat - et déterminé = produisant la même séquence d’informations dans toutes les cellules mémoires (i.e. les variables) utilisées

INTERFÉRENCE DE DEUX TÂCHES Def. : 2 tâches T1 et T2 sont non interférentes si : - T1 prédécesseur de T2 ou T2 prédécesseur de T1 ou LT1  ET2 = LT2  ET1 = ET1  ET2 =  avec LT1 : espace de lecture de T1 ET1 : espace d’écriture de T1

INTERFÉRENCE DE TÂCHES Théorème de Bernstein : un système de tâches 2 à 2 non interférentes est déterminé si un système est déterminé et si les domaines d ’écriture de toutes les tâches sont non vides, les tâches sont 2 à 2 non interférentes

REFORMULATION DU PROBLÈME Comment paralléliser une chaîne de tâches ?  proposer un nouveau système de tâches : - équivalent = produisant le même résultat (assez facile à vérifier) - non interférentes (Comment le vérifier ? Comment optimiser la parallélisation ?)

PARALLÉLISME MAXIMAL (OPTIMAL) - 1 Def.: un sytème de tâches est de parallélisme maximal si : - il est déterminé (= les tâches sont 2 à 2 non interférentes) - dans son graphe de précédence, la suppression de tout arc tel que (T1, T2) entraîne l’interférence de T1 et T2

PARALLÉLISME MAXIMAL (OPTIMAL) - 2 Théorème : Etant donné un système de tâches, il existe un unique système de tâches équivalent et de parallélisme maximal. Son graphe de précédence est la fermeture transitive de la relation : R = { (T1, T2) | T1 < T2 et (LT1  ET2   ou LT2  ET1   ou ET1  ET2  ) et ET1   et ET2   }

PARALLÉLISME MAXIMAL (OPTIMAL) - 3 Algorithme découlant du théorème : construire le graphe du système de tâches supprimer tous les arcs redondants tels que (A , B), c’est-à-dire tels qu’il existe un chemin de A à B comportant plus d’un arc

Donc 2 et 4 ne deviennent pas interférentes. Exemple : soit le système S Exemple : soit le système S Exemple : soit le système S Exemple : soit le système S 1 3 4 5   6 M = ( M1, M2, M3, M4, M5) L1 = { M1 } E1 = { M4 } L2 = { M3, M4 } E2 = { M1 } L3 = { M3, M4 } E3 = { M5 } L4 = { M4 } E4 = { M2 } L5 = { M5 } E5 = { M5 } L6 = { M1, M2 } E6 = { M4 } Si l'on supprime l'arc (2 , 4), 2 n'est ni prédécesseur, ni successeur de 4, mais L2  E4 = L4  E2 = E4  E2 = . Donc 2 et 4 ne deviennent pas interférentes. Donc le système S n'est pas de parallélisme maximal. On démontre qu’il est déterminé (démonstration à faire). M = ( M1, M2, M3, M4, M5) L1 = { M1 } E1 = { M4 } L2 = { M3, M4 } E2 = { M1 } L3 = { M3, M4 } E3 = { M5 } L4 = { M4 } E4 = { M2 } L5 = { M5 } E5 = { M5 } L6 = { M1, M2 } E6 = { M4 } Si l'on supprime l'arc (2 , 4), 2 n'est ni prédécesseur, ni successeur de 4, mais L2  E4 = L4  E2 = E4  E2 = . Donc 2 et 4 ne deviennent pas interférentes. Donc le système S n'est pas de parallélisme maximal. On démontre qu’il est déterminé (démonstration à faire).

On construit le graphe de R : il comporte nécessairement les arcs : Exemple : soit le système S Exemple : soit le système S Exemple : soit le système S On construit le graphe de R : il comporte nécessairement les arcs : (1 , 2) car L1  E2 = { M1 } (1 , 3) L3  E1 = { M4 } (1 , 4) L4  E1 = { M4 } (1 , 6) E6  E1 = { M4 } (2 , 6) L2  E6 = { M4 } (3 , 5) E3  E5 = { M5 } (3 , 6) L3  E6 = { M4 } (4 , 6) L4  E6 = { M4 }   Les arcs (1,5) , (2,4) , (3,4) et (5,6) ont été supprimés.  L'arc (1 , 6), redondant, peut être supprimé. D'où le système de parallélisme maximal équivalent à S : 1 2 4 3 5 6 M = ( M1, M2, M3, M4, M5) L1 = { M1 } E1 = { M4 } L2 = { M3, M4 } E2 = { M1 } L3 = { M3, M4 } E3 = { M5 } L4 = { M4 } E4 = { M2 } L5 = { M5 } E5 = { M5 } L6 = { M1, M2 } E6 = { M4 } Si l'on supprime l'arc (2 , 4), 2 n'est ni prédécesseur, ni successeur de 4, mais L2  E4 = L4  E2 = E4  E2 = . Donc 2 et 4 ne deviennent pas interférentes. Donc le système S n'est pas de parallélisme maximal. On démontre qu’il est déterminé (démonstration à faire).

ORDONNANCEMENT (1) critères d’une méthode d’ordonnancement de processus : équité  répartition du temps processeur, mais aussi des autres ressources (mémoires, périphériques,…) pas de « famine » efficacité  le processeur travaille si possible à 100 % temps d’attente  à minimiser temps de réponse  à minimiser

ORDONNANCEMENT (2) 2 familles de méthodes : sans réquisition ou non préemptif un nouveau processus désigné après blocage ou fin du processus en cours avec réquisition ou préemptif à intervalle régulier, l ’ordonnanceur désigne un nouveau processus

ORDONNANCEMENT SANS RÉQUISITION premier entré, premier sorti (first come-firts served, FCFS) privilégie les processus consommateurs de l’UC dégrade l’utilisation des E/S plus court d’abord (shortest job first, SJF) basé sur une estimation du nombre de cycles processeurs (FCFS pour départager les ex-aequo) favorise les travaux courts (héritage de l’époque batch)

ORDONNANCEMENT AVEC RÉQUISITION tourniquet (round robin, RR) quel quantum de temps ? liste circulaire PCTER (shortest remaining time, SRT) - désigner la tâche dont le temps d ’exécution restant est le plus faible  minimise l’attente moyenne - privilégie les travaux courts

ORDONNANCEMENT AVEC RÉQUISITION variante : les processus ont chacun une priorité et on gère un tourniquet par niveau de priorité  avec priorités recalculées périodiquement (allocation dynamique de priorité) il existe des algorithmes plus sophistiqués pour prendre en compte les échanges mémoire-disque et le parallélisme