Systèmes parallèles et distribués

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Outline MPI. Tolérance aux pannes. Systèmes distribués. Mise en commun de resources. Introduction. Performances. Grégory Mounié

Outline MPI. Tolérance aux pannes. Systèmes distribués. Mise en commun de resources. Introduction. Performances. Grégory Mounié Outline MPI Grégory Mounié 2012-11-02 ven. Introduction Performances Problèmes du calculs parallèle Intergiciels 1 / 52 2 / 52 Systèmes distribués Tolérance aux pannes Mise en commun de resources matérielles

Plus en détail

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

M1 MIAGE Option IFD Data Mining et Parallélisme

M1 MIAGE Option IFD Data Mining et Parallélisme M1 MIAGE Option IFD Data Mining et Parallélisme Alexandre Termier 2011-2012 S2 1 / 24 Besoin ˆ Data Mining doit... traiter de gros volumes de données pouvoir eectuer des analyses complexes (gros calculs)

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

MPI Une Bibliothèque de communication par messages

MPI Une Bibliothèque de communication par messages MPI Une Bibliothèque de communication par messages Master SAR Module AR (MI048) Plan Généralités Communicateurs Messages Classification des communications! Point à point Synchrones / asynchrones Bloquantes

Plus en détail

MPI Une Bibliothèque des communication par messages. 01/02/2013 Message Passing Interface 1. Qu'est ce que MPI?

MPI Une Bibliothèque des communication par messages. 01/02/2013 Message Passing Interface 1. Qu'est ce que MPI? MPI Une Bibliothèque des communication par messages Master SAR 1 Module AR (MI048) 01/02/2013 Message Passing Interface 1 Qu'est ce que MPI? Message Passing Interface Une API standard permettant de faire

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

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

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

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

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

TP Interface graphique et C++ numéro 1

TP Interface graphique et C++ numéro 1 TP Interface graphique et C++ numéro 1 Master IGC - 1 re année année 2010-2011 Ce premier TP a pour objectif de vous familiariser avec le compilateur C++, les entréessorties du langage et l utilisation

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

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

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

Cours sur Open MPI. Christophe Dumez Laboratoire SeT. 5 septembre Introduction 2

Cours sur Open MPI. Christophe Dumez Laboratoire SeT. 5 septembre Introduction 2 Cours sur Open MPI Christophe Dumez Laboratoire SeT 5 septembre 2008 Table des matières 1 Introduction 2 2 Programmation en C avec Open MPI 2 2.1 Structure minimale du programme................. 2 2.2

Plus en détail

Communications performantes par passage de message entre machines virtuelles co-hébergées

Communications performantes par passage de message entre machines virtuelles co-hébergées Communications performantes par passage de message entre machines virtuelles co-hébergées François Diakhaté1,2 1 CEA/DAM Île de France 2 INRIA Bordeaux Sud Ouest, équipe RUNTIME Renpar 2009 1 Plan Introduction

Plus en détail

IRL : Simulation distribuée pour les systèmes embarqués

IRL : Simulation distribuée pour les systèmes embarqués IRL : Simulation distribuée pour les systèmes embarqués Yassine El Khadiri, 2 ème année Ensimag, Grenoble INP Matthieu Moy, Verimag Denis Becker, Verimag 19 mai 2015 1 Table des matières 1 MPI et la sérialisation

Plus en détail

Système. Introduction aux systèmes informatiques

Système. Introduction aux systèmes informatiques Introduction aux systèmes informatiques Système Un système est une collection organisée d'objets qui interagissent pour former un tout Objets = composants du système Des interconnexions (liens) entre les

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

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

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

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

Calcul Haute Performance et Parallélisme Historique et exemples

Calcul Haute Performance et Parallélisme Historique et exemples Calcul Haute Performance et Parallélisme Historique et exemples Emmanuel Hermellin LIRMM Janvier 2014 Sommaire 1 Le Calcul Haute Performance Naissance des super-calculateurs Évolution des super-calculateurs

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

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

Calculs parallèles et Distribués. Benmoussa Yahia Université M hamed Bougara de Boumerdès yahia.benmoussa@gmail.com

Calculs parallèles et Distribués. Benmoussa Yahia Université M hamed Bougara de Boumerdès yahia.benmoussa@gmail.com Calculs parallèles et Distribués Benmoussa Yahia Université M hamed Bougara de Boumerdès yahia.benmoussa@gmail.com Calculs parallèles et Distribués Introduction Parallélisation sur mémoire distribuée.

Plus en détail

Algorithmique Distribuée

Algorithmique Distribuée Algorithmique Distribuée Problèmes et Algorithmes Fondamentaux Arnaud labourel http://pageperso.lif.univ-mrs.fr/ arnaud.labourel Aix-Marseille Université 15 janvier 2014 Arnaud Labourel (AMU) Algorithmique

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

Programmation parallèle et distribuée

Programmation parallèle et distribuée Programmation parallèle et distribuée (GIF-4104/7104) 5a - (hiver 2015) Marc Parizeau, Département de génie électrique et de génie informatique Plan Données massives («big data») Architecture Hadoop distribution

Plus en détail

Parallélisme, Algorithmes PRAM

Parallélisme, Algorithmes PRAM , Armelle Merlin L.I.F.O Laboratoire d'informatique Fondamentale d'orléans Transparents inspirés des cours de G. Hains et de B. Virot Plan 1 Introduction Langages parallèles Les architectures parallèles

Plus en détail

TP de programmation OpenMP

TP de programmation OpenMP TP-OpenMP Page 1 of 2 Objectifs du TP : Les processeurs d'aujourd'hui sont tous "multi-coeurs", et certaines architectures possèdent plusieurs centaines de processeurs coopérant à travers une mémoire partagée.

Plus en détail

Chapitre 1 Introduction

Chapitre 1 Introduction Chapitre 1 Introduction Jean Privat Université du Québec à Montréal INF7330 Construction de logiciels Diplôme d études supérieures spécialisées en systèmes embarqués Automne 2012 Jean Privat (UQAM) 01

Plus en détail

Chap. 8 du livre de Foster: MPI

Chap. 8 du livre de Foster: MPI Chap. 8 du livre de Foster: MPI Librairie pour échanges de messages = Message Passing Interface Disponibles dans différents langages: Fortran, C, Java Devenu, depuis quelques années, une standard de facto

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

S18 PHP pour des tâches batch sous IBM i

S18 PHP pour des tâches batch sous IBM i Modernisation, développement d applications et DB2 sous IBM i Technologies, outils et nouveautés 2013-2014 13 et 14 mai 2014 IBM Client Center Paris, Bois-Colombes S18 PHP pour des tâches batch sous IBM

Plus en détail

Poker. A rendre pour le 25 avril

Poker. A rendre pour le 25 avril Poker A rendre pour le 25 avril 0 Avant propos 0.1 Notation Les parties sans * sont obligatoires (ne rendez pas un projet qui ne contient pas toutes les fonctions sans *). Celles avec (*) sont moins faciles

Plus en détail

Introduction à l informatique, à Python, et représentation des nombres en machine

Introduction à l informatique, à Python, et représentation des nombres en machine Introduction à l informatique, à Python, et représentation des nombres en machine Table des matières Qu est-ce-que l informatique? Qu est-ce-qu un ordinateur? 2 Principaux composants...............................................

Plus en détail

Gestion autonome de flots d exécution événementiels

Gestion autonome de flots d exécution événementiels Gestion autonome de flots d exécution événementiels Fabien GAUD, M2R S&L Équipe SARDES (INRIA/LIG) 18 juin 2007 1 / 31 Sommaire 1 Introduction 2 État de l art 3 Contribution 4 Évaluation de performances

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

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

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

Utilisation de MPI avec Python

Utilisation de MPI avec Python Laboratoire de mathématiques d'orsay 9 décembre 2010 Plan 1 Introduction 2 Principe de MPI 3 mpi4py 4 Ressources Introduction Plan 1 Introduction 2 Principe de MPI 3 mpi4py 4 Ressources Introduction Comment

Plus en détail

Problèmes et Algorithmes Fondamentaux III Algorithme distribué probabiliste

Problèmes et Algorithmes Fondamentaux III Algorithme distribué probabiliste Problèmes et Algorithmes Fondamentaux III Algorithme distribué probabiliste Arnaud Labourel Université de Provence 12 avril 2012 Arnaud Labourel (Université de Provence) Problèmes et Algorithmes Fondamentaux

Plus en détail

Calcul parallèle Librairie MPI

Calcul parallèle Librairie MPI Plan Librairie MPI Calcul Haute Performance ONERA Mai-Juin 2007 Plan Plan 1 Environnement 2 Exemple : Anneau de communication Protocoles d envoi et de réception 3 4 Plan Plan 1 Environnement 2 Exemple

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

Avant-propos. 1. Introduction

Avant-propos. 1. Introduction Avant-propos Les sections ou sous-sections marquées d un astérisque (*) ne font pas partie de la matière du cours IFT1969. Elles sont destinées à définir complètement le langage C (ANSI-C99) et à en préciser

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

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

Programmation parallèle et distribuée

Programmation parallèle et distribuée Programmation parallèle et distribuée (GIF-4104/7104) 5a - (hiver 2014) Marc Parizeau, Département de génie électrique et de génie informatique Plan Mégadonnées («big data») Architecture Hadoop distribution

Plus en détail

Etude d Algorithmes Parallèles de Data Mining

Etude d Algorithmes Parallèles de Data Mining REPUBLIQUE TUNISIENNE MINISTERE DE L ENSEIGNEMENT SUPERIEUR, DE LA TECHNOLOGIE ET DE LA RECHERCHE SCIENTIFIQUE UNIVERSITE DE TUNIS ELMANAR FACULTE DES SCIENCES DE TUNIS DEPARTEMENT DES SCIENCES DE L INFORMATIQUE

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

Systèmes d exploitation Gestion des processus

Systèmes d exploitation Gestion des processus Systèmes d exploitation Gestion des processus Didier Verna didier@lrde.epita.fr 5 décembre 2000 Table des matières Table des matières Généralités... 3 États d un processus... 4 Bloc de contrôle d un processus

Plus en détail

Méthodes de test. Mihaela Sighireanu

Méthodes de test. Mihaela Sighireanu UFR d Informatique Paris 7, LIAFA, 175 rue Chevaleret, Bureau 6A7 http://www.liafa.jussieu.fr/ sighirea/cours/methtest/ Partie I 1 Propriétés 2 Un peu de génie logiciel de test 3 Eléments Problèmes Point

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

Informatique Répartie

Informatique Répartie INSA - ASI InfoRep : Client-Serveur 1/36 Informatique Répartie Architectures Client-Serveur Alexandre Pauchet INSA Rouen - Département ASI BO.B.RC.18, pauchet@insa-rouen.fr INSA - ASI InfoRep : Client-Serveur

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

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

Développement itératif, évolutif et agile

Développement itératif, évolutif et agile Document Développement itératif, évolutif et agile Auteur Nicoleta SERGI Version 1.0 Date de sortie 23/11/2007 1. Processus Unifié Développement itératif, évolutif et agile Contrairement au cycle de vie

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

Série d exercices. o Cas 2 : gcc o nomexecutable c nomsource.c. o Cas 3 : gcc o nomexecutable W -Wall nomsource.c

Série d exercices. o Cas 2 : gcc o nomexecutable c nomsource.c. o Cas 3 : gcc o nomexecutable W -Wall nomsource.c Langage Impératif 1 TP 1 du 11 octobre 2010 Série d exercices Rappels rapides : - Un programme C s écrit toujours dans un fichier d extension.c (en minuscule!! sinon ce serait compilé comme du C++). Ce

Plus en détail

Synchronisation des Processus et les sémaphores

Synchronisation des Processus et les sémaphores Synchronisation des Processus et les sémaphores Achraf Othman Support du cours : www.achrafothman.net 1 PLAN Spécification du problème Section Critique (SC) Exclusion Mutuelle Principe Propriétés Réalisation

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

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

Concours de Programmation ULCO 2013

Concours de Programmation ULCO 2013 Concours de Programmation ULCO 2013 Notice d aide à l utilisation de Prog&Play 7 mars 2013 Introduction Le concours de cette année a pour cadre un jeu de stratégie temps réel, basé sur le moteur Spring,

Plus en détail

Bases de données et environnements distribués Chapitre I : Objets distribués, concepts fondamentaux

Bases de données et environnements distribués Chapitre I : Objets distribués, concepts fondamentaux Bases de données et environnements distribués Chapitre I : Objets distribués, concepts fondamentaux Eric Leclercq Département IEM / UB 10/2005 email : Eric.Leclercq@u-bourgogne.fr http://ludique.u-bourgogne.fr/~leclercq

Plus en détail

Rapport d activité. Mathieu Souchaud Juin 2007

Rapport d activité. Mathieu Souchaud Juin 2007 Rapport d activité Mathieu Souchaud Juin 2007 Ce document fait la synthèse des réalisations accomplies durant les sept premiers mois de ma mission (de novembre 2006 à juin 2007) au sein de l équipe ScAlApplix

Plus en détail

Introduction aux systèmes d exploitation

Introduction aux systèmes d exploitation Introduction aux systèmes d exploitation Le système d exploitation est un ensemble de logiciels qui pilotent la partie matérielle d un ordinateur. Les principales ressources gérées par un système d exploitation

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

Utilisation du RAID logiciel Sur un serveur Windows 2000

Utilisation du RAID logiciel Sur un serveur Windows 2000 BTS INFORMATIQUE DE GESTION Option Administrateur de réseaux développement d applications COMPTE-RENDU D ACTIVITE ACTIVITE N 6 Nom et Prénom : Casanova Grégory Identification (objectif) de l activité Utilisation

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

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

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

Gestion, classement et rédaction efficaces des courriels

Gestion, classement et rédaction efficaces des courriels Gestion, classement et rédaction efficaces des courriels Pour passer rapidement de la surcharge à la maîtrise de ses courriels Introduction Le courriel est rapide, instantané, il voyage à faible coût et

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

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

CLOUD CP3S SOLUTION D INFRASTRUCTURE SOUMIS À LA LÉGISLATION FRANÇAISE. La virtualisation au service de l entreprise. Évolutivité. Puissance.

CLOUD CP3S SOLUTION D INFRASTRUCTURE SOUMIS À LA LÉGISLATION FRANÇAISE. La virtualisation au service de l entreprise. Évolutivité. Puissance. CLOUD CP3S La virtualisation au service de l entreprise Virtualisation / Cloud Évolutivité Sécurité Redondance Puissance SOLUTION D INFRASTRUCTURE SOUMIS À LA LÉGISLATION FRANÇAISE SOLUTION D INFRASTRUCTURE

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

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

G en om3: Building middleware-independent robotic components. Comparaison de middleware: YARP, MS Robotics Dev Studio, URBI, OpenRTM-aist, ROS

G en om3: Building middleware-independent robotic components. Comparaison de middleware: YARP, MS Robotics Dev Studio, URBI, OpenRTM-aist, ROS G en om3: Building middleware-independent robotic components Comparaison de middleware: YARP, MS Robotics Dev Studio, URBI, OpenRTM-aist, ROS Pablo Rauzy 15 février 2011 Table des matières 1 G en om3 :

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

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

REQUEA Sizing REQUEA DEIMENSIONNEMENT DU SERVEUR APPLICATIF REQUEA. REQUEA - Sizing des Serveurs d Applications REQUEA. Requea

REQUEA Sizing REQUEA DEIMENSIONNEMENT DU SERVEUR APPLICATIF REQUEA. REQUEA - Sizing des Serveurs d Applications REQUEA. Requea REQUEA - Sizing des Serveurs d Applications REQUEA REQUEA Requea 1 Bd Vivier Merle Tour Société Suisse Lyon, 693 REQUEA Sizing DEIMENSIONNEMENT DU SERVEUR APPLICATIF REQUEA T +33 ()4 72 11 44 87 F +33

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

Langages de haut niveau

Langages de haut niveau Langages de haut niveau Introduction Un assembleur est un programme traduisant en code machine un programme écrit à l'aide des mnémoniques Les langages d'assemblage représentent une deuxième génération

Plus en détail

Méthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel.

Méthode de Test. Pour WIKIROUTE. Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel. Méthode de Test Pour WIKIROUTE Rapport concernant les méthodes de tests à mettre en place pour assurer la fiabilité de notre projet annuel. [Tapez le nom de l'auteur] 10/06/2009 Sommaire I. Introduction...

Plus en détail

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1 Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1 B. Baert & F. Ludewig Bruno.Baert@ulg.ac.be - F.Ludewig@ulg.ac.be Qu est-ce que la programmation? Programmer Ecrire un

Plus en détail

Solveur linéaire sur GPU

Solveur linéaire sur GPU Thomas JOST 1 Sylvain CONTASSOT-VIVIER 1,2 Stéphane VIALLE 1,3 1 Équipe AlGorille, LORIA 2 Université Henri Poincaré Nancy 1 3 Équipe IMS Supélec (Metz) 1 Introduction 2 Contraintes et algorithmes Structure

Plus en détail

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores INTRODUCTION AUX SYSTEMES D EXPLOITATION TD2 Exclusion mutuelle / Sémaphores Exclusion mutuelle / Sémaphores - 0.1 - S O M M A I R E 1. GENERALITES SUR LES SEMAPHORES... 1 1.1. PRESENTATION... 1 1.2. UN

Plus en détail

École Polytechnique de Montréal. Département de Génie Informatique. Cours INF3600 : Systèmes d exploitation. Contrôle périodique Automne 2001

École Polytechnique de Montréal. Département de Génie Informatique. Cours INF3600 : Systèmes d exploitation. Contrôle périodique Automne 2001 École Polytechnique de Montréal Département de Génie Informatique Cours INF3600 : Systèmes d exploitation Contrôle périodique Automne 2001 Date : 1 er novembre 2001 de 18h à 20h Professeurs : Kerly Titus,

Plus en détail

Cours d Algorithmique

Cours d Algorithmique 1 de 16 Cours d Algorithmique Florent Hivert Mél : Florent.Hivert@lri.fr Adresse universelle : http://www.lri.fr/ hivert 2 de 16 Informations pratiques 25 heures de cours ; 25 heures de travaux dirigés

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

1.1 Remote Procedure Call (RPC)

1.1 Remote Procedure Call (RPC) 1.1 Remote Procedure Call (RPC) Le modèle Client-Serveur est un modèle simple à utiliser pour la structuration des systèmes répartis. Mais ce modèle s appuie sur des communications de type entrée/sortie

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

Problème combinatoire sur le réseau de transport de gaz. Nicolas Derhy, Aurélie Le Maitre, Nga Thanh CRIGEN Manuel Ruiz, Sylvain Mouret ARTELYS

Problème combinatoire sur le réseau de transport de gaz. Nicolas Derhy, Aurélie Le Maitre, Nga Thanh CRIGEN Manuel Ruiz, Sylvain Mouret ARTELYS Problème combinatoire sur le réseau de transport de gaz Nicolas Derhy, Aurélie Le Maitre, Nga Thanh CRIGEN Manuel Ruiz, Sylvain Mouret ARTELYS Au programme Présentation du problème Un problème d optimisation

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

1 Hello world. 2 Sorties en C. DUT Informatique M3101 Système S3 2015 / 2016. Travaux Pratiques n o 0 : Rappels de programmation C

1 Hello world. 2 Sorties en C. DUT Informatique M3101 Système S3 2015 / 2016. Travaux Pratiques n o 0 : Rappels de programmation C DUT Informatique 2015 / 2016 Travaux Pratiques n o 0 : Rappels de programmation C Nom(s) : Groupe : Date : Objectifs : renouer avec les notions, la manipulation et l écriture de programmes C, en particulier

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