Systèmes parallèles et distribués

Dimension: px
Commencer à balayer dès la page:

Download "Systèmes parallèles et distribués"

Transcription

1 Systèmes parallèles et distribués Grégory Mounié Grégory Mounié Systèmes parallèles et distribués / 58

2 Outline 1 Introduction 2 Performances 3 Problèmes du calcul parallèle 4 Intergiciels Grégory Mounié Systèmes parallèles et distribués / 58

3 Introduction Systèmes distribués Mise en commun de resources matérielles : CPU, mémoire, logiciels, données Grégory Mounié Systèmes parallèles et distribués / 58

4 Introduction Tolérance aux pannes Stockage pérenne Only wimps use tape backup: real men just upload their important stuff on ftp, and let the rest of the world mirror it. L.T. Définition de Lamport A distributed system is one that stops you from getting any work done when a machine you ve never heard of, crashes. Grégory Mounié Systèmes parallèles et distribués / 58

5 Introduction Systèmes distribués Attention Un programme distribué présente de nombreux désavantages! D une manière générale il vaut mieux éviter le recours aux programmes distribués. Grégory Mounié Systèmes parallèles et distribués / 58

6 Introduction Dans ce cours Objectif vers des systèmes à très grand échelle réseaux pair-à-pair: edonkey, freenet, gnutella calcul distribué orienté performance: boinc, mpi, charm++, kaapi Outils Intergiciels, dépend de la plateforme visée Algorithmes, dépend du type d intergiciel, de l échelle visé, et bien sûr du problème. Grégory Mounié Systèmes parallèles et distribués / 58

7 Introduction Exemple d intergiciel: BOINC issu de infrastructure de calcul nombreux projets: Le 2 décembre 2013 Actifs: volunteers, computers. 24-hour average: 8.11 PetaFLOPS. (rang 5.5 au top500) Grégory Mounié Systèmes parallèles et distribués / 58

8 Introduction Déroulement des séances 1 cours: Speedup, Amdahl, Graham, équilibrage, MPI 2 cours: tolérance aux pannes/opérations de communication 3 TP: lancé de rayon distribué (MPI) 4 TP: lancé de rayon (MPI) 5 TP: simgrid / déploiement d applications 6 cours: présentation de votre projet devant les autres étudiants (10 min) Grégory Mounié Systèmes parallèles et distribués / 58

9 Introduction Projet trinome (10 min de présentation+5min question) implantation des techniques du cours langagues / bibliothèques parmi 20 choix arbitraire (transparent suivant) make distribué compilation blender analyse de performances : jusqu à 80 coeurs sur 40 PCs Grégory Mounié Systèmes parallèles et distribués / 58

10 Introduction Les environnements et bibliothèques possibles Chaque groupe choisira un enviromment différents parmi les 20 suivants: 1 Les environnement de programmations parallèles distribuées: MPI (Communication Asynchrone); MPI (Communication uni-directionnelles Read/Write); MPI (Communication Collectives); MPI (avec l interface fichier de MPI); Charm++ (Bibliothèque C++) Python PP Hadoop (Map-Reduce de Apache) Python + Disco (map reduce en python) 2 Les languages dédiés Julia (http://julialang.org); Erlang (http://erlang.org); Chapel (http://chapel.cray.com) 3 Les objets distribués Java-RMI; DO de Objective-C (gnustep); Distributed ADA (polyorb); Python + Pyro; RPC Go (http://golang.org); RPC C; Corba; 4 Autres Zero-MQ (bibliothèque réseau de haut niveaux) Simgrid (simulation) Grégory Mounié Systèmes parallèles et distribués / 58

11 Introduction Lanceurs parallèles Pour lancer vos applications, il faudra être capable de déployer les instances sur les PCs Lanceurs parallèles Il faut éviter la boucle for séquentielle de ssh qui ne passe pas à l échelle: taktuk est le lanceur conseillé ssh-add et taktuk -c "ssh -A" Grégory Mounié Systèmes parallèles et distribués / 58

12 Performances Évaluation de performance La mesure du temps La mesure précise du temps est un problème dès qu il y a plusieurs horloges déjà sur un multi-coeur, pour avoir des temps à la nanoseconde en distribuée POSIX clock_gettime() de <time.h>. Grégory Mounié Systèmes parallèles et distribués / 58

13 Performances Accélération Definition (L accélération (Speedup)) C est le temps du meilleur calcul séquentiel divisé par le temps de calcul parallèle sur m processeurs ( T 1 /T m ) Grégory Mounié Systèmes parallèles et distribués / 58

14 Performances L efficacité L efficacité (Efficiency) C est l accélération multiplié par l inverse du nombre m de ressources de calculs ( T 1 /(m T m ) ). Accélération superlinéaire et super efficacité Normalement l accélération est plus petite que m et lefficacité plus petite que 1. Ce n est pas toujours vrai (cache, algorithme non déterministe). Grégory Mounié Systèmes parallèles et distribués / 58

15 Performances Algorithme 1: l Addition Question Comment additionne-t-on deux entiers? Quelle est le problème dans une parallélisation de cet algorithme? Comment faire? Grégory Mounié Systèmes parallèles et distribués / 58

16 Performances Algo 2: Tri PRAM Question Quelle est l opération de base d un tri? Comment la paralléliser? Pourquoi la compléxité d un tri devient alors N 2?. Grégory Mounié Systèmes parallèles et distribués / 58

17 Performances Algo 3: Tri MCSTL Question Comment améliorer le surcoût du tri? Idée du merge-sort parallèle (mémoire partagée) 1 merge-sort local 2 échange de pivots, tri et échanges des chunks correspondants 3 fusion des chunks Grégory Mounié Systèmes parallèles et distribués / 58

18 Performances Tri rapide Grégory Mounié Systèmes parallèles et distribués / 58

19 Performances Merge Comment commenter ces courbes rapidement?! Accélération de l exécution 9 STL min element on 8 threads 8 7 T STL / T Library X-Kaapi 2 KaSTL PaSTeL 1 TBB Cilk Size jeudi 3 septembre Grégory 2009 Mounié Systèmes parallèles et distribués / 58

20 Performances Loi d Amdahl Dans chaque code on trouve une partie parallèle et une partie séquentielle modèle du temps d exécution : T m = T 1 (1 f ) + T 1 f m lim m T m = T 1 (1 f ) Exemples : code parallèle à 50 % : T = T 1 /2 code parallèle à 80 % : T 10 = 0.28T 1 Grégory Mounié Systèmes parallèles et distribués / 58

21 Performances Heuristiques à performance garantie Problèmes NP-Difficiles Une exécution parallèle efficace demande la résolution des problèmes d optimisation classiques: partition, ordonnancement, sac-à-dos, etc. Ils sont (tous) NP-Difficile. On ne cherche pas l optimal, mais juste une bonne solution. Definition (Une heuristique a une garantie de performance de q) si pour toute instance I d un problème et σi la valeur la solution optimale, l heuristique produit une solution de valeur σ I tel que I, σ I < qi Grégory Mounié Systèmes parallèles et distribués / 58

22 Performances Graham Definition (Algorithme de liste) Les tâches à ordonnancer sont rangées dans une liste de priorité Lorsqu une ressource de calcul est disponible, on y démarre le calcul de la tâche prête (ou qui démarrera le plus tôt) la plus prioritaire. Grégory Mounié Systèmes parallèles et distribués / 58

23 Performances Garantie des algorithmes de listes Theorem (Tâches indépendantes séquentielles) Un algorithme de liste a une garantie de performance de 2 sur m processeurs homogènes. Theorem (Graphe de tâches séquentielles) Un algorithme de liste a une garantie de performance de 2 sur m processeurs homogènes. Theorem (Tâches indépendantes parallèles rigides) Un algorithme de liste a une garantie de performance de 2 sur m processeurs homogènes. Grégory Mounié Systèmes parallèles et distribués / 58

24 Performances Bornes inférieures On ne peut pas comparer avec la solution optimale, mais on peut se comparer avec deux bornes inférieures. Le chemin critique du graphe La plus longue tâche pour les tâches indépendantes La somme du coût des noeuds divisée par le nombre de processeurs Le travail total divisé par le nombre de processeurs Grégory Mounié Systèmes parallèles et distribués / 58

25 Performances Preuve pour les tâches indépendantes Montrer le 2 en utilisant les bornes inférieures de la solution optimale. Grégory Mounié Systèmes parallèles et distribués / 58

26 Performances Preuve des graphes Illustrer l importance du Grégory Mounié Systèmes parallèles et distribués / 58

27 Performances Approximation duale Comment répartir les calculs si l on a deux types de processeurs et donc des vitesses différentes pour les tâches. l approximation duale au sens de Schmoys permet d obtenir une garantie de 2 facilement. Grégory Mounié Systèmes parallèles et distribués / 58

28 Problèmes du calcul parallèle Équilibrage de la charge 4 grandes stratégies: Découpe statique Maître-esclave Vol de travail Adaptatif Grégory Mounié Systèmes parallèles et distribués / 58

29 Problèmes du calcul parallèle Découpage statique Répartition efficace Le but est de minimiser les communications et les synchronisations. "Owner compute rule" Les calculs sont effectués là où sont rangées les données. Découpage automatique efficace avec des partitionneurs de graphes (Scotch et Metis) Grégory Mounié Systèmes parallèles et distribués / 58

30 Problèmes du calcul parallèle Maître-esclave (Master-Worker) Découpage du travail en petit morceau indépendant: les tâches (jobs, tasks) La liste des tâches est conservé par le maître Les esclaves viennent demander du travail au maître lorsqu ils n ont plus de travail Grégory Mounié Systèmes parallèles et distribués / 58

31 Problèmes du calcul parallèle Vol de travail Variante distribuée du maître-esclave Tous les noeuds ont une liste locale de tâches Lorsque sa liste locale est vide, le noeud vole du travail dans la liste d une victime tirée au hasard Variations sur les vols Probabilité du choix de la victime vols multiples si temps de vols très différents. Grégory Mounié Systèmes parallèles et distribués / 58

32 Problèmes du calcul parallèle Adaptatif Le travail n est découpé que lorsqu une demande de vol arrive peu de surcoût par rapport au séquentiel: plus efficace pour les problèmes de petites tailles. Grégory Mounié Systèmes parallèles et distribués / 58

33 Problèmes du calcul parallèle Autres problèmes Données Déploiement Tolérance aux pannes Hétérogénéité Grégory Mounié Systèmes parallèles et distribués / 58

34 Intergiciels Programmation distribuée Le point difficile lors de la programmation, est la gestion de la distribution et des communications. Des bibliothèques/api comme MPI permettent de programmer les applications avec le paradigme simple à comprendre du passage de message. D autres abstractions sont possibles (OpenMP, OpenMP avec des tâches, RMI+J2EE, DO, DCOM, etc.). Grégory Mounié Systèmes parallèles et distribués / 58

35 Intergiciels Le passage de message Le paradigme consiste à écrire dans le code séquentiel exécuté par chaque noeuds, les communications (envoi ou réception) qu il doit réaliser pour faire correctement le calcul. Exemple: sur le noeud 0 1 int tableau[3] = {1,2,3}; 2 int destinataire=3; 3 4 Calcul(tableau, 3); 5 Envoi(tableau, 3, INT, destinataire); Grégory Mounié Systèmes parallèles et distribués / 58

36 Intergiciels Le passage de message (suite) sur le noeud 3 1 int tableaucalcule[3] = {}; 2 int emetteur=0; 3 4 Recevoir(tableauCalcule, 3, INT, emetteur); 5 ContinuerCalcul(tableauCalcule, 3); Grégory Mounié Systèmes parallèles et distribués / 58

37 Intergiciels MPI MPI est un standard définissant l API de fonctions permettant d implanter des applications parallèles avec passage de message. Le standard ne définit pas les opérations de gestion (lancement de l application parallèle). Elles peuvent varier d une implantation à l autre. Implantations couramment utilisées: (ex LAM-mpi) et MPICH Grégory Mounié Systèmes parallèles et distribués / 58

38 Intergiciels Histoire L API est défini pour C, C++ et Fortran. Elle est la somme de l expertise des concepteurs autour de l écriture de bibliothèques d échange de message ( , 1996 pour MPI-2). Elle permet ou fournit: la portabilité (standard), l exploitation des performances au plus près du matériel, elle fournit de nombreuses fonctionnalité et est disponible presque partout. Grégory Mounié Systèmes parallèles et distribués / 58

39 Intergiciels Mémoire distribuée MPI a été conçu pour des architectures à mémoire distribuée avec un seul CPU. Elle a évolué pour faciliter l exploitation de multi-coeurs inter-connectés. Elle supporte l hétérogénéité (verbeux) et la dynamicité (dépend de l implantation) Grégory Mounié Systèmes parallèles et distribués / 58

40 Intergiciels Hello world en MPI 1 #include <mpi.h> 2 3 int main(int argc, char **argv) { 4 MPI_Init(& argc, &argv); 5 printf("hello world!\n"); 6 MPI_Finalize(); 7 } Grégory Mounié Systèmes parallèles et distribués / 58

41 Intergiciels Compilation 1 mpicc -o hello hello.c 2 mpirun -np 100./hello # et hop! 100 Hello! 3 mpirun -np hostfile listedemachines./hello Grégory Mounié Systèmes parallèles et distribués / 58

42 Intergiciels Nommage des processus Pour pouvoir différencier les calculs des noeuds, il faut pouvoir les nommer. Tous les processus lancés ensemble appartiennent à un même groupe (Communicateur). Le communicateur par défaut est MPI_COMM_WORLD Deux fonctions permettent d obtenir la taille et le rang dans le communicateur. Grégory Mounié Systèmes parallèles et distribués / 58

43 Intergiciels Hello world et nommage 1 #include <mpi.h> 2 #include <stdio.h> 3 4 int main(int argc, char **argv) { 5 int taille, rang, len; 6 char hostname[mpi_max_processor_name]={}; 7 MPI_Init(& argc, &argv); 8 MPI_Comm_size(MPI_COMM_WORLD, &taille); 9 MPI_Comm_rank(MPI_COMM_WORLD, &rang); 10 MPI_Get_processor_name(hostname, &len); 11 printf("hello world %d parmi %d sur %s!\n", rang, taille, 12 MPI_Finalize(); 13 } L affichage est dans le désordre. Il dépend de l ordonnancement des processus lancés. Grégory Mounié Systèmes parallèles et distribués / 58

44 Intergiciels Mesure du temps écoulé 1 double MPI_Wtime(); 2 3 double debut = MPI_Wtime(); double fin = MPI_Wtime(); 6 printf("temps ecoule %g\n", fin - debut); 7 8 double MPI_Wtick(); (tick) La précision de la mesure est disponible en utilisant la fonction de la ligne tick. Grégory Mounié Systèmes parallèles et distribués / 58

45 Intergiciels Communications MPI propose de nombreuses variantes pour les communications point-à-point (un processus emetteur et un processus récepteur). Grégory Mounié Systèmes parallèles et distribués / 58

46 Intergiciels MPI_Send / MPI_Recv 1 float tableau[10]; 2 int recepteur; int TAG=123456; MPI_Send(tableau, 10, MPI_FLOAT, 5 recepteur, TAG, 6 MPI_COMM_WORLD); 1 float tableaur[10]; 2 MPI_Status status; int emetteur; MPI_Recv( tableaur, 10, MPI_FLOAT, 5 emetteur, TAG, 6 MPI_COMM_WORLD, &status); Grégory Mounié Systèmes parallèles et distribués / 58

47 Intergiciels Sémantique MPI_Send() et MPI_Recv() sont bloquants jusqu à ce que les données puissent être réutilisé, MPI_Recv() est donc bloquant jusqu à la réception du message, MPI_Send() est bloquant jusqu à ce que l envoi ou la copie des données. Grégory Mounié Systèmes parallèles et distribués / 58

48 Intergiciels Exercice Anneau à jeton Le premier processus envoie un entier au processus numéro 2. Chaque autre processus passe un entier au processus suivant. Le dernier repasse l entier au premier. Grégory Mounié Systèmes parallèles et distribués / 58

49 Intergiciels Joker en réception 1 MPI_Recv( tableaur, 10, MPI_FLOAT, 2 MPI_ANY_SOURCE, MPI_ANY_TAG, // jokers 3 MPI_COMM_WORLD, &status); Grégory Mounié Systèmes parallèles et distribués / 58

50 Intergiciels Pourquoi avoir plusieurs type de communications Exemple: tous les processus échangent avec le processus 0 if (rang!= 0) { MPI_Send(donnees, nb, MPI_DOUBLE, 0, TAG, MPI_COMM_WORLD); MPI_Recv(donnees, nbr, MPI_DOUBLE, 0, TAG, MPI_COMM_WORLD, & } else { for(int dest =1; dest < taille; dest++, donnees += nbr) { MPI_Send(donnees, nb, MPI_DOUBLE, dest, TAG, MPI_COMM_WORLD MPI_Recv(donnees, nb, MPI_DOUBLE, dest, TAG, MPI_COMM_WORLD } } Si Send envoie les données lorsque la réception est prête, quel est le problème? Si Send envoie les données dès qu il commence, quel est le problème? Grégory Mounié Systèmes parallèles et distribués / 58

51 Intergiciels Envoi et Réception Asynchrone MPI permet de démarrer des communications puis d attendre plus tard leur fin. MPI_Request req; MPI_Status status; MPI_IRecv(donnees, nb, MPI_INT, emetteur, TGA, MPI_COMM_WORLD, &req);... MPI_Wait(&req, &status); mais aussi MPI_Test(), MPI_Testall(), MPI_Testany(), MPI_Testsome(), MPI_Waitall(), MPI_Waitany(), MPI_Waitsome() Grégory Mounié Systèmes parallèles et distribués / 58

52 Intergiciels Envoi synchrone L envoi terminera après le début de la réception MPI_Ssend(donnees, nb, MPI_INT, destinataire, TAG, MPI_COMM_WORLD); Grégory Mounié Systèmes parallèles et distribués / 58

53 Intergiciels Envoi tamponné Les données seront copiées dans un tampon intermédiaire MPI_Buffer_attach(& buffer, taille); MPI_Bsend(donnees, nb, MPI_INT, destinataire, TAG, MPI_COMM_WORLD); MPI_Buffer_detach(& buffer, taille); Cela à un coût non négligeable par rapport à une transmission avec 0 copie. Grégory Mounié Systèmes parallèles et distribués / 58

54 Intergiciels Envoi et réception simultanée Le code d échange précédent mais avec deux tampons différents. if (rang!= 0) { MPI_Sendrecv(donnees, nb, MPI_DOUBLE, 0, STAG donnees2, nb2, MPI_DOUBLE, 0, RTAG, MPI_COMM_WORLD, & status); } else { for(int dest =1; dest < taille; dest++, donnees += nbr) { MPI_Sendrecv(donnees, nb, MPI_DOUBLE, dest, STAG, donnees2, nb2, MPI_DOUBLE, dest, RTAG, MPI_COMM_WORLD, & status); } } Grégory Mounié Systèmes parallèles et distribués / 58

55 Intergiciels Envoi prêt (ready) à être reçu Le programmeur indique que la réception est déjà place. MPI_Rsend(donnees, nb, MPI_INT, destinataire, TAG, MPI_COMM_WORLD); Grégory Mounié Systèmes parallèles et distribués / 58

56 Intergiciels Et encore MPI_Waitall(), MPI_Waitany(), MPI_Waitsome() Attente mais sans faire vraiment la réception : MPI_Probe Version incomplète des envois Grégory Mounié Systèmes parallèles et distribués / 58

57 Intergiciels Communication collective 1 MPI_Barrier(MPI_COMM_WORLD); 2 MPI_Bcast( donnees, 20, MPI_INT, root, MPI_COMM_WORLD ); 3 MPI_Scatter( donnees, 20, MPI_INT, 4 donneesr, 20, MPI_INT, 5 root, MPI_COMM_WORLD); 6 MPI_Gather( donnees, 20, MPI_INT, 7 donneesr, 20, MPI_INT, 8 root, MPI_COMM_WORLD); 9 MPI_Allgather( donnees, 20, MPI_INT, 10 donneesr, 20, MPI_INT, 11 root, MPI_COMM_WORLD); 12 MPI_Reduce( donnees, donneesr, 20, MPI_INT, 13 OP, root, MPI_COMM_WORLD); 14 // OP: MPI_MAX, MPI_SUM, MPI_PROD, etc. Grégory Mounié Systèmes parallèles et distribués / 58

58 Intergiciels Construction de type dérivé les types de bases MPI_CHAR, MPI_WCHAR, MPI_SHORT, MPI_INT, MPI_LONG, MPI_FLOAT, MPI_DOUBLE, MPI_BYTE, etc. Pour une structure 1 struct T { int a; float b; }; 2 T tmp; 3 int nb=2; 4 int len[2] = {1, 1}; 5 MPI_Aint indices[2] = { (&tmp.a) - (&tmp), (&tmp.b) - (&tmp) 6 MPI_Datatype old[2] = { MPI_INT, MPI_FLOAT }; 7 MPI_Datatype new; 8 MPI_Type_struct( nb, len, indices, old, & new ); Grégory Mounié Systèmes parallèles et distribués / 58

Programmation parallèle et distribuée

Programmation parallèle et distribuée ppd/mpi p. 1/68 Programmation parallèle et distribuée Introduction à MPI Message Passing Interface Philippe MARQUET Philippe.Marquet@lifl.fr Laboratoire d informatique fondamentale de Lille Université

Plus en détail

Clustering sous Fedora

Clustering sous Fedora Table des matières Clustering sous Fedora Notion de cluster... 2 Installation du cluster... 2 Configuration de SSH sans mot de passe... 4 Installation de MPICH... 6 Désactivation de selinux et du mur coupe-feu...

Plus en détail

Travaux pratiques MPI

Travaux pratiques MPI Travaux pratiques MPI Présentation de MPI Schéma général d un programme MPI Exécution d un programme C quelques commandes Unix Quelques fonctions MPI Exemples de programmes Communication Calcul de P Gestion

Plus en détail

Introduction à la Programmation Parallèle: MPI

Introduction à la Programmation Parallèle: MPI Introduction à la Programmation Parallèle: MPI Frédéric Gava et Gaétan Hains L.A.C.L Laboratoire d Algorithmique, Complexité et Logique Cours du M2 SSI option PSSR Plan 1 Modèle de programmation 2 3 4

Plus en détail

INFO-F-404 : Techniques avancées de systèmes d exploitation

INFO-F-404 : Techniques avancées de systèmes d exploitation Nikita Veshchikov e-mail : nikita.veshchikov@ulb.ac.be téléphone : 02/650.58.56 bureau : 2N8.213 URL : http://student.ulb.ac.be/~nveshchi/ INFO-F-404 : Techniques avancées de systèmes d exploitation Table

Plus en détail

Message Passing Interface (MPI)

Message Passing Interface (MPI) Message Passing Interface (MPI) Isabelle Dupays Marie Flé Jérémie Gaidamour Dimitri Lecas MPI Plan I 1 Introduction... 6 1.1 Introduction... 7 1.2 Concepts de l échange de messages...8 1.3 Mémoire distribuée...

Plus en détail

Introduction to Parallel Programming with MPI

Introduction to Parallel Programming with MPI Introduction to Parallel Programming with MPI Master Modélisation et Simulation - ENSTA cours A1-2 Pierre Kestener pierre.kestener@cea.fr CEA-Saclay, DSM, France Maison de la Simulation MDLS, September,

Plus en détail

Introduction to Parallel Programming with MPI

Introduction to Parallel Programming with MPI Introduction to Parallel Programming with MPI Master Modélisation et Simulation - ENSTA cours TA01 Edouard Audit - edouard.audit@cea.fr Pierre Kestener - pierre.kestener@cea.fr Nicolas Kielbasiewicz -

Plus en détail

BE de programmation MPI-1 par envois de messages bloquants

BE de programmation MPI-1 par envois de messages bloquants BE-MPI-1envois de messages bloquants Page 1 of 3 01/03/2010 Calcul parallèle et distribué, et Grilles de calculs Cours de 3ème année SI à Supélec BE de programmation MPI-1 par envois de messages bloquants

Plus en détail

MPI : Un outil pour le multi-coeur?

MPI : Un outil pour le multi-coeur? MPI : Un outil pour le multi-coeur? Romaric David / Loïc Gouarin Université de Strasbourg / Laboratoire de mathématiques d'orsay 16 décembre 2010 Plan 1 Introduction 2 Principe de MPI 3 Les bases de MPI

Plus en détail

INSTALLATION ET CONFIGURATION POUR LA PROGRAMMATION

INSTALLATION ET CONFIGURATION POUR LA PROGRAMMATION INSTALLATION ET CONFIGURATION POUR LA PROGRAMMATION PARALLELES SOUS WINDOWS I. PREPARATION DE L ENVIRONNEMENT Tous d abord il va vous falloir télécharger quelques logiciels afin de pouvoir commencer à

Plus en détail

MPI Message Passing Interface

MPI Message Passing Interface MPI Message Passing Interface Frédéric Desprez INRIA LIP ENS Lyon Equipe Avalon F. Desprez - UE Parallélisme 2013-2014 - 1 Comment programmer une machine parallèle Sans le savoir (mémoire partagée, mémoire

Plus en détail

Systèmes d exploitation II Chapitre 2 : Gestion des processus. www.achrafothman.net

Systèmes d exploitation II Chapitre 2 : Gestion des processus. www.achrafothman.net Systèmes d exploitation II Chapitre 2 : Gestion des processus www.achrafothman.net 1 Processus Concept de Processus Ordonnancement de Processus Opérations sur les Processus Processus Coopératifs Communication

Plus en détail

Conception des systèmes répartis

Conception des systèmes répartis Conception des systèmes répartis Principes et concepts Gérard Padiou Département Informatique et Mathématiques appliquées ENSEEIHT Octobre 2012 Gérard Padiou Conception des systèmes répartis 1 / 37 plan

Plus en détail

Objectifs du cours Modèles et Approches Formels de Systèmes Distribués

Objectifs du cours Modèles et Approches Formels de Systèmes Distribués Objectifs du cours Modèles et Approches Formels de Systèmes Distribués Mohamed Mosbah LaBRI ENSEIRB - Université Bordeaux 1 mosbah@labri.fr dept-info.labri.fr/~mosbah/mafsd.html Connaître les caractéristiques

Plus en détail

Exécution des applications réparties

Exécution des applications réparties Exécution des applications réparties Programmation des Applications Réparties Olivier Flauzac URCA Master STIC-Informatique première année Olivier Flauzac (URCA) PAR : Exécution des applications réparties

Plus en détail

Programmation C. Apprendre à développer des programmes simples dans le langage C

Programmation C. Apprendre à développer des programmes simples dans le langage C Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités

Plus en détail

Informatique III: Programmation en C++ Introduction. Examens. Chargé de cours François Fleuret francois.fleuret@epfl.ch

Informatique III: Programmation en C++ Introduction. Examens. Chargé de cours François Fleuret francois.fleuret@epfl.ch Informatique III: Programmation en C++ Lundi 24 Octobre 2005 Chargé de cours François Fleuret francois.fleuret@epfl.ch Assistant Mathieu Salzmann mathieu.salzmann@epfl.ch Assistants étudiants Ali Al-Shabibi

Plus en détail

TP1 - Introduction au langage C

TP1 - Introduction au langage C ENS Lyon L-Info PROJ1 2014-2015 TP1 - Introduction au langage C Sujet à terminer pour le dimanche 20 à 2h59, sous forme d une archive.zip contenant votre code source, par email à aurelien.cavelan@ens-lyon.fr.

Plus en détail

Introduction à la Programmation parallèle INFO 3. Camille Coti 1 camille.coti@lipn.univ-paris13.fr

Introduction à la Programmation parallèle INFO 3. Camille Coti 1 camille.coti@lipn.univ-paris13.fr Introduction à la Programmation parallèle Institut Galilée INFO 3 Camille Coti 1 camille.coti@lipn.univ-paris13.fr 1 Université de Paris XIII, CNRS UMR 7030, France 1 Camille Coti Introduction à la Programmation

Plus en détail

Systèmes et applications distribués Intergiciels et applications communicantes

Systèmes et applications distribués Intergiciels et applications communicantes Systèmes et applications distribués Intergiciels et applications communicantes Philippe Quéinnec Télécommunication et Réseaux 2e année ENSEEIHT 24 février 2014 Inspiré de cours de G. Padiou, Ph. Mauran

Plus en détail

Programmation parallèle et distribuée

Programmation parallèle et distribuée ppd/mpassing p. 1/43 Programmation parallèle et distribuée Communications par messages Philippe MARQUET Philippe.Marquet@lifl.fr Laboratoire d informatique fondamentale de Lille Université des sciences

Plus en détail

Introduction à MapReduce/Hadoop et Spark

Introduction à MapReduce/Hadoop et Spark 1 / 36 Introduction à MapReduce/Hadoop et Spark Certificat Big Data Ludovic Denoyer et Sylvain Lamprier UPMC Plan 2 / 36 Contexte 3 / 36 Contexte 4 / 36 Data driven science: le 4e paradigme (Jim Gray -

Plus en détail

Analyse et mesure de performances du calcul distribué

Analyse et mesure de performances du calcul distribué Analyse et mesure de performances du calcul distribué Mohsine Eleuldj Département Génie Informatique, EMI eleuldj@emi.ac.ma CruCID Workshop, EMI, Rabat, 5 au 7 juillet 1999 Motivation Types d applications

Plus en détail

Systèmes distribués Introduction

Systèmes distribués Introduction Systèmes distribués Introduction Nabil Abdennadher nabil.abdennadher@hesge.ch http://lsds.hesge.ch/distributed-systems/ 2015/2016 Semestre d Automne 1 Aujourd hui les réseaux et les SDI sont partout! Réseaux

Plus en détail

Grid Computing. Plan du cours. Plan. Composants d une Grille. Nouredine.Melab@lifl.fr. Besoin d intergiciels robustes

Grid Computing. Plan du cours. Plan. Composants d une Grille. Nouredine.Melab@lifl.fr. Besoin d intergiciels robustes Grid Computing Plan du cours Nouredine.Melab@lifl.fr Les grilles informatiques : concepts et infrastructures La grille nationale Grid5000 Modèles de programmation et intergiciels pour le grilles Etude

Plus en détail

Chapitre 13. Exécution et débogage de programmes parallèles MPI avec OpenMPI

Chapitre 13. Exécution et débogage de programmes parallèles MPI avec OpenMPI Chapitre 13 Exécution et débogage de programmes parallèles MPI avec OpenMPI 1 13.1 Introduction : Caractéristiques d'un cluster et du cluster utilisé dans le cours Voici deux dénitions de ce qu'est un

Plus en détail

Super Calculateur HPC, pour High Performance Computing

Super Calculateur HPC, pour High Performance Computing Super Calculateur HPC, pour High Performance Computing Certaines applications ont besoin de faire un grand nombre de calcul, souvent pour des problèmes de simulation. météorologie, physique (nucléaire

Plus en détail

CTRAVAUX PRATIQUES INTRODUCTION À LA PROGRAMMATION 2EBAC BIOLOGIE - 2 ND QUAD- 2010-2011 TP 0 BELGIQUE 04/366.90.43

CTRAVAUX PRATIQUES INTRODUCTION À LA PROGRAMMATION 2EBAC BIOLOGIE - 2 ND QUAD- 2010-2011 TP 0 BELGIQUE 04/366.90.43 PROFESSEUR CTRAVAUX PRATIQUES INTRODUCTION À LA PROGRAMMATION 2EBAC BIOLOGIE - 2 ND QUAD- 2010-2011 TP 0 PR. PETER SCHLAGHECK BÂT. B5 PHYSIQUE QUANTIQUE STATISTIQUE ALLÉE DU 6 AOÛT 17 4000 LIÈGE 1 BELGIQUE

Plus en détail

Systèmes d Exploitation temps réel. Programmation des STR. Gabriel FREY 2013 freyg.it@gmail.com

Systèmes d Exploitation temps réel. Programmation des STR. Gabriel FREY 2013 freyg.it@gmail.com Systèmes d Exploitation temps réel 1 2 Plan de l intervention 1. Introduction aux Systèmes Temps Réel 2. Programmation concurrente Synchronisation et communication Besoin en facultés temporelles 3. Ordonnancement

Plus en détail

CATALOGUE DE FORMATIONS OPTIMISATION DE PERFORMANCE ET ARCHITECTURES PARALLÈLES

CATALOGUE DE FORMATIONS OPTIMISATION DE PERFORMANCE ET ARCHITECTURES PARALLÈLES CATALOGUE DE FORMATIONS OPTIMISATION DE PERFORMANCE ET ARCHITECTURES PARALLÈLES Trois types de formation LES FORMATEURS Les experts techniques AS+ Groupe EOLEN disposent d une réelle expérience pratique

Plus en détail

Plan. Références. Parallélisme et programmation par échange de messages Utilisation de la bibliothèque MPI

Plan. Références. Parallélisme et programmation par échange de messages Utilisation de la bibliothèque MPI Crédits : Parallélisme et programmation par échange de messages Utilisation de la bibliothèque MPI INRIA Rennes: François Bodin, Jean-Louis Pazat et Thierry Priol (Paris/Caps ) EPCC (Edinburgh Parallel

Plus en détail

Les ressources de calcul et leur utilisation

Les ressources de calcul et leur utilisation Les ressources de calcul et leur utilisation Plateformes de calcul : Ressources locales : PlaFRIM (Plateforme Fédérative pour la Recherche en Informatique et Mathématiques) https://plafrim.bordeaux.inria.fr

Plus en détail

Programmation efficace des multicœurs Application a la visualisation scientifique

Programmation efficace des multicœurs Application a la visualisation scientifique Programmation efficace des multicœurs Application a la visualisation scientifique Marc Tchiboukdjian Doctorant 3e me anne e Jean-Philippe Nomine Encadrant CEA Vincent Danjean Directeur de the se Bruno

Plus en détail

Architectures Parallèles

Architectures Parallèles Architectures Parallèles Cours pour Ingénieur Préparé par Dr. Olfa Hamdi-Larbi ola_ola79@yahoo.fr Reçoit les signaux du contrôleur, cherche les données et les traite Instructions, Données à traiter et

Plus en détail

ParaView / VTK / HDF5 un cas d utilisation : SimSERT. RDataDev OSUG 10 Avril 2015 Yves Rogez

ParaView / VTK / HDF5 un cas d utilisation : SimSERT. RDataDev OSUG 10 Avril 2015 Yves Rogez ParaView / VTK / HDF5 un cas d utilisation : SimSERT RDataDev OSUG 10 Avril 2015 Yves Rogez ParaView / VTK / HDF5 un cas d utilisation : SimSERT 1. Contexte : CONSERT / ROSETTA 2. ParaView : Fonctionnalités,

Plus en détail

Initiation au HPC - Généralités

Initiation au HPC - Généralités Initiation au HPC - Généralités Éric Ramat et Julien Dehos Université du Littoral Côte d Opale M2 Informatique 2 septembre 2015 Éric Ramat et Julien Dehos Initiation au HPC - Généralités 1/49 Plan du cours

Plus en détail

Analyse distribuée. Une plongée dans l analyse du CPU et réseau du cluster du Lapp (analyse site-dépendante) 11/06/09.

Analyse distribuée. Une plongée dans l analyse du CPU et réseau du cluster du Lapp (analyse site-dépendante) 11/06/09. Analyse distribuée Une plongée dans l analyse du CPU et réseau du cluster du Lapp (analyse site-dépendante) 11/06/09 Gaël Rospabé Contexte : 2 But : - Comparer CPU / réseau - Pour : - différentes localisations

Plus en détail

1 : 1 er programmes & prise en main de l environnement

1 : 1 er programmes & prise en main de l environnement 1 : 1 er programmes & prise en main de l environnement 1 Introduction 1.1 Rappel : gestion d arborescence et de fichiers sous UNIX Pour la manipulation de répertoire et de fichier à partir d un terminal

Plus en détail

Calcul Haute Performance avec OpenTURNS

Calcul Haute Performance avec OpenTURNS Calcul Haute Performance avec OpenTURNS Renaud Barate EDF R&D Workshop du GdR MASCOT-NUM «Quantification d incertitude et calcul intensif» 28 Mars 2013 Sommaire Présentation du logiciel OpenTURNS Problématiques

Plus en détail

Rappels, SISD, SIMD. Calculateurs hybrides (GPU-OpenCL) Rappels, MIMD mémoire partagée. Rappels, MIMD mémoire partagée. Rappels... SISD,...

Rappels, SISD, SIMD. Calculateurs hybrides (GPU-OpenCL) Rappels, MIMD mémoire partagée. Rappels, MIMD mémoire partagée. Rappels... SISD,... Rappels, SISD, SIMD Calculateurs hybrides (GPU-OpenCL) Rappels... SISD,... SIMD Formation d Ingénieurs de l Institut Galiléee MACS 3 Philippe d Anfray Philippe.d-Anfray@cea.fr CEA DSM 2013-2014 SISD :

Plus en détail

Trier des tableaux en C++ : efficacité du std::sort (STL) et tris paramétrés

Trier des tableaux en C++ : efficacité du std::sort (STL) et tris paramétrés Trier des tableaux en C++ : efficacité du std::sort (STL) et tris paramétrés Hélène Toussaint, juillet 2014 Sommaire 1. Efficacité du std::sort... 1 1.1. Conditions expérimentales... 1 1.2. Tableaux de

Plus en détail

MPI-1 2ème partie : Programmation «non bloquante» et communications de groupe

MPI-1 2ème partie : Programmation «non bloquante» et communications de groupe 3A-SI Programmation parallèle MPI-1 2ème partie : Programmation «non bloquante» et communications de groupe Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle MPI-1 2ème partie

Plus en détail

Programmation hybride MPI-OpenMP

Programmation hybride MPI-OpenMP Programmation hybride MPI-OpenMP Pierre-Francois.Lavallee@idris.fr Philippe.Wautelet@idris.fr CNRS IDRIS Version 2.1 30 mars 2015 P.-Fr. Lavallée P. Wautelet (IDRIS) Programmation hybride 30 mars 2015

Plus en détail

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration Julien MATHEVET Alexandre BOISSY GSID 4 Rapport Load Balancing et migration Printemps 2001 SOMMAIRE INTRODUCTION... 3 SYNTHESE CONCERNANT LE LOAD BALANCING ET LA MIGRATION... 4 POURQUOI FAIRE DU LOAD BALANCING?...

Plus en détail

Introduction aux grilles: L'exemple XtremWeb

Introduction aux grilles: L'exemple XtremWeb Introduction aux grilles: L'exemple XtremWeb Nicolas Bouillot bouillot@cnam.fr 1 Plan Introduction Première définition Les organisations virtuelles Contraintes liées aux Middlewares de Grilles Le calcul

Plus en détail

Parallélisme. Cours 1

Parallélisme. Cours 1 Parallélisme Cours 1 TD : 20% - TP : 30% - Examen : 50% Feuille A4 manuscrite (pas de photocopie) Fabrice.Huet@etu.unice.fr (prendre rdv par mail pr le contacter) A quoi sert le parallélisme? Augmenter

Plus en détail

Introduction au langage C

Introduction au langage C Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les

Plus en détail

PLAN DU COURS ENTRÉE SORTIE FONCTION PRINTF. Fonction de la bibliothèque stdio.h. Affichage d'un texte:

PLAN DU COURS ENTRÉE SORTIE FONCTION PRINTF. Fonction de la bibliothèque stdio.h. Affichage d'un texte: PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, Tableaux, opérateurs Entrées sorties de base Structures de contrôle Algorithmes de recherche Algorithmes de

Plus en détail

Pooch et le calcul distribué

Pooch et le calcul distribué 16 mai 2003 1 Table des matières 1 Introduction 3 2 Création d un ordinateur parallèle 3 3 Utilisation de Pooch 3 4 Développement d applications distribuées 4 4.1 Message Passing Interface (MPI)..........................

Plus en détail

Plan du cours. Autres modèles pour les applications réparties Introduction. Mode de travail. Introduction

Plan du cours. Autres modèles pour les applications réparties Introduction. Mode de travail. Introduction Plan du cours Autres modèles pour les applications réparties Introduction Riveill@unice.fr http://rangiroa.polytech.unice.fr Notre terrain de jeu : les systèmes répartis Un rappel : le modèle dominant

Plus en détail

3A-IIC - Parallélisme & Grid : Intérêts et Motivations. Intérêts et Motivations

3A-IIC - Parallélisme & Grid : Intérêts et Motivations. Intérêts et Motivations 3A-IIC - Parallélisme & Grid : Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle 1 1 Exemple d applications et clients Défis du calcul parallèle 3 Calcul parallèle dans le monde

Plus en détail

Figure 1. Structure répartie

Figure 1. Structure répartie Chapitre I: Applications Réparties et Middleware 1. Définition d une application répartie Une application répartie est constituée d un ensemble de processus (d objets, d agents, d acteurs) s exécutant

Plus en détail

Contributions à l expérimentation sur les systèmes distribués de grande taille

Contributions à l expérimentation sur les systèmes distribués de grande taille Contributions à l expérimentation sur les systèmes distribués de grande taille Lucas Nussbaum Soutenance de thèse 4 décembre 2008 Lucas Nussbaum Expérimentation sur les systèmes distribués 1 / 49 Contexte

Plus en détail

Huitième partie. Processus communicants CSP/Ada. Processus communicants Communication synchrone CSP/CCS/π-calcul Rendez-vous étendu Ada

Huitième partie. Processus communicants CSP/Ada. Processus communicants Communication synchrone CSP/CCS/π-calcul Rendez-vous étendu Ada Huitième partie Processus communicants CSP/Ada Systèmes concurrents 2 / 44 Synchronisation Désignation, alternatives Architecture d'une application parallèle Plan 1 Processus communicants Synchronisation

Plus en détail

Systèmes distribués et virtualisation de ressources

Systèmes distribués et virtualisation de ressources p. 1/18 Systèmes distribués et virtualisation de ressources Tanguy RISSET (Transparents : Antoine Fraboulet) tanguy.risset@insa-lyon.fr p. 2/18 Plan 1 Distribution de ressources 1. Distribution de ressources

Plus en détail

ETUDE DE CAS SESSION 2000 OPTION ARLE BAREME ET CORRIGE ETABLIS PAR LA COMMISSION NATIONALE D HARMONISATION DU 31 MAI 2000

ETUDE DE CAS SESSION 2000 OPTION ARLE BAREME ET CORRIGE ETABLIS PAR LA COMMISSION NATIONALE D HARMONISATION DU 31 MAI 2000 BTS INFORMATIQUE DE GESTION SESSION 2000 ETUDE DE CAS SESSION 2000 OPTION ARLE BAREME ET CORRIGE ETABLIS PAR LA COMMISSION NATIONALE D HARMONISATION DU 31 MAI 2000 Durée : 5 heures Coefficient : 5 CAS

Plus en détail

KARMA Le système de Revenue Management d'air France KLM avec Hadoop

KARMA Le système de Revenue Management d'air France KLM avec Hadoop KARMA Le système de Revenue Management d'air France KLM avec Hadoop Conférence BIG DATA - Master MBDS Université de Nice Sophia Antipolis 16 Décembre 2014 Martial AYAS maayas@airfrance.fr 2 Agenda 1. Présentation

Plus en détail

Parallélisme et Répartition

Parallélisme et Répartition Parallélisme et Répartition Master Info Françoise Baude Université de Nice Sophia-Antipolis UFR Sciences Département Informatique baude@unice.fr web du cours : deptinfo.unice.fr/~baude Septembre 2009 Chapitre

Plus en détail

Programmation parallèle et distribuée (Master 1 Info 2015-2016)

Programmation parallèle et distribuée (Master 1 Info 2015-2016) Programmation parallèle et distribuée (Master 1 Info 2015-2016) Hadoop MapReduce et HDFS Note bibliographique : ce cours est largement inspiré par le cours de Benjamin Renaut (Tokidev SAS) Introduction

Plus en détail

Cours Visual Basic URCA

Cours Visual Basic URCA Cours Visual Basic URCA Sommaire Introduction à la programmation VBA et VB Syntaxe de base, variables Opérateurs de base, boucles Introduction à la programmation Qu est-ce que la programmation? Séquences

Plus en détail

D2.2 Définition des mécanismes minimaux d un runtime tolérant aux pannes dans les infrastructures Petascale

D2.2 Définition des mécanismes minimaux d un runtime tolérant aux pannes dans les infrastructures Petascale D2.2 Définition des mécanismes minimaux d un runtime tolérant aux pannes dans les infrastructures Petascale VERSION 1.0 DATE 2010 EDITORIAL MANAGER Sylvain Peyronnet AUTHORS STAFF Ala Rezmerita, Camille

Plus en détail

objectif : plan : Java, CORBA et RMI A. Le Grand,1997 1 JAVA, CORBA et RMI

objectif : plan : Java, CORBA et RMI A. Le Grand,1997 1 JAVA, CORBA et RMI JAVA, CORBA et RMI objectif : développer des applications client/serveur incluant des objets répartis Java / CORBA : client/serveur hétérogènes Java / RMI : client/serveur homogènes plan : l architecture

Plus en détail

Systèmes multi-processeurs intégrés sur puce

Systèmes multi-processeurs intégrés sur puce Systèmes multi-processeurs intégrés sur puce version 1.0 PHY 568 Alain Greiner Pla n Architectures multi-processeurs à mémoire partagée Applications parallèles embarquées Bus système / exemple du PIBUS

Plus en détail

Configuration et Déploiement d Applications Réparties par Intégration de l Hétérogénéité des Implémentations dans un Langage de Description d

Configuration et Déploiement d Applications Réparties par Intégration de l Hétérogénéité des Implémentations dans un Langage de Description d Configuration et Déploiement d Applications Réparties par Intégration de l Hétérogénéité des Implémentations dans un Langage de Description d Architecture Doctorant: Directeurs de thèse: Bechir ZALILA

Plus en détail

Xeon Phi au CRIHAN. Patrick BOUSQUET-MÉLOU (pbm@crihan.fr) 16 Juin 2015

Xeon Phi au CRIHAN. Patrick BOUSQUET-MÉLOU (pbm@crihan.fr) 16 Juin 2015 Xeon Phi au CRIHAN Patrick BOUSQUET-MÉLOU (pbm@crihan.fr) 16 Juin 2015 Objectifs Veille technologique architecture many-core Se former pour préparer les utilisateurs au Xeon Phi «Knights Landing» (2016)

Plus en détail

BE de programmation OpenMP

BE de programmation OpenMP BE-OpenMP Page 1 of 2 Calcul parallèle et distribué, et Grilles de calculs Cours de 3ème année IIC à Supélec BE de programmation OpenMP Objectifs du Bureau d'etude : (parallélisation en mémoire partagée)

Plus en détail

WP2T23 «APPLICATION de de REFERENCE» Prototypage rapide d une application de traitement d images avec SynDEx EADS

WP2T23 «APPLICATION de de REFERENCE» Prototypage rapide d une application de traitement d images avec SynDEx EADS WP2T23 «APPLICATION de de REFERENCE» Prototypage rapide d une application de traitement d images avec SynDEx EADS Avec l appui de l INRIA www-rocq.inria.fr/syndex 1 PLAN I. Présentation du sujet II. Présentation

Plus en détail

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0

Plus en détail

Le modèle client-serveur

Le modèle client-serveur Le modèle client-serveur Olivier Aubert 1/24 Sources http://www.info.uqam.ca/~obaid/inf4481/a01/plan.htm 2/24 Historique architecture centralisée terminaux passifs (un seul OS, systèmes propriétaires)

Plus en détail

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15

MapReduce. Malo Jaffré, Pablo Rauzy. 16 avril 2010 ENS. Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15 MapReduce Malo Jaffré, Pablo Rauzy ENS 16 avril 2010 Malo Jaffré, Pablo Rauzy (ENS) MapReduce 16 avril 2010 1 / 15 Qu est ce que c est? Conceptuellement Données MapReduce est un framework de calcul distribué

Plus en détail

GRID : Overview ANR-05-CIGC «GCPMF» 8 juin 2006 Stéphane Vialle

GRID : Overview ANR-05-CIGC «GCPMF» 8 juin 2006 Stéphane Vialle GRID : Overview ANR-05-CIGC «GCPMF» 8 juin 2006 Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle Grid : Overview 1. Définition et composition 2. Exemple de Middleware 3. Interconnexion

Plus en détail

Comparaison entre une architecture matérielle dédiée et un GP-GPU pour l optimisation

Comparaison entre une architecture matérielle dédiée et un GP-GPU pour l optimisation Comparaison entre une architecture matérielle dédiée et un GP-GPU pour l optimisation Université de Bretagne-Sud Lab-STICC, Lorient, France ROADeF Troyes, France 13-15 Février 2013 1/22 Objectifs Après

Plus en détail

Cluster de calcul, machine Beowulf, ferme de PC Principes, problématique et échanges d expérience

Cluster de calcul, machine Beowulf, ferme de PC Principes, problématique et échanges d expérience Cluster de calcul, machine Beowulf, ferme de PC Principes, problématique et échanges d expérience 29 mars 2002 Olivier BOEBION - Laboratoire de Mathématiques et de Physique Théorique - Tours 1 Principes

Plus en détail

Parallélisation Automatique

Parallélisation Automatique Parallélisation Automatique Paul Feautrier ENS de Lyon Paul.Feautrier@ens-lyon.fr 8 septembre 2008 1 / 23 Pourquoi la parallélisation automatique? Les gains de performances dus à la technologie s amenuisent

Plus en détail

Algorithmique - Programmation 1. Cours 10

Algorithmique - Programmation 1. Cours 10 Algorithmique - Programmation 1 Cours 10 Université Henri Poincaré CESS Epinal Automne 2008 1/ 25 Plan Caml fonctionnel vs impératif Caml fonctionnel vs impératif Le type unit Données mutables Les structures

Plus en détail

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Logiciel Libre Cours 3 Fondements: Génie Logiciel Logiciel Libre Cours 3 Fondements: Génie Logiciel Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot 2013 2014 URL http://upsilon.cc/zack/teaching/1314/freesoftware/

Plus en détail

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles) 1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d

Plus en détail

Les architectures parallèles ~~~~~ Les machines parallèles de l'observatoire ~~~ MPI

Les architectures parallèles ~~~~~ Les machines parallèles de l'observatoire ~~~ MPI 1/89 Les architectures parallèles ~~~~~ Les machines parallèles de l'observatoire ~~~ MPI Aurelia.Marchand@obspm.fr 2/89 Plan -1- Introduction...5-2- Les architectures parallèles...11-2.1- Les types d'architectures

Plus en détail

Les environnements de calcul distribué

Les environnements de calcul distribué 2 e Atelier CRAG, 3 au 8 Décembre 2012 Par Blaise Omer YENKE IUT, Université de Ngaoundéré, Cameroun. 4 décembre 2012 1 / 32 Calcul haute performance (HPC) High-performance computing (HPC) : utilisation

Plus en détail

Introduction à la Recherche en Laboratoire

Introduction à la Recherche en Laboratoire Introduction à la Recherche en Laboratoire Transferts de données pour le vol de travail Tristan Darricau tristan.darricau@ensimag.grenoble-inp.fr 26 mai 2014 Grenoble INP - ENSIMAG Ecadrement Frédéric

Plus en détail

CLIC Cluster LInux pour le Calcul

CLIC Cluster LInux pour le Calcul CLIC Cluster LInux pour le Calcul http://clic.mandrakesoft.com Wilfrid Billot (@imag.fr) ID-IMAG Projet Apache http://www-id.imag.fr Plan ¾ Introduction à CLIC ¾ CLIC et les clusters ¾ Ce qui existe déjà

Plus en détail

Systèmes d exploitation et Programmation Concurrente. L équipe «SEPC» L organisation de l année 14/09/2014

Systèmes d exploitation et Programmation Concurrente. L équipe «SEPC» L organisation de l année 14/09/2014 Systèmes d exploitation et Programmation Concurrente Yves Denneulin Yves.Denneulin@imag.fr Jacques Mossière Sebastien Viardot Le cours L équipe «SEPC» Yves Denneulin : ISI, Telecom et SLE Les TD/TP Vincent

Plus en détail

Initiation au HPC - Programmation concurrente

Initiation au HPC - Programmation concurrente Initiation au HPC - Programmation concurrente Éric Ramat et Julien Dehos Université du Littoral Côte d Opale M2 Informatique 12 octobre 2015 Éric Ramat et Julien Dehos Initiation au HPC - Programmation

Plus en détail

Optimisation de requêtes. I3009 Licence d informatique 2015/2016. Traitement des requêtes

Optimisation de requêtes. I3009 Licence d informatique 2015/2016. Traitement des requêtes Optimisation de requêtes I3009 Licence d informatique 2015/2016 Cours 5 - Optimisation de requêtes Stéphane.Gançarski Stephane.Gancarski@lip6.fr Traitement et exécution de requêtes Implémentation des opérateurs

Plus en détail

Plan. Pourquoi Hadoop? Présentation et Architecture. Démo. Usages

Plan. Pourquoi Hadoop? Présentation et Architecture. Démo. Usages 1 Mehdi LOUIZI Plan Pourquoi Hadoop? Présentation et Architecture Démo Usages 2 Pourquoi Hadoop? Limites du Big Data Les entreprises n analysent que 12% des données qu elles possèdent (Enquête Forrester

Plus en détail

Introduction à la programmation concurrente

Introduction à la programmation concurrente Introduction à la programmation concurrente Exclusion mutuelle par attente active Yann Thoma Reconfigurable and Embedded Digital Systems Institute Haute Ecole d Ingénierie et de Gestion du Canton de Vaud

Plus en détail

Introduction à la Programmation Orientée Objet

Introduction à la Programmation Orientée Objet Licence Sciences, Technologies, Santé Université de Perpignan Via Domitia Semestre 5 (L3) - Mention Mathématiques, Informatique Année universitaire 2011/2012 Programmation Orientée Objet Introduction à

Plus en détail

Parallel Tree-based Exact Algorithms using Heterogeneous Many and Multi-core Computing for Solving Challenging Problems in Combinatorial Optimization

Parallel Tree-based Exact Algorithms using Heterogeneous Many and Multi-core Computing for Solving Challenging Problems in Combinatorial Optimization Parallel Tree-based Exact Algorithms using Heterogeneous Many and Multi-core Computing for Solving Challenging Problems in Combinatorial Optimization Rudi Leroy Encadrement : N. Melab (Univ. Lille 1),

Plus en détail

Valum micro-framework web. Guillaume Poirier-Morency poirigui@iro.umontreal.ca

Valum micro-framework web. Guillaume Poirier-Morency poirigui@iro.umontreal.ca Valum micro-framework web Guillaume Poirier-Morency poirigui@iroumontrealca Résumé Valum est un micro-framework web écrit en Vala génèse et historique du langage Vala présentation du framework Valum exemples

Plus en détail

Algorithmes parallèles auto-adaptatifs et applications

Algorithmes parallèles auto-adaptatifs et applications Algorithmes parallèles auto-adaptatifs et applications Daouda Traoré To cite this version: Daouda Traoré. Algorithmes parallèles auto-adaptatifs et applications. Informatique [cs]. Institut National Polytechnique

Plus en détail

Les données massives à Calcul Québec

Les données massives à Calcul Québec Les données massives à Calcul Québec Marc Parizeau, professeur et directeur scientifique de Calcul Québec Plan Calcul Québec / Calcul Canada Les outils et les services disponibles Un outil en particulier

Plus en détail

Enoncé des travaux pratiques. du cours OpenMP

Enoncé des travaux pratiques. du cours OpenMP Enoncé des travaux pratiques Enoncé des travaux pratiques du cours OpenMP Enoncé des travaux pratiques : description Description Les travaux pratiques se dérouleront sur les nœuds vargas (grappes de 35

Plus en détail

Soutenance de PFE. Evolution de l'outil EZTrace. Charles Aulagnon Inria Bordeaux (SED) Maître de stage : François Rué mars septembre 2011

Soutenance de PFE. Evolution de l'outil EZTrace. Charles Aulagnon Inria Bordeaux (SED) Maître de stage : François Rué mars septembre 2011 Soutenance de PFE Evolution de l'outil EZTrace Charles Aulagnon Inria Bordeaux (SED) Maître de stage : François Rué mars septembre 2011 ENSEIRB-MATMECA Tuteur : Corentin Travers Sommaire 1. EZTrace Contexte

Plus en détail

Informatique Embarquée M2 / 2014. Quelle heure est-il?

Informatique Embarquée M2 / 2014. Quelle heure est-il? Informatique Embarquée M2 / 2014 Quelle heure est-il? 2014 FA-P7-Info Emb. 1 Différents Temps Temps «horloge murale» Avance sans arrêt, quelque soit l'activité des processus, processeurs Temps CPU N'augmente

Plus en détail

Runtime. Gestion de la réactivité des communications réseau. François Trahay Runtime, LaBRI sous la direction d'alexandre Denis Université Bordeaux I

Runtime. Gestion de la réactivité des communications réseau. François Trahay Runtime, LaBRI sous la direction d'alexandre Denis Université Bordeaux I Runtime Gestion de la réactivité des communications réseau François Trahay Runtime, LaBRI sous la direction d'alexandre Denis Université Bordeaux I 1 Le calcul hautes performances La tendance actuelle

Plus en détail

L utilitaire "make" et son inséparable Makefile

L utilitaire make et son inséparable Makefile L utilitaire "make" et son inséparable Makefile Compilation et exécution Programme source Analyse lexicale (scaning) Optimisation du code Programme abstrait (optimisé) Génération du code Séquence d unités

Plus en détail

CORBA haute performance

CORBA haute performance CORBA haute performance «CORBA à 730Mb/s!» Alexandre DENIS PARIS/IRISA, Rennes Alexandre.Denis@irisa.fr Plan Motivations : concept de grille de calcul CORBA : concepts fondamentaux Vers un ORB haute performance

Plus en détail