C02: Conception parallèle

publicité
C02: Conception parallèle
C02: Conception parallèle
•
méthodologie de conception en quatre étapes
•
virtualisation
•
applications structurées et non structurées
•
aspect analytique: S, E
•
Accélération Amdahl
•
Accélération Gustafson
•
Surcharge de parallélisation
Département de génie électrique et de génie informatique
GIF-3003 Systèmes parallèles et temps réel
C02: Conception parallèle
Conception d’un SPTR
Méthodologie en quatre étapes.
1.
Décomposition
fonctionnelle
Une application
2.
Partitionnement
est divisée en
TÂCHES
3.
Allocation
formées de
PROCESSUS
concourants
et temps réel
partageant des
RESSOURCES
4.
Mise à l’échelle
et qui sont placés sur des
PROCESSEURS
reliés par un
RÉSEAU D’INTERCONNEXION
pour échanger des données.
Département de génie électrique et de génie informatique
GIF-3003 Systèmes parallèles et temps réel
C02: Conception parallèle
Décomposition fonctionnelle
Exigences du problème:
• tâches à accomplir (besoins);
• modules (sous-tâches) et fichiers (données);
• relations entre modules (e.g. flot des données);
• ressources disponibles;
• contraintes temporelles pour sous-tâches.
Étape de spécification (UML, CSP).
Département de génie électrique et de génie informatique
GIF-3003 Systèmes parallèles et temps réel
C02: Conception parallèle
Décomposition fonctionnelle
Objectifs:
• cibler les exigences importantes du problème;
• identifier sa structure de base;
• limiter sa complexité.
Département de génie électrique et de génie informatique
GIF-3003 Systèmes parallèles et temps réel
C02: Conception parallèle
Partitionnement
Solution par traitement concourant:
• classes et objets (OOD);
• processus et relations:
communications (IPC) et synchronisations (IPC);
• contraintes temporelles des processus;
• données utilisées par chaque processus;
• entrées-sorties.
Étape de conception.
Département de génie électrique et de génie informatique
GIF-3003 Systèmes parallèles et temps réel
C02: Conception parallèle
Partitionnement
Objectifs:
• maximiser la performance du traitement;
• minimiser les communications entre processus;
• limiter la complexité de la solution concourante.
Département de génie électrique et de génie informatique
GIF-3003 Systèmes parallèles et temps réel
C02: Conception parallèle
Virtualisation
Segmentation et assignation des données aux processus:
• étape du partitionnement;
• plus simple pour une application structurée;
• méthode choisie dépend des données et traitements.
Département de génie électrique et de génie informatique
GIF-3003 Systèmes parallèles et temps réel
C02: Conception parallèle
Virtualisation hiérarchique
Un bloc de données par processus: 4 blocs de données.
Département de génie électrique et de génie informatique
GIF-3003 Systèmes parallèles et temps réel
C02: Conception parallèle
Virtualisation couper-et-empiler
Une donnée par processus dans chaque bloc: blocs de 4 données.
Département de génie électrique et de génie informatique
GIF-3003 Systèmes parallèles et temps réel
C02: Conception parallèle
Allocation
Application de la solution au traitement parallèle:
• assignation des processus et données à un ou
plusieurs processeurs et mémoires;
• topologie pour le réseau d’interconnexion;
• ordonnancement temps réel pour une application non
structurée (plusieurs processus par processeur);
• choix statiques ou dynamiques.
Département de génie électrique et de génie informatique
GIF-3003 Systèmes parallèles et temps réel
C02: Conception parallèle
Allocation
Objectifs:
• maximiser la performance du traitement
(parallélisme maximal?, charge équilibrée?);
• minimiser les communications entre processeurs;
• assurer la réalisabilité de l’ordonnancement;
• limiter la complexité de la solution parallèle.
Département de génie électrique et de génie informatique
GIF-3003 Systèmes parallèles et temps réel
C02: Conception parallèle
Mise à l’échelle
Dimensionnement de l’architecture matérielle:
• détermination du nombre optimal de processeurs;
• inclusion de redondance pour la tolérance aux fautes.
Département de génie électrique et de génie informatique
GIF-3003 Systèmes parallèles et temps réel
C02: Conception parallèle
Mise à l’échelle
Objectifs:
• maximiser le ratio performance/coût;
• assurer la réalisabilité de l’ordonnancement;
• maximiser la fiabilité.
Département de génie électrique et de génie informatique
GIF-3003 Systèmes parallèles et temps réel
C02: Conception parallèle
Applications structurées
Traitements (calculs et communications):
• faits selon des patrons globaux fixes et prédéterminés;
• identiques pour tous les processus;
• fonction du format et de la quantité de données.
Département de génie électrique et de génie informatique
GIF-3003 Systèmes parallèles et temps réel
C02: Conception parallèle
Applications non structurées
Traitements:
• incluent des interactions variées et imprévisibles;
• différents d’un processus à l’autre;
• fonction du contenu des données.
Département de génie électrique et de génie informatique
GIF-3003 Systèmes parallèles et temps réel
C02: Conception parallèle
Aspect analytique du traitement parallèle
Performance d’un algorithme séquentiel:
• mesurée par le taux de croissance du temps et de la
quantité de mémoire requise pour réaliser des
traitements de dimension de plus en plus grande.
Performance d’un algorithme parallèle:
• mesurée par rapport au meilleur algorithme séquentiel.
Département de génie électrique et de génie informatique
GIF-3003 Systèmes parallèles et temps réel
C02: Conception parallèle
Complexité du traitement séquentiel
Mesure de la performance potentielle: on compare l’ordre
de grandeur des complexités.
Dimension d’un traitement: n
Complexité temporelle d’un algorithme: T(n)
Complexité spatiale: M(n)
Borne supérieure à la complexité: O(n)
Borne inférieure à la complexité: Ω(n)
Équivalence en complexité: Θ(n)
Département de génie électrique et de génie informatique
GIF-3003 Systèmes parallèles et temps réel
C02: Conception parallèle
Complexité temporelle du traitement parallèle
Complexité dépend de n (la quantité de données) et de P
(le nombre de processeurs utilisés).
Complexité temporelle d’un algorithme: T(n,P)
T(n,P)=T1(n,P)+T2(n,P)
Typiquement:
T1(n,P) = n/P
T2(n,P) = log P
Département de génie électrique et de génie informatique
GIF-3003 Systèmes parallèles et temps réel
C02: Conception parallèle
Mesures de performance
Mesure de base: accélération.
T (n,1)
S (n, P) 
T (n, P)
Département de génie électrique et de génie informatique
GIF-3003 Systèmes parallèles et temps réel
C02: Conception parallèle
Mesures de performance
Mesure dérivée: efficacité.
S (n , P )
E (n , P ) 
P
Département de génie électrique et de génie informatique
GIF-3003 Systèmes parallèles et temps réel
C02: Conception parallèle
Loi générale
Gain de performance S d’un système obtenu par
l’amélioration d’un module ayant une influence partielle.
S 
1
influence
(1  influence) 
amélioration
Département de génie électrique et de génie informatique
GIF-3003 Systèmes parallèles et temps réel
C02: Conception parallèle
Exemple
Amélioration = 10.
Influence = 0.25.
S = 1.29
Smax = 1/(1-influence) = 1.3 pour une amélioration infinie.
Département de génie électrique et de génie informatique
GIF-3003 Systèmes parallèles et temps réel
C02: Conception parallèle
Accélération de Amdahl
P
S (n , P ) 
(1  s (P  1))
s: proportion non-parallélisable des traitements.
p: proportion parallélisable des traitements (influence).
s+p=1
P: nombre de processeurs (amélioration).
Département de génie électrique et de génie informatique
GIF-3003 Systèmes parallèles et temps réel
C02: Conception parallèle
Hypothèses d’application
Les deux algorithmes (séquentiel et parallèle) effectuent
exactement les mêmes traitements.
Il n’y a pas de surcharge pour la version parallèle.
La proportion non-parallélisable n’est pas accélérée.
La proportion parallélisable est accélérée
proportionnellement au nombre de processeurs.
Département de génie électrique et de génie informatique
GIF-3003 Systèmes parallèles et temps réel
C02: Conception parallèle
Illustration
a: p=1
b: p=0.95
S
c: p=0.9
d: p=0.8
e: p=0.6
P
Département de génie électrique et de génie informatique
GIF-3003 Systèmes parallèles et temps réel
C02: Conception parallèle
Exemple avec des durées
Avant parallélisation:
• durée du traitement non-parallélisable: 10 u.t.
• durée du traitement parallélisable: 30 u.t.
• durée totale du traitement: 40 u.t. (s = 10/40 = 0.25 et p = 30/40 = 0.75)
Après parallélisation:
• durée du traitement séquentiel: 10 u.t.
• durée du traitement parallèle (P=3): 10 u.t.
• durée totale du traitement: 20 u.t.
Accélération:
• S = T1/Tn = 40/20 = 2
• S = 1/(s+(p/P)) = 1/(0.25+(0.75/3)) = 1/0.5 = 2
• S = P/(1+s(P-1)) = 3/(1+0.25(2)) = 3/1.5 = 2
Département de génie électrique et de génie informatique
GIF-3003 Systèmes parallèles et temps réel
C02: Conception parallèle
Exemple 1
Soit l’algorithme suivant ayant s > 0.
non-parallélisable
parallélisable
for (1…n) {
for (1…n) {
opération 1;
opération 2;
}
}
for (1…n) {
opération 3;
opération 4;
}
Département de génie électrique et de génie informatique
GIF-3003 Systèmes parallèles et temps réel
C02: Conception parallèle
Exemple 1
1. Calculez l’accélération obtenue par la parallélisation
du fragment de code précédent pour quatre
processeurs et avec n = 100.
2. Trouvez la proportion non-parallélisable (séquentielle)
s et la proportion parallélisable p des traitements.
3. Trouvez Smax(100,P).
1. S = 1.0075
2. s = 0.99
3. Smax = 1.01
Département de génie électrique et de génie informatique
GIF-3003 Systèmes parallèles et temps réel
C02: Conception parallèle
Exemple 2
Soient les résultats expérimentaux suivants:
Algorithme
Nombre de processeurs
Temps
Séquentiel optimal
1
75 s
Parallèle1
2
40 s
Parallèle2
3
35 s
Parallèle3
18
5s
Département de génie électrique et de génie informatique
GIF-3003 Systèmes parallèles et temps réel
C02: Conception parallèle
Exemple 2
1. Calculez l’accélération pour chaque algorithme parallèle.
2. Identifiez l’algorithme parallèle le plus efficace.
3. Calculez la proportion non-parallélisable (séquentielle) s
et la proportion parallélisable p de l’algorithme séquentiel
à partir des résultats obtenus pour l’algorithme Parallèle3.
1. S1=1.875 S2=2.143 S3=15
2. E1=0.9375 E2=0.714 E3=0.833
3. s = 0.01176 p=1-s
Département de génie électrique et de génie informatique
GIF-3003 Systèmes parallèles et temps réel
C02: Conception parallèle
Proportion de l’accélération maximale
Nombre de processeurs pour avoir S = 90% de (Smax = 1/s) ?
S
90
s = 0.05
18
P
171
Smax = 20
891 = pS/(1-sS)
Département de génie électrique et de génie informatique
GIF-3003 Systèmes parallèles et temps réel
C02: Conception parallèle
Exemple 3
Soit un algorithme avec proportion parallélisable p = 0.4.
1. Calculez l’accélération pour 24 processeurs.
2. Calculez le nombre de processeurs à utiliser pour
obtenir 75% de l’accélération maximale.
1. S = 1.62
2. P = 2
Département de génie électrique et de génie informatique
GIF-3003 Systèmes parallèles et temps réel
C02: Conception parallèle
Accélération de Gustafson
On compare l’implantation sérialisée (ralentie) par rapport
à l’implantation parallèle, au lieu de l’inverse comme pour
la loi de Amdahl.
S ' (n , P )  P  s (P  1)
s: proportion non-parallélisée des traitements.
p: proportion parallélisée des traitements.
s+p=1
P: nombre de processeurs.
Département de génie électrique et de génie informatique
GIF-3003 Systèmes parallèles et temps réel
C02: Conception parallèle
Exemple avec des durées
Avant sérialisation:
• durée du traitement séquentiel: 10 u.t.
• durée du traitement parallèle: 10 u.t.
• durée totale du traitement: 20 u.t. (s = 10/20 = 0.5 et p = 10/20 = 0.5)
Après sérialisation:
• durée du traitement non-parallélisable: 10 u.t.
• durée du traitement parallélisable (P=3): 30 u.t.
• durée totale du traitement: 40 u.t.
Accélération:
• S = T1/Tn = 40/20 = 2
• S = s+pP = 0.5+3(0.5) = 0.5+1.5 = 2
• S = P-s(P-1) = 3-0.5(2) = 3-1 = 2
Département de génie électrique et de génie informatique
GIF-3003 Systèmes parallèles et temps réel
C02: Conception parallèle
Exemple 4
Soit un algorithme avec une proportion parallélisable p = 0.5.
1. Calculez l’accélération obtenue en parallélisant cet
algorithme sur 10 processeurs.
2. Calculez la proportion séquentielle et la proportion
parallèle du programme ainsi parallélisé.
3. Vérifiez votre réponse en calculant l’accélération de
Gustafson à partir de ces proportions.
1. S = 1.818
2. sG=0.909 pG=0.0909
3. SG = 1.818
Département de génie électrique et de génie informatique
GIF-3003 Systèmes parallèles et temps réel
C02: Conception parallèle
Accélération Amdahl avec surcharge
(1  c) P
S (n, P) 
(1  s ((1  c) P  1))
s: proportion non-parallélisable des traitements.
p: proportion parallélisable des traitements.
s+p=1
px: proportion parallélisée des traitements.
c: proportion de la surcharge des traitements parallélisables.
p = (1 – c) px
P: nombre de processeurs.
Département de génie électrique et de génie informatique
GIF-3003 Systèmes parallèles et temps réel
C02: Conception parallèle
Exemple avec des durées
Avant parallélisation:
• durée du traitement non-parallélisable: 10 u.t.
• durée du traitement parallélisable: 30 u.t.
• durée totale du traitement: 40 u.t. (s = 10/40 = 0.25 et p = 30/40 = 0.75)
Après parallélisation:
• durée du traitement séquentiel (i.e. non-parallélisé): 10 u.t.
• durée du traitement parallèle (P=3; c =0.2): 10/0.8 = 1.25(10) = 12.5 u.t.
• durée totale du traitement: 22.5 u.t.
Accélération:
• S = T1/Tn = 40/22.5 = 1.7
• S = 1/(s+(px/P)) = 1/(s+(p/(1-c)P)) = 1/(0.25+(0.75/3(0.8)) = 1/0.5625 = 1.7
• S = (1-c)P/(1+s((1-c)P-1)) = 2.4/(1+0.25(1.4)) = 2.4/1.35 = 1.7
Département de génie électrique et de génie informatique
GIF-3003 Systèmes parallèles et temps réel
C02: Conception parallèle
Accélération Gustafson avec surcharge
S ' (n , P )  (1  c )P  s ((1  c )P  1)
s: proportion non-parallélisée des traitements.
px: proportion parallélisée des traitements.
s + px = 1
p: proportion parallélisable des traitements.
c: proportion de la surcharge des traitements parallélisés.
p = (1 – c) px
P: nombre de processeurs.
Département de génie électrique et de génie informatique
GIF-3003 Systèmes parallèles et temps réel
C02: Conception parallèle
Exemple avec des durées
Avant sérialisation:
• durée du traitement séquentiel (i.e. non-parallélisé): 10 u.t.
• durée du traitement parallèle (i.e. parallélisé): 12.5 u.t.
• durée totale du traitement: 22.5 u.t. (s = 10/22.5=0.4 et px = 12.5/22.5=0.5)
Après sérialisation:
• durée du traitement non-parallélisable: 10 u.t.
• durée du traitement parallélisable (P=3; c=0.2): 3(12.5(0.8)) = 30 u.t.
• durée totale du traitement: 40 u.t.
Accélération:
• S = T1/Tn = 40/22.5 = 1.7
• S = s+px(1-c)P = 0.4+ (0.5)(0.8)3 = 0.4+1.3 = 1.7
• S = (1-c)P-s((1-c)P-1) = (0.8)3-0.4(((0.8)3)-1) = 2.4-0.62 = 1.7
Département de génie électrique et de génie informatique
GIF-3003 Systèmes parallèles et temps réel
Téléchargement