29
Programmation des systèmes réparties Frédéric Gava (MCF) [email protected] LACL, bâtiment P2 du CMC, bureau 221 Université de Paris XII Val-de-Marne 61 avenue du Général de Gaulle 94010 Créteil cedex

Programmation des systèmes répartieslacl.univ-paris12.fr/gava/cours/M2/PSSR/cours_init.pdf · Un pirate peut-il tous casser dans le réseau de mon entreprise ? Et tellement d’autres

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Programmation des systèmes répartieslacl.univ-paris12.fr/gava/cours/M2/PSSR/cours_init.pdf · Un pirate peut-il tous casser dans le réseau de mon entreprise ? Et tellement d’autres

Programmation des systèmes réparties

Frédéric Gava (MCF)[email protected]

LACL, bâtiment P2 du CMC, bureau 221Université de Paris XII Val-de-Marne

61 avenue du Général de Gaulle94010 Créteil cedex

Page 2: Programmation des systèmes répartieslacl.univ-paris12.fr/gava/cours/M2/PSSR/cours_init.pdf · Un pirate peut-il tous casser dans le réseau de mon entreprise ? Et tellement d’autres

Architectures parallèles

Page 3: Programmation des systèmes répartieslacl.univ-paris12.fr/gava/cours/M2/PSSR/cours_init.pdf · Un pirate peut-il tous casser dans le réseau de mon entreprise ? Et tellement d’autres

3/0

Premières machines

1976 : Cray I: refroidi au « gaz liquide »1981 : Cyber 205, 50 Mflops1986 : Cray X-MP (713 MFlops)1991 : Cray Y-MP (16 GFlops)1995-2006 :

Grappes de PCSuper-ordinateurs parallèles et vectorielsCalcul globalisé ou grilles de calculgéographiquement distribuées

Page 4: Programmation des systèmes répartieslacl.univ-paris12.fr/gava/cours/M2/PSSR/cours_init.pdf · Un pirate peut-il tous casser dans le réseau de mon entreprise ? Et tellement d’autres

4/0

Exemple grappe de PCs

Page 5: Programmation des systèmes répartieslacl.univ-paris12.fr/gava/cours/M2/PSSR/cours_init.pdf · Un pirate peut-il tous casser dans le réseau de mon entreprise ? Et tellement d’autres

5/0

Une grappe de l’INRIA

Page 6: Programmation des systèmes répartieslacl.univ-paris12.fr/gava/cours/M2/PSSR/cours_init.pdf · Un pirate peut-il tous casser dans le réseau de mon entreprise ? Et tellement d’autres

6/0

Super-ordinateursLe earth-simulator au Japon, environ 5000 processeurs…Le Tera-10 du CEA (France) est classé par mis les 5 plus puissantes machines…

Page 7: Programmation des systèmes répartieslacl.univ-paris12.fr/gava/cours/M2/PSSR/cours_init.pdf · Un pirate peut-il tous casser dans le réseau de mon entreprise ? Et tellement d’autres

7/0

Le parallélisme ?

On distribue les données sur p=4, 32, 5000 ordinateurs :Chacun calcule sur sa part des données

On s’échange les résultats

On recommence si nécessaire

On espère que le calcul soit complété p fois plus vite :Mais: l’échange des données prend du temps

… temps relatif inchangé depuis plus de 20 ans

Échange 20, 100, 1000 x plus lent qu’un calcul … s’il n’y a pas de bouchon !

Page 8: Programmation des systèmes répartieslacl.univ-paris12.fr/gava/cours/M2/PSSR/cours_init.pdf · Un pirate peut-il tous casser dans le réseau de mon entreprise ? Et tellement d’autres

8/0

Paralléliser c’est distribuer

Données

D on né es

Page 9: Programmation des systèmes répartieslacl.univ-paris12.fr/gava/cours/M2/PSSR/cours_init.pdf · Un pirate peut-il tous casser dans le réseau de mon entreprise ? Et tellement d’autres

9/0

Paralléliser c’est accélérerCALCUL

CA

LC

UL

Page 10: Programmation des systèmes répartieslacl.univ-paris12.fr/gava/cours/M2/PSSR/cours_init.pdf · Un pirate peut-il tous casser dans le réseau de mon entreprise ? Et tellement d’autres

10/0

Mais aussi communiquer et synchroniser

Page 11: Programmation des systèmes répartieslacl.univ-paris12.fr/gava/cours/M2/PSSR/cours_init.pdf · Un pirate peut-il tous casser dans le réseau de mon entreprise ? Et tellement d’autres

11/0

Comment mesurer ?

L

Cela limite les performances…

Calcul

Données

G

Synchronisation (latence)

Temps de communication

Page 12: Programmation des systèmes répartieslacl.univ-paris12.fr/gava/cours/M2/PSSR/cours_init.pdf · Un pirate peut-il tous casser dans le réseau de mon entreprise ? Et tellement d’autres

12/0

Vitesse de calcul

log Flops/s

-2,0

0,0

2,0

4,0

6,0

8,0

10,0

12,0

14,0

1941

1945

1949

1953

1957

1961

1965

1969

1973

1977

1981

1985

1989

1993

1997

2001

2005

Kilo Mega Giga Tera

Loi de Moore : l’efficacité des processeurs double tout les 18 mois (normalement vrai jusqu’en 2017 mais après ?)

Page 13: Programmation des systèmes répartieslacl.univ-paris12.fr/gava/cours/M2/PSSR/cours_init.pdf · Un pirate peut-il tous casser dans le réseau de mon entreprise ? Et tellement d’autres

13/0

Vitesse des communications

1770,4128000t3e-256(32)

2220,472200t3e-256(24)

2530,415000t3e-256(16)

3270,67000t3e-256(8)

3820,94000t3e-256(4)

2601,12000t3e-256(2)

1/g Mmots/s1/L M/sMflops/sNbProcesseurs

CRAY T3E, haut de gamme circa 2002

Même la fibre optique n’y peut rien car la vitesse de la lumière est finie et donc communiquer coûte cher…

Page 14: Programmation des systèmes répartieslacl.univ-paris12.fr/gava/cours/M2/PSSR/cours_init.pdf · Un pirate peut-il tous casser dans le réseau de mon entreprise ? Et tellement d’autres

14/0

Le problème de l’efficacité

Le but faire le total (addition) d’un ensemble de nombre donnée ; le nombre d’entiers à additionner sera toujours le mêmeOn va répartir ces nombres suivant deux nombres de processeurs (humains), 5 et 10Pour cette expérience, je vais demander 10 volontaires

Chacun des volontaires fait la somme des entiers qui lui sont allouésDès que le volontaire a terminé, il se met près de moiPuis les volontaires se réunissent pour faire la somme totalOn analysera ensuite l’efficacité globale des volontaires

Page 15: Programmation des systèmes répartieslacl.univ-paris12.fr/gava/cours/M2/PSSR/cours_init.pdf · Un pirate peut-il tous casser dans le réseau de mon entreprise ? Et tellement d’autres

15/0

Exemple

4+8 2+15+9

Volontaire :

1 2 3

Total : 12+14+3=29

Page 16: Programmation des systèmes répartieslacl.univ-paris12.fr/gava/cours/M2/PSSR/cours_init.pdf · Un pirate peut-il tous casser dans le réseau de mon entreprise ? Et tellement d’autres

16/0

Total avec 5 processeurs

4+8+7+3 2+1+9+85+9+6+1 6+7+4+13+4+5+1

Volontaire :

1 2 3 4 5

Page 17: Programmation des systèmes répartieslacl.univ-paris12.fr/gava/cours/M2/PSSR/cours_init.pdf · Un pirate peut-il tous casser dans le réseau de mon entreprise ? Et tellement d’autres

17/0

Total avec 10 processeurs

Volontaire :

5+6

2

4+8

1

9+2

3

1+7

4

3+8

5

4+5

6

1+6

7

3+9

8

7+4

9

2+3

10

Page 18: Programmation des systèmes répartieslacl.univ-paris12.fr/gava/cours/M2/PSSR/cours_init.pdf · Un pirate peut-il tous casser dans le réseau de mon entreprise ? Et tellement d’autres

18/0

Moralité

Les communications coûtent cher

La synchronisation aussi

Ce n’est pas parce que l’on a plus de processeur que le calcul sera plus rapide : on parle d’efficacité de l’algorithme parallèle

En gros : plus on a de processeurs plus il faut de gros problèmes sinon on fait perdre du temps au processeurs (par rapport à une machine parallèle avec moins de processeurs)

Page 19: Programmation des systèmes répartieslacl.univ-paris12.fr/gava/cours/M2/PSSR/cours_init.pdf · Un pirate peut-il tous casser dans le réseau de mon entreprise ? Et tellement d’autres

19/0

Différentes architectures (1)

On peut classer les machines parallèles suivant leur efficacité, leur nombre de processeurs, le types des processeurs/réseaux/mémoires etc.

On peut néanmoins et grossièrement classer les machines parallèles suivant 2 catégories :

Les machines à mémoire partagées

Les machines à mémoire distribuées

Le modèle client/serveur

Page 20: Programmation des systèmes répartieslacl.univ-paris12.fr/gava/cours/M2/PSSR/cours_init.pdf · Un pirate peut-il tous casser dans le réseau de mon entreprise ? Et tellement d’autres

20/0

Mémoires partagées

Processeur

Mémoire

Bus

Processeur

Bus

Les processeurs « multi-core »comme les « dual-core » : les processeurs accède directement àla mémoire vive ; très efficace mais encore coûteux et limité en nombre de processeurs (16 maxi dans le commerce)

Processeur

MémoireBus

RéseauProcesseur Processeur

Ici, c’est l’apanage des grosses, commerciales et coûteuse (100k à 1M euros) machines massivement parallèles comme les Cray T3E, SGI Origin 2000, IBM SP avec 64, 128, 256 processeurs. Mais très efficaces. Les processeurs accèdent tous à une mémoire vive via un réseau => communications aussi efficaces que lecture mémoire

Page 21: Programmation des systèmes répartieslacl.univ-paris12.fr/gava/cours/M2/PSSR/cours_init.pdf · Un pirate peut-il tous casser dans le réseau de mon entreprise ? Et tellement d’autres

21/0

Mémoires distribués

Processeur

Mémoire

RéseauProcesseur

Mémoire

Processeur

Mémoire

Les processeurs communiquent via le réseaux ; c’est le domaine des grappes de machines. Possibilité de machines peu cher avec un TRES grand nombre de processeurs mais néanmoins, encore aujourd’hui, des communications plus lentes que précédemment. Possibilité de construire pour pas cher sa propre machine parallèle…

Machine esclave

Réseaux

Machine esclaveMachine esclave

Machine esclave

Machine maître

Une machine maître (serveur) distribue les données et les calculs aux esclaves (client) et le maîtres récolte les résultats. Ce modèle de machine parallèles a été utilisé par exemple pour le Généthon, SETI@HOME etc. en utilisant les temps de calculs non-utilisé par les particuliers. On a donc une très grande capacité de calcul mais avec les problèmes suivant : il faut que le problème soit trivialement décomposable, il faut vérifier les données calculés pour éviter les pirates (on fait de la redondance de calcul puis on prend le résultat le plus rendu), communications parfois très coûteuses.

Page 22: Programmation des systèmes répartieslacl.univ-paris12.fr/gava/cours/M2/PSSR/cours_init.pdf · Un pirate peut-il tous casser dans le réseau de mon entreprise ? Et tellement d’autres

22/0

Différentes architectures (2)

MIMDSIMDMultiple Data

MISDSISDSingle Data

Multiple Instructions

Single Instruction

Machine Séquentielle

On peut aussi classer les machines parallèles suivant les programmes parallèles qui y sont utilisés

Pour cela, on classe suivants les instructions et les données

Grappe de machines

Page 23: Programmation des systèmes répartieslacl.univ-paris12.fr/gava/cours/M2/PSSR/cours_init.pdf · Un pirate peut-il tous casser dans le réseau de mon entreprise ? Et tellement d’autres

23/0

SIMDChaque instruction du processeur manipule parallèlement (dans les circuits imprimés) plusieurs données : on a donc plusieurs calculs à la fois pour chaque instruction

On trouve ce type d’instructions dans

les accélérateurs graphiques (du processeur ou de la carte graphique) : on souhaite manipuler plusieurs pixels/polygones à la fois

les processeurs avec co-processeurs arithmétiques : on souhaite calculer plusieurs additions à la fois pour accélérer les gros calculs numériques

etc.

Page 24: Programmation des systèmes répartieslacl.univ-paris12.fr/gava/cours/M2/PSSR/cours_init.pdf · Un pirate peut-il tous casser dans le réseau de mon entreprise ? Et tellement d’autres

24/0

MISDPlusieurs instructions manipulent parallèlement une seule et unique donnée !?

En fait possible avec des programmes dis en « pipe-line » : des données circulent sur un circuits de processeurs (ou de processus, c’est à dire avec plusieurs processus sur un même processeur) et chaque processus ne fait qu’une seule et unique opération

Exemple :

Processus 1calcul +1

Processus 2calcul *2

Processus 3calcul +3 ?1, 5, 6

10, 23

Flux de données

Données initiales Données finales

Page 25: Programmation des systèmes répartieslacl.univ-paris12.fr/gava/cours/M2/PSSR/cours_init.pdf · Un pirate peut-il tous casser dans le réseau de mon entreprise ? Et tellement d’autres

Futurs du parallélisme ?(qui vivra verra…)

Page 26: Programmation des systèmes répartieslacl.univ-paris12.fr/gava/cours/M2/PSSR/cours_init.pdf · Un pirate peut-il tous casser dans le réseau de mon entreprise ? Et tellement d’autres

26/0

Les grilles de calculUn « graal »

(super)-ordinateur distribuées géographiquement

Du calcul à la demande, comme de l’électricité

Nombreux projets et réalisations :GRID’5000

Grille du CERN

Globus

etc.

Page 27: Programmation des systèmes répartieslacl.univ-paris12.fr/gava/cours/M2/PSSR/cours_init.pdf · Un pirate peut-il tous casser dans le réseau de mon entreprise ? Et tellement d’autres

27/0

TaxonomieUne machine parallèle=plusieurs processeursMeta-computing = plusieurs machines parallèlesCalcul pair-à-pair = chaque machines est relié à une ou plusieurs autres machines (échanges de fichiers)Modèle Clients-Serveurs = des serveurs répartissent les calculs à des clients ; ceux-ci se connectent, calculent, redonnent le résultats aux serveurs etc.Global-computing = toutes les machines du mondes vue comme une seule ENORME machine (le « graal »)Mobile-computing = un utilisateur veut lancer une application ; un agent informatique se « balade » sur le net pour trouver une machine suffisamment puissante pour exécuter cette application ; puis revient sur la machine de l’utilisateur pour lui fournir le résultatetc.

Page 28: Programmation des systèmes répartieslacl.univ-paris12.fr/gava/cours/M2/PSSR/cours_init.pdf · Un pirate peut-il tous casser dans le réseau de mon entreprise ? Et tellement d’autres

28/0

Les problèmesSécurité :

applications détruisant les fichiers etc.autorisation sur quelles machines ?sûreté d’exécution : une application plantant la/les machine(s) pour gêner les

autres applicationsetc.

Performance :prédiction des communications…répartition des ressources physiquesune petite application (calculette) a t’elle besoin d’autant de ressource ?sécurité : une application faisant des millions de calculs inutile pour gêner les

autresetc.

Portabilité : grande hétérogénéité des machinesTolérance aux « pannes » : comment faire quand une machine se déconnecte (panne de courtant etc.) ?La recherche en informatique y travaille (voir site LACL par ex.)

Page 29: Programmation des systèmes répartieslacl.univ-paris12.fr/gava/cours/M2/PSSR/cours_init.pdf · Un pirate peut-il tous casser dans le réseau de mon entreprise ? Et tellement d’autres

29/0

ApplicationsAnalyse de la structure du web :

Qui parle de qui sur les pages perso ?Que peut-on savoir sur mon entreprise via le web et par regroupement

d’information ?Quelles sont les réseaux pirates ?

Sécurité informatique :ce protocole de commerce est-il vraiment sûr ?Quel effet aurait une panne sur des informations critiques ?Le protocole de vote électronique est-il fiable ?Un pirate peut-il tous casser dans le réseau de mon entreprise ?

Et tellement d’autres choses…Intelligence artificiel (interaction homme-machine comme un e-vendeur ou

apprentissage automatique pour la recherche de pétrole d’après des relevés topographiques et géologiques)Calcul formelle, démonstration automatiques, assistant de preuves (les sujets de

Bac S peuvent être entièrement résolue par des machines)etc.