Vous êtes sur la page 1sur 19
Architectures parallèles Mohsine Eleuldj Département Génie Informatique, EMI eleuldj@emi.ac.ma Architectures

Architectures parallèles

Mohsine Eleuldj Département Génie Informatique, EMI eleuldj@emi.ac.ma

Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, octobre 2008

Contenu

Contenu • Introduction au traitement parallèle • Principe de traitement vectoriel et pipeline • Systèmes

• Introduction au traitement parallèle

• Principe de traitement vectoriel et pipeline

• Systèmes multiprocesseurs

• Analyse et mesures de performance

Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, octobre 2008

Chapitre I Introduction au traitement parallèle

Chapitre I Introduction au traitement parallèle • Applications séquentielles et parallèles • Evolution des

• Applications séquentielles et parallèles

• Evolution des systèmes d’ordinateurs

• Définition et niveaux

• Parallélisme dans un système monoprocesseur

• Structures des ordinateurs parallèles

• Classification de Flynn

Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, octobre 2008

Applications séquentielles et parallèles

Applications séquentielles et parallèles • Traditionnellement : logiciels conçus pour calcul séquentiel (un

• Traditionnellement : logiciels conçus pour calcul séquentiel (un processeur)

• Calcul parallèle : utilisation de ressources multiples simultanément (processeurs, mémoire,…)

• Applications classiques :

• Prévision météorologique

• Réactions chimique et nucléaire (temps réel)

• Activités géologique et sismique

• Recherche biologique

• Simulation des circuits intégrés

• Applications commerciales :

• Bases de données et Data Mining

• Moteur de recherche du Web

• Exploration minière (pétrole, …)

• Réalité virtuelle (simulation de vol, entertainment industry, …)

• Environnement de travail collaboratif

Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, octobre 2008

Evolution des systèmes d’ordinateurs (1/4)

Evolution des systèmes d’ordinateurs (1/4) • Générations d'ordinateurs sont déterminées par : • Technologie

• Générations d'ordinateurs sont déterminées par :

• Technologie de fabrication des composants

• Mode de traitement

• Langage de programmation

• Evolution des systèmes d'exploitation

• traitement par lot

• Multiprogrammation

• temps partagé

• Multitraitement

Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, octobre 2008

Evolution des systèmes d’ordinateurs (2/4)

Evolution des systèmes d’ordinateurs (2/4) • 1938-1953 : • relais électromécaniques comme organes de commutation

• 1938-1953 :

• relais électromécaniques comme organes de commutation

• tubes à vide

• arithmétique bit à bit (additionner à 1 bit) des nombres en virgule fixe

• langage machine binaire

• ENIAC, EDVAC (bell laboratoires)

• 1952-1963 :

• transistors et diodes

• circuits imprimés (800 transistors)

• mémoire à tore

• assembleur, FORmula TRANslation 1956, Algol (Algorithmic Langage) 1960, Cobol. (Common business oriented) 1959

• traitement par lot

• TRADIC, IBM 1620 en 1960

Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, octobre 2008

Evolution des systèmes d’ordinateurs (3/4)

Evolution des systèmes d’ordinateurs (3/4) • 1962-1975 : • SSI et MSI • circuits imprimés multicouches

• 1962-1975 :

• SSI et MSI

• circuits imprimés multicouches

• compilateurs intelligents

• multiprogrammation (exécution simultanée des programmes et des E/S)

• IBM 360/91, Illiac IV, TI-ASC, Cyber-175, STAR-100

• temps partagé

• mémoire virtuelle

• 1972-Aujourd'hui :

• LSI pour la logique et la mémoire

• langages pour la manipulation des scalaires et des vecteurs (Fortran étendu)

• compilateurs avec vectorisation

• machine vectorielle CRAY-1 (1976), Cyber-205 (1982)

• systèmes multiprocesseurs IBM370/168 MP et IBM3081 (1980), Cray X- MP(1983), MPP massively parrallel processor (1982 composé de 16K microprocesseurs.

Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, octobre 2008

Evolution des systèmes d’ordinateurs (4/4)

Evolution des systèmes d’ordinateurs (4/4) • Futur : • VLSI, ULSI, WSI • projets S-1 (16

• Futur :

• VLSI, ULSI, WSI

• projets S-1 (16 processeurs)

• CRAY-2 (4 processeurs) plus de 1000 megaflops.

• NEC 5 Gigaflops et coûte 5 millions de dollars.

Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, octobre 2008

Définition et niveaux

Définition et niveaux • Définition : Exploitation d'événements concurents dans le processus de traitement •

• Définition : Exploitation d'événements concurents dans le processus de traitement

• Concurence : parallélisme, simultaniété et pipeline

• parallèlisme : événements se produisant pendant le même intervalle de temps

• sumultaniété : évenements se produisant dans le même instant

• pipeline : événement se produisant pendant des intervalles de temps cheuvauchés

• Niveaux du traitement parallèle

• travail ou programme (multiprogrammation, temps partagé, multitraitements)

• tâche ou procédure (décomposition du programme)

• inter-instruction (analyse de la dépendance des données) ---> vectorisation

• intra-instruction (au niveau de la micro-programmation) ou du cablage

• De plus en plus des méthodes matériels remplacent les logiciels :

• coût

• travail en temps réel (vitesse)

• tolérance au pannes

Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, octobre 2008

Parallélisme dans un monoprocesseur

Parallélisme dans un monoprocesseur • Multiplicité des unités fonctionnelles (10 UAL dans le CDC-6600) •

• Multiplicité des unités fonctionnelles (10 UAL dans le CDC-6600)

• Parallélisme et pipeline dans le CPU

• Chevauchement des opérations du CPU et d'E/S (canaux, DMA E/S prog.)

• Système de hiérarchie de mémoire (mémoire virtuelle)

• Equilibrage des tâches bornées par le calcul et celles bornée par les E/S.

• Multiprogrammation (chevauchement entre le CPU et les E/S), et le temps partagé (efficace en interactif ---> temps réel).

Tous ces mécanismes sont propres aux SE Dans les systèmes multiprocesseurs les structures vont être modifiées.

Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, octobre 2008

Structures des ordinateurs parallèles

Structures des ordinateurs parallèles • Ordinateur pipeline ⇒ parallélisme temporel • Tableau d'ordinateurs

• Ordinateur pipeline

parallélisme temporel

• Tableau d'ordinateurs

parallélisme spatial

• Système multiprocesseurs

asynchrone

Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, octobre 2008

Ordinateur pipeline

Ordinateur pipeline • Exemple du pipeline : Exécution d'une instruction. • CI : Chercher l'instruction de

• Exemple du pipeline : Exécution d'une instruction.

• CI : Chercher l'instruction de la mémoire

• DI : Décoder l'instruction

• CO : Chercher les opérandes

• EO : Exécuter l'opération

Instruction

CI DI CO EO
CI
DI CO
EO

• Problème :

• conflit d’accès à la mémoire

• branchement et interruption

• Avantage : exécution de la même instruction plusieurs fois (traitement vectoriel)

• Ordinateurs pipeline : IBM3838, CRAY-1, CYBER-205.

Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, octobre 2008

Tableau d’ordinateurs (mémoire distribuée)

Tableau d’ordinateurs (mémoire distribuée) E/S UC PC MC ET1 ET2 ET3 ETn P P P P

E/S

UC PC MC ET1 ET2 ET3 ETn P P P P M M M M
UC
PC
MC
ET1
ET2
ET3
ETn
P
P
P
P
M
M
M
M
Réseau d’interconnexion

Exemples : Illiac IV et MPP

UC : Unité de Contrôle PC : processeur de contrôle MC : mémoire de contrôle ET : Elément de traitement P : processeur M : mémoire locale.

Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, octobre 2008

Système multiprocesseurs (mémoire partagée)

Système multiprocesseurs (mémoire partagée) Canaux d’E/S MM1 MM2 MMn Réseau d’interconnexion P1 ML1 Pp MLp

Canaux d’E/S

Système multiprocesseurs (mémoire partagée) Canaux d’E/S MM1 MM2 MMn Réseau d’interconnexion P1 ML1 Pp MLp
Système multiprocesseurs (mémoire partagée) Canaux d’E/S MM1 MM2 MMn Réseau d’interconnexion P1 ML1 Pp MLp
Système multiprocesseurs (mémoire partagée) Canaux d’E/S MM1 MM2 MMn Réseau d’interconnexion P1 ML1 Pp MLp
Système multiprocesseurs (mémoire partagée) Canaux d’E/S MM1 MM2 MMn Réseau d’interconnexion P1 ML1 Pp MLp
Système multiprocesseurs (mémoire partagée) Canaux d’E/S MM1 MM2 MMn Réseau d’interconnexion P1 ML1 Pp MLp
Système multiprocesseurs (mémoire partagée) Canaux d’E/S MM1 MM2 MMn Réseau d’interconnexion P1 ML1 Pp MLp
Système multiprocesseurs (mémoire partagée) Canaux d’E/S MM1 MM2 MMn Réseau d’interconnexion P1 ML1 Pp MLp
Système multiprocesseurs (mémoire partagée) Canaux d’E/S MM1 MM2 MMn Réseau d’interconnexion P1 ML1 Pp MLp
Système multiprocesseurs (mémoire partagée) Canaux d’E/S MM1 MM2 MMn Réseau d’interconnexion P1 ML1 Pp MLp

MM1

MM2

(mémoire partagée) Canaux d’E/S MM1 MM2 MMn Réseau d’interconnexion P1 ML1 Pp MLp Réseau
(mémoire partagée) Canaux d’E/S MM1 MM2 MMn Réseau d’interconnexion P1 ML1 Pp MLp Réseau
MMn
MMn

Réseau d’interconnexion

P1

ML1

d’E/S MM1 MM2 MMn Réseau d’interconnexion P1 ML1 Pp MLp Réseau d’interconnexion MM : module mémoire

Pp

MLp

Réseau d’interconnexion

MM : module mémoire

P : processeur

ML : mémoire locale

Exemples : S-1, IBM370/168MP, Cray X-MP et Cray-2.

Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, octobre 2008

Classification de Flynn

Classification de Flynn • En 1966 : basée sur la multiplicité du flot d'instructions et le

• En 1966 : basée sur la multiplicité du flot d'instructions et le flot de données

• SISD : Single Instruction Single Data Stream

• SIMD : Single Instruction Multiple Data Stream

• MISD : Multiple Instruction Single Data Stream

• MIMD : Multiple Instruction Multiple Data Stream.

Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, octobre 2008

Classification de Flynn : SISD

Classification de Flynn : SISD FI FI FD UC P M UC : unité de contrôle
FI FI FD UC P M
FI
FI
FD
UC
P
M

UC : unité de contrôle

P

: unité de processeur

M

: module mémoire

FI

: flot d'instruction

FD : flot de données

Le systeme peut être pipeline et/ou avoir plus d'une unité fonctionnelle (VAX11/780 une seule unité, IBM370/168 plusieurs unités).

Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, octobre 2008

Classification de Flynn : SIMD

Classification de Flynn : SIMD FD1 P1 M1 FD2 P2 M2 FI UC . . .
Classification de Flynn : SIMD FD1 P1 M1 FD2 P2 M2 FI UC . . .
FD1 P1 M1 FD2 P2 M2 FI UC . . . . . . FDn
FD1
P1
M1
FD2
P2
M2
FI
UC
.
.
.
.
.
.
FDn
Pn
Mm
FI

Systèmes qui ont une structure de tableaux d'ordinateurs (Illiac IV et MPP)

Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, octobre 2008

Classification de Flynn : MISD

Classification de Flynn : MISD FI1 UC1 P1 FD FI2 UC2 P2 . . M1 M2
FI1 UC1 P1 FD FI2 UC2 P2 . . M1 M2 Mm . . .
FI1
UC1
P1
FD
FI2
UC2
P2
.
.
M1
M2
Mm
.
.
.
.
FIn
FD
FIn
FI2
FI1
UCn
Pn

Architecture ayant moins d’intention et considérée comme impraticable par certains architectes

Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, octobre 2008

Classification de Flynn : MIMD

Classification de Flynn : MIMD FI1 FI1 FD1 UC1 P1 DSn M1 FI2 FI2 FD2 UC2
FI1 FI1 FD1 UC1 P1 DSn M1 FI2 FI2 FD2 UC2 P2 M2 . .
FI1
FI1
FD1
UC1
P1
DSn M1
FI2
FI2
FD2
UC2
P2
M2
.
.
.
.
.
.
.
.
.
.
.
.
FIn
FIn
FDn
UCn
Pn
Mm

Exemples : IBM 360/16 MP, Cray-2, IBM 3081/3084 et S-1

Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, octobre 2008