Synthse des outils de paralllisation - PowerPoint PPT Presentation

1 / 56
About This Presentation
Title:

Synthse des outils de paralllisation

Description:

Les capacit s des machines ex cuter plusieurs instructions en parall le ... Adresser. Timbrer. 30. Matthieu P rotin - LI Tours. Parall liser - Algorithmes. Premi re ... – PowerPoint PPT presentation

Number of Views:52
Avg rating:3.0/5.0
Slides: 57
Provided by: matthie49
Category:

less

Transcript and Presenter's Notes

Title: Synthse des outils de paralllisation


1
Synthèse des outils de parallélisation
  • Matthieu Pérotin
  • LI Tours

2
Plan (1/2)
  • Introduction
  • Pourquoi ?
  • Rappels architecturaux
  • Paralléliser
  • Modèles de parallélisation
  • Algorithmes parallèles
  • Évaluation de la qualité

3
Plan (2/2)
  • Exemple avancé
  • Procédures par Séparation et Évaluation
  • Conclusion

4
Introduction
  • Pourquoi Paralléliser ?
  • Gagner du temps
  • La modélisation parallèle est parfois évidente
  • Comment paralléliser ?
  • Question non triviale
  • Propre à chaque architecture
  • Propre à chaque problème

5
Introduction
  • Rappels architecturaux
  • Flynn (1972) propose une classification basée
    sur
  • Les capacités des machines à exécuter plusieurs
    instructions en parallèle
  • Les capacités à lire plusieurs sources
    dinformations simultanément

6
Introduction
  • 4 catégories
  • Single Instruction Single Data

Processeur
Mémoire
Unité de Commande
U.A.L
Bus dinterconnexion
7
Introduction
  • Multiple Instructions Single Data

Processeur
Unité cde 3
U.A.L 3
Unité cde 2
U.A.L 2
Mémoire
Unité cde 1
U.A.L 1
Bus dinterconnexion
8
Introduction
  • Single Instruction Multiple Data

Processeur
Unité de Commande
Mémoire
U.A.L
U.A.L
U.A.L
Bus dinterconnexion
9
Introduction
  • Multiple Instruction Multiple Data

Processeur 1
Processeur n
Mémoire
Unité de Commande
U.A.L
Unité de Commande
U.A.L
Bus dinterconnexion
10
Introduction
  • Classification étendue par Johnson (1988)
  • Tient compte des types daccès mémoire
  • Uniform Memory Access (UMA)

Processeur 1
Processeur n
Mémoire
Unité de Commande
U.A.L
Unité de Commande
U.A.L
Bus dinterconnexion
11
Introduction
  • Non Uniform Memory Access (NUMA)

Mem
Mem
Processeur n
Processeur n
Unité de Commande
U.A.L
Unité de Commande
U.A.L
Bus dinterconnexion
Bus dinterconnexion
Bus dinterconnexion
12
Introduction
  • No Remote Memory Access (NORMA)

Mem
Mem
Processeur n
Processeur n
Unité de Commande
U.A.L
Unité de Commande
U.A.L
Bus dinterconnexion
Bus dinterconnexion
13
Introduction
  • Il est important de tenir compte de
    larchitecture matérielle de lordinateur qui va
    exécuter le code
  • En particulier cette architecture détermine le
    grain de lapplication
  • Le grain est la taille des unités de calcul
  • On peut le définir comme le rapport des temps de
    communication sur le temps dexécution

14
Intoduction
  • Les architectures MIMD/NORMA sont peu adaptées
    aux applications à grain fin
  • Une architecture MIMD/UMA lest beaucoup plus

15
Plan
  • Introduction
  • Pourquoi ?
  • Rappels architecturaux
  • Paralléliser
  • Modèles de parallélisation
  • Algorithmes parallèles
  • Évaluation de la qualité

16
Paralléliser
  • Démarche détude
  • Quels sont les modèles existants ?
  • Quest-ce quun algorithme parallèle ?
  • Comment évaluer sa qualité ?

17
Paralléliser Modèles
  • Modèles de parallélisme
  • Un modèle de parallélisme est une description
    abstraite dune machine parallèle.
  • Deux grands modèles
  • Mémoire partagée
  • Réseau dinterconnexion

18
Paralléliser - Modèles
  • Mémoire partagée
  • Les processeurs accèdent tous de manière
    identique à une zone de mémoire unique

P1
Unité dAccès Mémoire
Mémoire partagée
P2
Pn
19
Parallélisme - Modèles
  • Dans ce modèle
  • Les processeurs utilisent la mémoire pour
    communiquer les uns avec les autres
  • Un mécanisme dexclusion mutuelle est mis en
    place
  • Plusieurs processeurs peuvent lire la même
    adresse
  • Un seul peut y écrire à un moment donné

20
Parallélisme - Modèle
  • Mémoire partagée
  • Existence physique
  • Systèmes SMP
  • Systèmes UMA
  • Existence logique
  • SSI
  • Attention ceci ne remet pas en cause la
    classification matérielle !

21
Paralléliser - Modèles
  • Réseau
  • Les processeurs disposent chacun dune mémoire
    qui leur est propre, mais sont reliés par un
    réseau

22
Parallélisation - Modèles
  • Dans ce modèle
  • Les processeurs communiquent par échange de
    message
  • Mécanisme dexclusion mutuelle (ou pas) au niveau
    de laccès réseau

23
Paralléliser - Modèles
  • Réseau dinterconnexion
  • Existence physique
  • Salle de TP
  • Existence logique
  • MPI, PVM

24
Parallélisation - Algorithmes
  • Quest-ce quun algorithme parallèle ?
  •  Un algorithme parallèle est une méthode de
    résolution dun problème dans laquelle le
    problème est découpé en sous problèmes de taille
    inférieure qui sont résolus de façon simultanée 
    Akl00
  • Attention la simultanéité est ici un concept
    logique
  • Ex application multi-threadée sexécutant sur un
    unique processeur

25
Paralléliser - Algorithmes
  • Formalisme
  • Graphique Diagramme de Gantt

P1
P2
P3
P2
M1
t
P2
M2
P1
P3
M1
t
26
Paralléliser - Algorithmes
  • Formalisme
  • Graphique diagramme de Gantt

P2
M2
P1
P3
M1
P2
P4
M2
P1
P3
M1
27
Paralléliser - Algorithmes
  • Formalisme
  • Graphique diagramme de précédence

P2
P4
P1
P3
P5
P6
28
Parallélisme - Algorithmes
  • Formalisme théorique
  • On suppose disposer de nouvelles primitives en
    pseudo code
  • Démarrer(tache(arguments))Lance la tâche en
    parallèle, de manière non bloquante
  • Envoyer(P, message) et Recevoir(P, message)Pour
    échanger des messages avec le processeur P
  • Limplémentation effective de ces primitives
    dépend du modèle et de larchitecture

29
Paralléliser - Algorithmes
  • Exemple
  • On doit effectuer un mailing
  • 1000 courriers à envoyer
  • Plier une feuille
  • Mettre dans une enveloppe
  • Adresser
  • Timbrer

30
Paralléliser - Algorithmes
  • Première version, séquentielle
  • Tant que les 1000 enveloppes ne sont pas faites
  • Traiter lenveloppe

P1
M1
31
Paralléliser - Algorithmes
  • Deuxième version, parallèle
  • On invite 4 amis à participer, chacun fait 200
    enveloppes
  • Pourquoi notre algorithme parallèle nest-il pas
    optimal ?

32
Paralléliser - Algorithmes
P11
P12
P13
P14
P15
P1
P11
M1
t
P12
M2
P13
M3
P14
M4
P15
M5
t
33
Paralléliser - Algorithmes
  • Une nouvelle version de lalgorithme serait
  • Tant que 1000 enveloppes nont pas été faites,
    faire des enveloppes
  • Induit un coût de synchronisation supplémentaire

Pe
Pe
Pe
Pe
Pe
Pe
Pe
Pe
Pe
Pe
Pe
Pe
Pe
Pe
Pe
Pe
Pe
Pe
Pe
Pe
Pe
34
Paralléliser - Algorithmes
  • On peut aussi décider que chacun a une tâche bien
    définie
  • Lun timbre, lautre écrit les adresses
  • Sans se préoccuper des autres

Un stock apparaît en entrée Pour chaque enveloppe
traitée, 3 arrivent
P
I
A
T
35
Paralléliser - Algorithmes
  • Sur cet exemple simple, nous navons pas réfléchi

P
I

E
E
E
E
E
A
T
36
Paralléliser - Algorithme
  • Nous allons faire les opérations dans un autre
    ordre
  • Plus de stock et la date de fin reste inchangée

P
A
I
P
A
I
T
T
37
Paralléliser - Algorithmes
  • Autre possibilité, je mautorise à avoir du stock

A
P
I
T
  • Date de fin réduite

38
Paralléliser - Qualité
  • Disposer de critères dévaluation est
    indispensable
  • 3 principaux critères
  • Le temps dexécution total (Makespan, Cmax)
  • Le nombre de processeurs
  • Le coût

39
Parallélisme - Qualité
  • Temps total dexécution
  • Critère  intuitif  moins un algorithme met de
    temps à sexécuter, meilleur est cet algorithme
  • Dépend généralement de la taille des données,
    t(n)
  • Problème évaluer le temps dexécution dun
    algorithme est un problème ouvert

40
Parallélisation - Qualité
  • Nombre de processeurs p(n)
  • Pour des raisons économiques, il est important de
    prendre en compte le nombre de processeurs que
    nécessite un algorithme
  • Quand le nombre de processeurs augmente, le Cmax
    diminue (en général)

41
Parallélisation - Qualité
  • Plusieurs coûts possibles
  • Coût des communications
  • Coût de stockage (espace mémoire)
  • Coût dinactivité des machines

42
Parallélisation - Qualité
  • Les critères dévaluation sont souvent
    contradictoires
  • Nous sommes bel et bien face à des problèmes
    doptimisation multi-critères
  • Lintervention dun décideur est essentielle
  • On peut proposer un outil daide à la décision,
    mais pas un outil de décision automatique

43
Plan
  • Exemple avancé
  • Procédures par Séparation et Évaluation
  • Conclusion

44
Les PSE
  • Principe en exemple
  • Le problème du voyageur de commerce (PVC)

2
c12
c23
1
c25
c24
c13
1,5,4,2,3
3
c15
c35
5
c34
c14
c45
4
45
Les PSE
  • Le PVC est un problème NP-Difficile
  • Pas dautre choix que dessayer toutes les
    possibilités si lon veut trouver la solution
    optimale
  • (n-1)! possibilités

46
Les PSE
  • Construction de notre PSE

1
1
2
3
4
5
1,2 c12
1,3 c13
1,4 c14
1,5 c15

6
1,2,3 c12 c23
7
1,2,4 c12 c24
Si Cn lt c15 il nest pas nécessaire dexplorer
les solutions qui découlent du nud 5
1,2,3,5,4 Cn
n
47
Les PSE
  • En fait une PSE permet une énumération implicite,
    et pas trop bête
  • On nexplore que les solutions à même de donner
    une solution meilleure que celles que lon
    connaît déjà
  • Deux règles de coupe
  • Tests de borne inférieure
  • Tests de dominance

48
Les PSE
  • Exemple de tests de dominance
  • Soit les deux solutions partielles
  • 1,2,3,4 de coût c12c23c34 z1
  • 1,3,2,4 de coût c13c32c24 z2
  • Si z1 z2 alors on dit que z1 domine z2
  • On explorera quun des deux sous arbres au départ
    des noeuds

49
Paralléliser une PSE
  • Larbre dune PSE peut être vu comme un diagramme
    de précédence
  • Le parallélisme apparaît donc de manière limpide

50
Paralléliser une PSE
  • Par exemple

1
1
2
3
4
5
1,2 c12
1,3 c13
1,4 c14
1,5 c15

6
7
1,2,4 c12 c24
1,2,3,5,4 Cn
n
51
Paralléliser une PSE
  • Paralléliser une PSE est un problème intéressant
    à plus dun titre
  • Les PSE sont utiles
  • Des phénomènes dignes dintérêt apparaissent
  • Anomalie daccélération
  • Anomalie de décélération

52
Paralléliser une PSE
  • Anomalie de décélération

1
2
3
4
O
n
m
53
Paralléliser une PSE
  • Anomalie daccélération

1
2
3
4
O
n
m
54
Paralléliser une PSE
  • Certains critères existent pour éviter les
    anomalies de détérioration, et favoriser celles
    daccélération

55
Conclusion
  • Paralléliser une application est une opération
    compliquée
  • Pas de recette magique
  • Il est nécessaire de bien réfléchir
  • Sur quelle architecture matérielle vais-je
    exécuter mon application ?
  • Quels sont mes critères dévaluation ?
  • Ma solution logicielle est-elle réalisable ?

56
Conclusion
  • Il existe des outils théoriques qui permettent
    une modélisation fine
  • Théorie de lordonnancement mono et multi
    critères
  • Recherche opérationnelle
  • Algorithmique
  • Plus de processeurs nimplique pas nécessairement
    plus de vitesse
Write a Comment
User Comments (0)
About PowerShow.com