22
Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 1 Systèmes et traitement parallèles Mohsine Eleuldj Département Génie Informatique, EMI [email protected]

Systèmes et traitement parallèles - Ecole Mohammadia d

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Systèmes et traitement parallèles - Ecole Mohammadia d

Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 1

Systèmes et traitement parallèles

Mohsine EleuldjDépartement Génie Informatique, EMI

[email protected]

Page 2: Systèmes et traitement parallèles - Ecole Mohammadia d

Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 2

Système et traitement parallèle

Objectif • Etude des architectures parallèles• Programmation des applications concurrentes (Java et MPI)

Contenu• Introduction au traitement parallèle• Principe de traitement vectoriel et pipeline• Systèmes multiprocesseurs• Analyse et mesures de performance

Page 3: Systèmes et traitement parallèles - Ecole Mohammadia d

Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 3

Chapitre IIntroduction au traitement parallèle

• Quelques applications parallèles• Evolution de la densité d’intégration• 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

Page 4: Systèmes et traitement parallèles - Ecole Mohammadia d

Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 4

Quelques applications parallèlesCalcul parallèle : utilisation de ressources multiples simultanément

(processeurs, RAM, Caches, DMA,…)

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 : • Moteur de recherche du Web • Exploration minière (pétrole, …) • Réalité virtuelle (simulation de vol d’avion, entertainment industry, …) • Environnement de travail collaboratif • Big Data (données massives)

Page 5: Systèmes et traitement parallèles - Ecole Mohammadia d

Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 5

Evolution de la densité d’intégration

Processeur Année Transistors Technologie4004 1970 2,3 K 6μm8088 1980 29 K 3μm80286 1983 134 K 2μm80386 1985 275 K 2μm80486 1989 1,2 M 1μmPentium 1995 3,3M 350 nmPentiumPro 1996 5,5M 250 nmPentium II 1997 7,5 M 180 nmPentium III 1999 9,5 M 130 nmPentium IV 2003 42 M 90 nmi7-3770K 2008 1,4 G 22 nm

Page 6: Systèmes et traitement parallèles - Ecole Mohammadia d

Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 6

Intel Core i7-3770K3,4 GHz, 22 nm, 1,4 G transistors

Page 7: Systèmes et traitement parallèles - Ecole Mohammadia d

Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 7

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

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• Multithread

Page 8: Systèmes et traitement parallèles - Ecole Mohammadia d

Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 8

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

Première génération : 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)

Deuxième génération : 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

Page 9: Systèmes et traitement parallèles - Ecole Mohammadia d

Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 9

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

Troisième génération : 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 (mémoire principale, mémoire secondaire)

Quatrième génération : 1972-1990:• LSI et VLSI 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.

Page 10: Systèmes et traitement parallèles - Ecole Mohammadia d

Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 10

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

Cinquième génération : 1990-aujourd’hui:• VLSI, ULSI, WSI (1G processeurs)• Processeur multicores• Plusieurs niveux de mémoire cache (3 à 7)• CRAY-2 (4 processeurs) plus de 1 GFlops• NEC 5 GFlops et coûte 5 millions de dollars• Mutithreading

Page 11: Systèmes et traitement parallèles - Ecole Mohammadia d

Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 11

Classement des superordinateurs (juin 2014)

Référence : http://www.top500.org/lists/2014/06/

Rang Site Système Cores PFlops

1 National Super Computer Center in Guangzhou, China

Tianhe-2 NUDT 3 120 000 33,86

2 DOE/SC/Oak Ridge National Laboratory, United States

Titan - Cray XK7 Cray Inc. 560 640 17,59

3 DOE/NNSA/LLNLUnited States

SequoiaIBM 1 572 864 17,17

4 RIKEN Advanced Institute for Computational Science, Japan

K computerFujitsu 705 024 10,51

5 DOE/SC/Argonne National Laboratory, United States

Mira - BlueGene/Q, IBM 786 432 8,58

Page 12: Systèmes et traitement parallèles - Ecole Mohammadia d

Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 12

Définition et niveaux

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• Simultaniété : évenements se produisant dans le même instant• Pipeline : événement se produisant pendant des intervalles de temps

cheuvauchésNiveaux 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 le matériel remplace le logiciel :• Miniaturisation et coût• Vitesse (temps réel)• Tolérance au pannes

Page 13: Systèmes et traitement parallèles - Ecole Mohammadia d

Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 13

Parallélisme dans un monoprocesseur

• 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 systèmes d’exploitation

Page 14: Systèmes et traitement parallèles - Ecole Mohammadia d

Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 14

Structures des ordinateurs parallèles

• Ordinateur pipeline parallélisme temporel

• Tableau d'ordinateurs parallélisme spatial

• Système multiprocesseurs asynchrone

Page 15: Systèmes et traitement parallèles - Ecole Mohammadia d

Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 15

Ordinateur pipeline

• 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

• 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.

CI DI CO EOInstruction

Page 16: Systèmes et traitement parallèles - Ecole Mohammadia d

Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 16

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

UC : Unité de ContrôlePC : processeur de contrôleMC : mémoire de contrôleET : Elément de traitementP : processeurM : mémoire locale.

PC

MC

P

M

P

M

P

M

P

M

Réseau d’interconnexion

Exemples : Illiac IV et MPP

E/S

ET1 ET2 ET3 ETn

UC

Page 17: Systèmes et traitement parallèles - Ecole Mohammadia d

Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 17

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

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

MM1

Réseau d’interconnexion

Réseau d’interconnexionMM2

MMn

P1 ML1 Pp MLp

Canaux d’E/S

MM : module mémoireP : processeurML : mémoire locale

Page 18: Systèmes et traitement parallèles - Ecole Mohammadia d

Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 18

Classification de Flynn

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.

Page 19: Systèmes et traitement parallèles - Ecole Mohammadia d

Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 19

Classification de Flynn : SISD

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

UC P M

FI

FI FD

UC : unité de contrôleP : unité de processeurM : module mémoireFI : flot d'instructionFD : flot de données

Page 20: Systèmes et traitement parallèles - Ecole Mohammadia d

Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 20

Classification de Flynn : SIMD

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

UC

Pn MmFI

FI

FDn

P1 M1FD1

P2 M2FD2

......

Page 21: Systèmes et traitement parallèles - Ecole Mohammadia d

Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 21

FI1FInFD

Classification de Flynn : MISD

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

Pn

Mm

FIn

P1

M1

FD

P2

M2......

UCn

UC1

UC2

...

FI2

FI1

... FI2

Page 22: Systèmes et traitement parallèles - Ecole Mohammadia d

Architectures parallèles, M. Eleuldj, Département Génie Informatique, EMI, septembre 2014 22

FI2

FI1

FIn

FD2

FD1

FDn

FI2

FI1

Classification de Flynn : MIMD

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

PnFIn

P1 DSn

P2

...UCn

UC1

UC2

...Mm

M1

M2

...

...