Architecture Parallèle
Introduction
Pourquoi le parallélisme
• Histoire:
– But était d'améliorer la performance des
processeurs en jouant sur la vitesse des
processeurs mais:
Besoins des nouvelles applications
Prédictions technologique (2003)
• Loi de Moore continuera
jusqu’à 2016
• Processeurs peuvent
avoir jusqu’à 2 billions de
transistors
• Capacité des DRAMs
pourra atteindre 128 Gbit
• Fréquences des
processeurs peut
atteindre 40 Ghz
– A-t-on atteint les
10Ghz?
4
État de l’art
5
Est-ce la fin des monoprocesseurs ?
• Architecture Von Neumann: F-D-E
– Chemin de données
– Contrôle
– Architecture séquentielle
• L’accroissement des fréquences ne suit plus.
• Processeurs classique :
– saturation des vitesses d'horloge (vitesse a
cesser de changer depuis 2008 -- 3GHz)
6
Power Wall
• Limite de la dissipation d'énergie
– Ça chauffe trop :puissance proportionnelle au f²
taille des radiateurs augmente
Power vs. Frequency Curve for Single Core Architecture
359
309
259
209
159
)
w
(
r
e
w
o
P
109
59
Publicité
9
Dropping Frequency
= Large Drop Power
Lower Frequency
Allows Headroom
for 2nd Core
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
2.2
2.4
2.6
2.8
3
3.2
3.4
Frequency (GHz)
Memory Wall
• L’accès mémoire
– Accéder aux instruction et aux données
– La mémoire est un goulet d’étranglement
8
Et en plus !!
• Pb de propagation de l'onde électromagnétique
– Délai de propagation ne sont plus négligeables devant la
période de l’horloge
Solution parallélisme
Avant c'était un luxe maintenant c'est
une nécessite, exemple : Intel
Multi-core Revolution
• “It strikes me that in terms of future development, the magnitude
of the change that software developers are going to experience will
be substantial. A decade from now, we’ll be looking back and
thinking how much differently we approach writing program code.
Parallelism, for everyone, is going to be ubiquitous.”
James Reinders, director of marketing and business, Intel® Software
Development Products Division
• “[Multi-core processing is creating]…the biggest sea change in
software development since the object-oriented programming
revolution.”
Herb Sutter, senior software architect, Microsoft
Multi-core Revolution
•
“We will go from putting Hyper-Threading Technology
in our products to bringing dual core capability in our
mainstream client microprocessors over time. For the
Publicité
software developers out there, you need to assume that
threading is a must.”
Paul Otellini
Chief Executive Officer
Intel Developer Forum, Fall 2003
11
Architecture parallèle : définition
12
Différents aspects du parallélisme
• Algorithme
• Logiciel
• Architectures
Aspects du parallélisme: Algorithme
– Repenser parallèle gain de performance
14
Aspects du parallélisme: Logiciel
– Approche de la programmation parallèle
• Langage : c++11; java7 ForkJoin
• Modèle de programmation: OpenMP, MPI,
MapReduce(google)
– Compilateurs
– Systèmes d’exploitation parallèle :
• Tessellation : UC Berkeley operating system
uniquely controls discrete 'manycore'
resources
– Correction d’un programme parallèle
– Implémentation (association entre le nombre
réel de cœurs et de threads souhaités)
– Outils spécifiques
15
Aspects du parallélisme: Architecture
– Comment organiser et implanter de multiples
processeurs
– Unité de contrôle unique / multiples
– Moins de flexibilité / trop de liberté
– Mémoire partagée / distribuée
– Bande passante d’une mémoire partagée
– Réseau d’accès à la mémoire
– Systèmes distribués
– Topologie du réseau d’interconnexion
– Surcoût des communications
16
Avantages des architectures parallèles
Augmenter le nombre de processeurs
Augmenter les performances
Réduire le temps d’exécution
Réduire la consommation
Pas de limites de mémoires
Accélération de calcul complexe (coûteux)
en temps d'occupation de CPU
Tolérance aux fautes : si l’un des
processeurs tombe en panne, l’autre peut
prendre le calcul
Exemple d’architecture parallèle
Publicité
20
Exemples d'architecture parallèle
• Architecture CELL (alliance toshiba,
IBM,Sony)
– Utiliser dans la PlayStation3
– Architecture 64 bits
– Basé sur un Core principal : le PPE
– Ajout de huit Core vectoriels: les SPE
– Un bus d’interconnexion: l’EIB
– 2 caches de L1 de 32 Ko pour les instructions et données
– 1 cache de L2 de 512 Ko
– 235 Millions de transistors
– 1 contrôleur d’accès direct à la mémoire1 contrôleur d’accès direct à la
mémoire
– Interface d’IO flexible
– Fréquence d’horloge du Core : 4Ghz
– PPE et SPE reliés par un bus de 96o théoriques, 64o en pratique
Représentation
Implications du parallélisme (1)
• Nouveaux concepts
– concurrence
– communication
– synchronisation
• Facteurs de performance
– allocation de processeurs/ordonnancement
– distribution des données
– granularité
– ratio communications/calcul
– équilibre (dynamique) de la charge
– extensibilité
24
Implications du parallélisme (2)
• Problèmes spécifiques
– non-déterminisme
– correction/justesse
– interblocage
– terminaison
• Dimension algorithmique
– pensée/raisonnement parallèle
– meilleur algorithme séquentiel vs meilleur
algorithme parallèle
25
Plan
• Performance des architectures
d’ordinateurs
• Classification des machines parallèles
• Mémoire Cache – Cohérence de caches
• Multi-core Programming: Basic
Concepts (INTEL)
• Modèle de programmation parallèle
OpenMP