chapitre iii systèmes multiprocesseurseleuldj/cours/arc_par/arcpar3.pdf2 c31+=a32b21, c32+=a32b22,...
TRANSCRIPT
![Page 1: Chapitre III Systèmes multiprocesseurseleuldj/Cours/Arc_Par/ArcPar3.pdf2 c31+=a32b21, c32+=a32b22, c33+=a32b23 3 c31+=a33b31, c32+=a33b32, c33+=a33b33 10 Architectures parallèles,](https://reader034.vdocuments.pub/reader034/viewer/2022042320/5f0a8e507e708231d42c364d/html5/thumbnails/1.jpg)
Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, octobre 2014
Chapitre IIISystèmes multiprocesseurs
• Réseaux d’interconnexions• Classifications• Programmation• Routage
• Algorithmes parallèles• Sommes partielles• Multiplication matricielle• Transformée de Fourier
1
![Page 2: Chapitre III Systèmes multiprocesseurseleuldj/Cours/Arc_Par/ArcPar3.pdf2 c31+=a32b21, c32+=a32b22, c33+=a32b23 3 c31+=a33b31, c32+=a33b32, c33+=a33b33 10 Architectures parallèles,](https://reader034.vdocuments.pub/reader034/viewer/2022042320/5f0a8e507e708231d42c364d/html5/thumbnails/2.jpg)
Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, octobre 2014
Réseaux d’interconnexions
A1
Réseau d’interconnexionA2
An
Ai : Téléphone, Processeur, Module mémoire, Ordinateur, Capteurs, …Exemples : Réseau local, Internet, Réseau d’interconnexion d’un multiprocesseurs,…
A1
A2
Am
2
![Page 3: Chapitre III Systèmes multiprocesseurseleuldj/Cours/Arc_Par/ArcPar3.pdf2 c31+=a32b21, c32+=a32b22, c33+=a32b23 3 c31+=a33b31, c32+=a33b32, c33+=a33b33 10 Architectures parallèles,](https://reader034.vdocuments.pub/reader034/viewer/2022042320/5f0a8e507e708231d42c364d/html5/thumbnails/3.jpg)
Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, octobre 2014
Classifications
• Topologie : statique ou dynamique (reconfigurable)• Commutation : par circuit (TCP/IP) ou par paquet (UDP/IP)• Contrôle : centralisé ou distribué• Mode d’opération : synchrone ou asynchrone
3
![Page 4: Chapitre III Systèmes multiprocesseurseleuldj/Cours/Arc_Par/ArcPar3.pdf2 c31+=a32b21, c32+=a32b22, c33+=a32b23 3 c31+=a33b31, c32+=a33b32, c33+=a33b33 10 Architectures parallèles,](https://reader034.vdocuments.pub/reader034/viewer/2022042320/5f0a8e507e708231d42c364d/html5/thumbnails/4.jpg)
Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, octobre 2014
Topologies statiques
Définition:dimension(réseau) : longueur maximale pour lier 2 nœudsconnexions(réseau) : nombre de liens du réseau
dimension(bus) = n-1dimension(graphe complet) = 1connexion(bus) = n-1connexion(graphe complet) = n(n-1)/2
4
![Page 5: Chapitre III Systèmes multiprocesseurseleuldj/Cours/Arc_Par/ArcPar3.pdf2 c31+=a32b21, c32+=a32b22, c33+=a32b23 3 c31+=a33b31, c32+=a33b32, c33+=a33b33 10 Architectures parallèles,](https://reader034.vdocuments.pub/reader034/viewer/2022042320/5f0a8e507e708231d42c364d/html5/thumbnails/5.jpg)
Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, octobre 2014
Topologies dynamiques
Exemple : réseau Baseline nxn
n/2 x n/2
n/2 x n/2
0123
n-1n-2n-3n-4
.
.
.
.
0123
n-2n-3n-4
.
.
.
.
état 0
état 1
5
![Page 6: Chapitre III Systèmes multiprocesseurseleuldj/Cours/Arc_Par/ArcPar3.pdf2 c31+=a32b21, c32+=a32b22, c33+=a32b23 3 c31+=a33b31, c32+=a33b32, c33+=a33b33 10 Architectures parallèles,](https://reader034.vdocuments.pub/reader034/viewer/2022042320/5f0a8e507e708231d42c364d/html5/thumbnails/6.jpg)
Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, octobre 2014
Routage du Baseline n=8
0 1 2 3 4 5 6 71 7 3 5 0 4 6 2p=( )
01
23
45
67
01
23
45
67
6
![Page 7: Chapitre III Systèmes multiprocesseurseleuldj/Cours/Arc_Par/ArcPar3.pdf2 c31+=a32b21, c32+=a32b22, c33+=a32b23 3 c31+=a33b31, c32+=a33b32, c33+=a33b33 10 Architectures parallèles,](https://reader034.vdocuments.pub/reader034/viewer/2022042320/5f0a8e507e708231d42c364d/html5/thumbnails/7.jpg)
Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, octobre 2014
Exercice
Considérons un réseau baseline nxn :
a) Quel est le nombre des étages d’un réseau baseline nxn ?
b) Quel est le nombre total des cellules de base ?
c) Peut-on programmer n’importe quelle permutation ?
d) Comment peut on implémenter le contrôle ?
7
![Page 8: Chapitre III Systèmes multiprocesseurseleuldj/Cours/Arc_Par/ArcPar3.pdf2 c31+=a32b21, c32+=a32b22, c33+=a32b23 3 c31+=a33b31, c32+=a33b32, c33+=a33b33 10 Architectures parallèles,](https://reader034.vdocuments.pub/reader034/viewer/2022042320/5f0a8e507e708231d42c364d/html5/thumbnails/8.jpg)
Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, octobre 2014
Sommes partielles
Problème : Calcul de S(k) = 0≤i≤k a(i) pour k = 0,1,...,n-1
Solution 1 : calcul direct → n(n- 1)/2 additionspour k = 0 à n-1 faire
somme = a(0)pour i = 1 à k faire
somme = somme + a(i)S(k) = somme
Solution 2 : Calcul non répétitif → (n – 1) additionsS(0) = a(0)pour k = 1 à n-1 faire
S(k) = S(k-1) + a(k)
Solution 3 : Tableau de processeurs (MIMD) → log n additions8
![Page 9: Chapitre III Systèmes multiprocesseurseleuldj/Cours/Arc_Par/ArcPar3.pdf2 c31+=a32b21, c32+=a32b22, c33+=a32b23 3 c31+=a33b31, c32+=a33b32, c33+=a33b33 10 Architectures parallèles,](https://reader034.vdocuments.pub/reader034/viewer/2022042320/5f0a8e507e708231d42c364d/html5/thumbnails/9.jpg)
S(0)
S(1)
S(2)
S(3)
S(4)
S(5)
S(6)
S(7)
ET0
ET1
ET2
ET3
ET4
ET5
ET6
ET7Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, octobre 2014
Calcul MIMD des sommes partiellest3a0
a0+a1
a0+…+a2
a0+…+a3
a0+…+a4
a0+…+a5
a0+…+a6
a0+…+a7
t1a0
a0+a1
a1+a2
a2+a3
a3+a4
a4+a5
a5+a6
a6+a7
t2a0
a0+a1
a0+…+a2
a0+…+a3
a2+…+a5
a3+…+a6
a1+…+a4
a4+…+a7
t0
a1
a2
a3
a4
a5
a6
a7
a0
9
![Page 10: Chapitre III Systèmes multiprocesseurseleuldj/Cours/Arc_Par/ArcPar3.pdf2 c31+=a32b21, c32+=a32b22, c33+=a32b23 3 c31+=a33b31, c32+=a33b32, c33+=a33b33 10 Architectures parallèles,](https://reader034.vdocuments.pub/reader034/viewer/2022042320/5f0a8e507e708231d42c364d/html5/thumbnails/10.jpg)
Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, octobre 2014
Produit matriciel (1/2)
a11a21a31b11b21b31c11c21c31
M2
a12a22a32b12b22b32c12c22c32
M3
a13a23a33b13b23b33c13c23c33
M1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
A
B
C
i j En parallèle1 c11=0, c12=0, c13=0
1 c11+=a11b11, c12+=a11b12, c13+=a11b132 c11+=a12b21, c12+=a12b22, c13+=a12b233 c11+=a13b31, c12+=a13b32, c13+=a13b33
2 c21=0, c22=0, c23=01 c21+=a21b11, c22+=a21b12, c23+=a21b132 c21+=a22b21, c22+=a22b21, c23+=a22b233 c21+=a23b31, c22+=a23b32, c23+=a23b33
3 c31=0, c32=0, c33=01 c31+=a31b11, c32+=a31b12, c33+=a31b132 c31+=a32b21, c32+=a32b22, c33+=a32b233 c31+=a33b31, c32+=a33b32, c33+=a33b33
10
![Page 11: Chapitre III Systèmes multiprocesseurseleuldj/Cours/Arc_Par/ArcPar3.pdf2 c31+=a32b21, c32+=a32b22, c33+=a32b23 3 c31+=a33b31, c32+=a33b32, c33+=a33b33 10 Architectures parallèles,](https://reader034.vdocuments.pub/reader034/viewer/2022042320/5f0a8e507e708231d42c364d/html5/thumbnails/11.jpg)
Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, octobre 2014
Produit matriciel (2/2)
pour i = 1 à n fairePar pour j = 1 à n faire cij = 0pour j = 1 à n faire
Par pour k = 1 à n fairecik = cik + aij*bjk
pour i = 1 à n fairepour j = 1 à n faire
cij = 0pour k = 1 à n faire
cij = cij + aij*bjk
SISD MIMD
Exercice : trouver le nombre de processeurs et le temps d’exécution.
11
![Page 12: Chapitre III Systèmes multiprocesseurseleuldj/Cours/Arc_Par/ArcPar3.pdf2 c31+=a32b21, c32+=a32b22, c33+=a32b23 3 c31+=a33b31, c32+=a33b32, c33+=a33b33 10 Architectures parallèles,](https://reader034.vdocuments.pub/reader034/viewer/2022042320/5f0a8e507e708231d42c364d/html5/thumbnails/12.jpg)
Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, octobre 2014
Transformée de Fourier
Soit a = (a0,a1,…an-1)p(x) = an-1xn-1 + an-2xn-2 + … + a1x + a0Fw(a) = (p(1),p(w),…,p(wn-1))
A
B
X = A+B
k Y = (A-B)wk
Elément de base12