Vous êtes sur la page 1sur 33

Architectures

multiprocesseurs
NSY 104

Jrme Dupire

Introduction

Objectifs
Augmentation du nombre dinstructions traites par seconde
Diminution des temps dexcution

Limitations
Technique des processeurs
Limites physiques de performance

Proposition
Dupliquer (associer) les capacits matrielles
Plutt que daugmenter la complexit de lunit (processeur)

Rapport cot-performance plus favorable

NSY104

Jrme Dupire

NSY104

Introduction
UC
UC

UC

UC

UC

UC

Couplage
Niveau de couplage
reposant sur
larchitecture
mmoire et le
partage de celle-ci

FLOPS :
oprations virgule flottante par
seconde (en anglais, FLoating
point Operations Per Second). Le
nombre de FLOPS est une mesure
commune de la vitesse d'un
systme informatique.

Jrme Dupire

Classification des architectures

Taxonomie de Flynn
4 catgories
SISD

Single Instruction Single Data

SIMD

Single Instruction Multiple Data

MISD

Multiple Instruction Single Data

MIMD

Multiple Instruction Multiple Data

NSY104

Jrme Dupire

NSY104

Classification des architectures

SISD
Single Instruction Single Data

Une instruction, un flot de donnes


Ordinateur squentiel
Pas de paralllisme

Ordinateur monoprocesseur

Jrme Dupire

NSY104

Classification des architectures

SIMD
Single Instruction Multiple Data

Une instruction unique


Avec des donnes diffrentes

GPU
Processeur vectoriel

Synchrone

Exemple

Changement de
la luminosit dune image

Jrme Dupire

NSY104

Classification des architectures

MISD
Multiple Instruction Single Data

Instructions diffrentes, mmes donnes


Rare
Tolrance aux pannes

Comparaison des rsultats


Systmes critiques

Exemple

Contrleur vol navette spatiale


Pas (encore) de version commerciale

Jrme Dupire

NSY104

Classification des architectures

MIMD
Multiple Instruction Multiple Data

Diffrentes instructions, diffrentes


donnes

Deux sous groupes

SPMD

Le mme programme est excut sur


les diffrentes units
Mais de manire indpendante
Asynchrone (!=SIMD)

MPMD

Diffrents programmes sont excuts


sur les diffrentes units
SPU/PPU (PS3)

Jrme Dupire

NSY104

Classification des architectures

Modle simplificateur
Une architecture peut se trouver dans plusieurs de

ces catgories

Mais il permet de quadriller les options de


conception

Jrme Dupire

NSY104

MIMD

Modle actuel dominant


Flexible

Multiprocesseur monoprogramm
Multiprocesseur multiprogramm
Combinaison des deux

Architecture peu couteuse

Sappuie sur des composants standards

Chaque processeur peut excuter


Des processus (programmes) diffrents
Des sous-parties (processus lgers, threads) dun programme
Paralllisme de flot

n processeurs <-> n flots

Jrme Dupire

NSY104

Architectures mmoire

Architectures centralises mmoire partage (SMP)


Plusieurs processeurs

Avec 1 ou plusieurs caches chacun

Une mmoire centrale partage


Un bus dinterconnexion
Relation symtrique entre la mmoire et les processeurs

Multiprocesseur symtrique mmoire partage

Symmtric (shared-memory) multiprocessor (SMP)

Accs mmoire uniforme


Uniform Memory Access (UMA)

Limitation du nombre de processeurs

Jrme Dupire

NSY104

Architectures mmoire
Multi-processeurs symtriques - SMP
Processeur

n niveaux de cache

Processeur

n niveaux de cache

Mmoire principale

Processeur

Processeur

n niveaux de cache

n niveaux de cache

E/S

Jrme Dupire

Architectures mmoire

Si on fait augmenter le nombre de processeurs


La mmoire devient le goulet dtranglement

Problme de bande passante

On doit alors passer


dun modle mmoire centralise
un modle mmoire distribue

NSY104

Jrme Dupire

NSY104

Architectures mmoire

Architectures mmoire distribue


Mmoire physiquement distribue

Meilleure bande passante


Plus grand nombre de processeurs

Bus dinterconnexion bande passante leve


Rseaux dinterconnexion

directs

commutateurs

indirects

grilles multidimensionnelles

Jrme Dupire

NSY104

Architectures mmoire

Architectures mmoire distribue


Processeur
+ cache

Mmoire

E/S

Processeur
+ cache

Mmoire

E/S

Processeur
+ cache

Mmoire

E/S

Processeur
+ cache

Mmoire

E/S

Mmoire

E/S

Rseau dinterconnexion
Mmoire

E/S

Processeur
+ cache

Mmoire

E/S

Processeur
+ cache

Mmoire

E/S

Processeur
+ cache

Processeur
+ cache

Jrme Dupire

NSY104

Architectures mmoire

Architectures mmoire distribue


Chaque nud

peut tre monoprocesseur

ou un SMP

2-8 processeurs

Pour les accs la mmoire locale

Extension efficace de la bande passante

Faible cot

Rduction de la latence

Inconvnients

Communications entre nuds plus complexe


Avec une latence plus leve

Jrme Dupire

NSY104

Architectures mmoire - mmoire distribue

Communication entre nuds


Mmoire Partage Distribue

Distributed Shared-Memory multiprocessor (DSM)

Lespace dadressage logique est partag entre tous les nuds

Tous les processeurs accdent logiquement toutes les mmoires

Ce nest pas une mmoire physique unique partage


Sils disposent des droits requis

Les multiprocesseurs DSM sont appels NUMA


Non Uniform Memory Access
Par opposition aux SMP (UMA)
Protocole de communication implicite

adresses logiques dans les instructions de chargement/rangement

Jrme Dupire

Mtrique Loi dAhmdal

Gain de performance
Acclration
Gain = Tpnormal/Tpamlior
Gain = Perfamlior/Perfsans amlioration
Tpa = (1-S)Tpn + S.Tpn/Ac

Tpn = Tps dexec systme origine


Tpa = Tps dexec systme amlior
S = fraction du temps concern par lamlioration
Ac = acclration obtenue par lamlioration

NSY104

Jrme Dupire

Mtrique CPI

Cycle dhorloges CPU pour un programme/Nombre


dinstructions

NSY104

Jrme Dupire

NSY104

Cohrence des mmoires - SMP

Dans les SMP, les caches stockent

des donnes prives

mme comportement quen architecture monoprocesseur

des donnes partages

Peuvent exister sur des caches diffrents

Temps

Migration
Duplication

Cela pose des problmes de cohrence de cache


Event

Cache A

Cache B

Mmoire
1

CPUA lit X

CPUB lit X

CPUA range 0 dans X

Jrme Dupire

NSY104

Cohrence des mmoires - SMP

Suivre ltat de tous les blocs partags

Deux mthodes

Le rpertoire

On conserve dans un endroit unique ltat de partage dun bloc de mmoire


physique.

Lespionnage

Surveillance du bus de mmoire partage


Pour dterminer sils ont, ou non, le bloc demand.

Jrme Dupire

NSY104

Cohrence des mmoires - SMP

Deux mcanismes sont possibles pour assurer la cohrence

Linvalidation dcriture

Assure laccs exclusif dune donne un processeur avant une criture


Invalide toutes les autres copies sur une criture

Temps

Event

Bus

Cache A

Cache B

Mmoire
0

CPUA lit X

Miss

CPUB lit X

Miss

CPUA crit 1 dans X

Invalid.

CPUB lit X

Miss

0
0

0
0

Quand le second miss de B intervient


A dtecte la demande, rpond sur le bus et annule la rponse de la mmoire
Les valeurs sont alors mises jour sur le cache de B et en mmoire

Jrme Dupire

NSY104

Cohrence des mmoires - SMP

Deux mcanismes sont adoptables pour assurer la cohrence

La diffusion dcriture

Mise jour systmatique de toutes les copies sur une criture

Temps

Event

Bus

Cache A Cache B Mmoire

CPUA lit X

Miss

CPUB lit X

Miss

CPUA crit 1 dans X

Diffusion

CPUB lit X

Jrme Dupire

NSY104

Cohrence des mmoires Mem. Distr.

Dans les architectures mmoire distribue


Soit un mcanisme de cohrence de cache est inclus
Soit il est exclu

Solution la plus aise


Dans ce cas, seules les donnes prives sont dans les caches
Les donnes partages sobtiennent via des messages

Et ne sont pas cachables


Copie possible via le logiciel, qui contrle alors la cohrence

Inconvnients

Cette gestion logicielle, via la compilation, nest pas assez prcise


Et ne permet pas dtre efficace
Perte des bnfices de la localit spatiale
Car on transmet des mots, non plus des blocs, via les messages
Pour cette mme raison, les latences sont augmentes.

Jrme Dupire

NSY104

Cohrence des mmoires Mem. Distr.

Sil est inclus

Ce peut tre via lespionnage

Trs couteux en matriel

Communication avec tous les caches indispensable

Peu compatible avec les extension darchitecture

Le rpertoire est une autre solution

Mieux adapte
Mais qui peut devenir un goulet dtranglement

si grand nombre de processeurs (> 200)

Ncessit denvisager un rpertoire distribu

Jrme Dupire

Cohrence des mmoires Mem. Distr.

Rpertoire distribu

Ltat dun bloc est stock

dans le rpertoire
un seul endroit dans le rseau

NSY104

Jrme Dupire

NSY104

Cohrence des mmoires Mem. Distr.

Rpertoire distribu

Objectifs

Grer les checs de lecture


Grer lcriture pour un bloc partag non modifi

3 tats possibles pour chaque bloc

Partag

Non cach

Le bloc est prsent dans le cache dun ou plusieurs processeurs


La valeur en mmoire, comme dans les caches, est jour
Aucun processeur na de copie du bloc

Exclusif

Un processeur une copie du bloc et a crit dans le bloc


La copie mmoire est prime
Le processeur est le propritaire du bloc

Jrme Dupire

NSY104

Cohrence des mmoires Mem. Distr.

Rpertoire distribu

Connaissance des processeurs qui ont une copie du bloc, lorsquil est partag

Pour linvalidation sur criture


Utilisation dun vecteur de bits pour chaque bloc

Un bit correspondant un processeur


Indique si un processeur possde une copie du bloc

Lorsquun bloc est exclusif

ce vecteur sert en connatre le propritaire

Jrme Dupire

NSY104

Cohrence des mmoires Mem. Distr.

Messages possibles entre nuds pour le maintien de la cohrence

P: processeur demandeur, A: adresse demande, D: contenu des donnes

Jrme Dupire

Cohrence des mmoires Mem. Distr.

Machine tats
Bloc de cache individuel
Systme rpertoire

Processeur local

Noir

Rpertoire rsident

Gris

NSY104

Jrme Dupire

NSY104

Exemple PS3 - CELL

PowerPC Processing Element ou PPE ,


Synergystic Processing Elements ou SPE,
Local Storage ou LS ,
Streaming Processor Unit ou SPU

Jrme Dupire

NSY104

Exemple PS3 CELL - PPE

Processeur 64 bits
in order
Distribue les
instructions aux
SPE
Excute
linstruction si un
SPE ne peut le
faire

Le CELL expliqu ici: http://www.blachford.info/computer/Cell/Cell0_v2.html

Jrme Dupire

Exemple PS3 CELL - SPE

Processeur vectoriel
SIMD RISC
4 units calcul flottant DP
4 units calcul entier

NSY104