Architecture Parallèle

Programming, Math, etc. · textbook

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