La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

5 – PARALLELISME , ORDONNANCEMENT

Présentations similaires


Présentation au sujet: "5 – PARALLELISME , ORDONNANCEMENT"— Transcription de la présentation:

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

2 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

3 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

4 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

5 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

6 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

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

8 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

9 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   }

10 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

11 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 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).

12 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 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).

13 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

14 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

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

16 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

17 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


Télécharger ppt "5 – PARALLELISME , ORDONNANCEMENT"

Présentations similaires


Annonces Google