MPI : Un outil pour le multi-coeur?

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

Download "MPI : Un outil pour le multi-coeur?"

Transcription

1 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

2 Plan 1 Introduction 2 Principe de MPI 3 Les bases de MPI 4 Les moins-bases de MPI 5 Et le multi-coeur? 6 Conclusion

3 Introduction Plan 1 Introduction 2 Principe de MPI 3 Les bases de MPI 4 Les moins-bases de MPI 5 Et le multi-coeur? 6 Conclusion

4 Introduction Comment paralléliser son code? GPU1 GPU2 GPU1 GPU2 Mémoire core1 core2 core3 core4 Mémoire core1 core2 core3 core4 réseau

5 Introduction Quels sont les outils pour paralléliser son code? 1 Processus / Posix Threads 2 Standard OpenMP 3 Libdispatch 4 GPU CUDA OpenCL HmPP 5 Standard MPI MPI-1 MPI-2 MPI-3 (dans un futur proche)

6 Principe de MPI Plan 1 Introduction 2 Principe de MPI 3 Les bases de MPI 4 Les moins-bases de MPI 5 Et le multi-coeur? 6 Conclusion

7 Principe de MPI MPI : Message Passing Interface conçue en 1993 (MPI-1), 1995 (MPI-2), en cours (MPI-3) norme dénissant une bibliothèque de fonctions, utilisable avec les langages C et Fortran permet d'exploiter des ordinateurs multiprocesseurs et des réseaux d'ordinateurs pour exécuter des applications parallèles communiquant explicitement par passage de messages.

8 Principe de MPI MPI : Message Passing Interface Fonctionnalités de MPI-1 MPI-1 est conçue comme un ensemble de fonctions de nom standardisé permettant de travailler sur des processus lancés en parallèle. nombre de processus, numéro du processus : de 0 à ; communications point à point (1 source, 1 destinataire) communications collectives (au moins 1 source, au moins 1 destinataire) communicateurs (des groupes de processus), types dérivés (à construire par le programmeur), topologies (pour mieux repérer les processus).

9 Principe de MPI MPI : Message Passing Interface Fonctionnalités de MPI-2 gestion dynamique des processus : création, destruction I/O parallèles interfaçage avec Fortran95 et C++ communications de mémoire à mémoire (remote-dma)...

10 Principe de MPI MPI : Message Passing Interface Fonctionnalités de MPI-3 Source : cours MPI de l'idris, version 2.28, Octobre 2010 prise en compte des architectures multi-coeurs communications collectives non bloquantes révision des copies de mémoire à mémoire tolérance aux pannes bindings Fortran 2003 et 2008

11 Principe de MPI MPI : Message Passing Interface Programme séquentiel monprogramme.c Mémoire core exécution int main (int argc, char **argv) { a = malloc(a_lot*sizeof(double)); }

12 Principe de MPI SPMD : Single Program Multiple Data Mémoire core int main (int argc, char **argv) { a = malloc(a_lot*sizeof(double)); } monprogramme.c réseau Mémoire core

13 Principe de MPI Implémentations de MPI MPI ne dénit que le nom des fonctions, en aucun cas l'implémentation. Pour cette raison, il existe un grand nombre d'implémentations, qui ne sont compatibles entre elles qu'au niveau source. MPICH2 : http ://www-unix.mcs.anl.gov/mpi/mpich2/, l'implémentation portée par le labo d'un des principaux acteurs de la norme, William Gropp Open MPI : http :// un MPI modulaire quant aux réseaux de communication utilisés Intel MPI, HP MPI, Bull MPI, IBM MPI MPJ Express, pour Java Diérents bindings python dont mpi4py

14 Les bases de MPI Communication point à point Plan 1 Introduction 2 Principe de MPI 3 Les bases de MPI 4 Les moins-bases de MPI 5 Et le multi-coeur? 6 Conclusion

15 Les bases de MPI Communication point à point Communication point à point bloquante I Une communication point à point met en jeu 2 processus, repérés par leur numéro. Elle est la résultante de 2 actions : Déroulement d'une communication Un processus fait appel à MPI_Send, indique type et taille des données, ainsi que le numéro (rang) du processus destinataire Le processus dont le rang est indiqué par le processus émetteur fait appel à MPI_Recv, avec type et taille des données identiques. Ce processus indique le rang du processeur émetteur La mise en correspondance de ces deux opérations permet au message d'être livré à son destinataire. Par défaut, les

16 Les bases de MPI Communication point à point Communication point à point bloquante II communucations sont bloquantes : le programme ne peut sortir de l'appel à MPI_Send / MPI_Recv qu'après complétion de l'opération. Si l'on se trompe, cela peut facilement faire bloquer un programme.

17 Les bases de MPI Communication point à point Communication point à point bloquante Exemple valeur =

18 Les bases de MPI Communication point à point Code Fortran correspondant program point_a_point implicit none include 'mpif.h' integer, dimension(mpi_status_size) :: statut integer, parameter :: etiquette=100 integer :: rang,valeur,code call MPI_INIT(code) call MPI_COMM_RANK(MPI_COMM_WORLD,rang,code) if (rang == 1) then valeur=1000 call MPI_SEND(valeur,1,MPI_INTEGER,5,etiquette,MPI_COMM_WORLD,code) elseif (rang == 5) then call MPI_RECV(valeur,1,MPI_INTEGER,1,etiquette,MPI_COMM_WORLD, statut,code) print *,'Moi, processus 5, j''ai reçu ',valeur,' du processus 1.' end if call MPI_FINALIZE(code)

19 Les bases de MPI Communication point à point Envoi d'un tableau program table_point_a_point... real *8, dimensions=(100,200) :: demoarray call MPI_INIT(code) call MPI_COMM_RANK(MPI_COMM_WORLD,rang,code) if (rang == 1) then! Read demo array from file call MPI_SEND (demoarray,20000,mpi_double,5,...) elseif (rang == 5) then call MPI_RECV(demoarray,20000,MPI_DOUBLE,1,etiquette, MPI_COMM_WORLD,statut,code) print *,'Moi, processus 5, j''ai reçu un tableau du processus 1.' end if call MPI_FINALIZE(code) end program table_point_a_point

20 Attention : il est évident que l'avancement de la communication en arrière-plan consommera des RD/LG ressources. MPI : Un Sous outil pour OpenMPI, le multi-coeur il? existe Les bases de MPI Communication point à point Communication point à point non bloquante Une communcation non bloquante permet au programme de continuer son exécution pendant que le transfert des données se réalise en arrière-plan. Étapes d'une communication non-bloquante Initiation de la communication. En retour, on obtient une référence à cette communication Exécution de routines de calcul a Plus tard, attente sur la référence à la communication pour pouvoir relacher la référence à la communication a. Attention, ces routines doivent pas modier les données potentiellement en cours d'envoi

21 Les bases de MPI Communication point à point Communication point à point non bloquante Exemple de code program point_a_point_nb... integer real *8, dimensions=(100,200)... :: rang,valeur,code,requete :: demoarray if (rang == 1) then! Read demo array from file call MPI_ISEND (demoarray,20000,...,requete,code)! Compute on everything but demoarray, may take a long time call MPI_WAIT(requete,status,code) elseif (rang == 5) then call MPI_RECV(demoarray,20000,MPI_DOUBLE,1,etiquette,MPI_COMM_WORLD, statut,code) print *,'Moi, processus 5, j''ai reçu un tableau du processus 1.' end if... Un message envoyé en non-bloquant RD/LG peut êtrempi reçu : Un enoutil mode pourbloquant. le multi-coeur?

22 Les moins-bases de MPI Communication collective Plan 1 Introduction 2 Principe de MPI 3 Les bases de MPI 4 Les moins-bases de MPI 5 Et le multi-coeur? 6 Conclusion

23 Les moins-bases de MPI Communication collective Synchronisation globale Une communication collective est une communication mettant en jeu tous les processus. MPI_Barrier()

24 Les moins-bases de MPI Communication collective Diusion générale Le but est de diuser la même information à tous, depuis un processus appelé root A 3 0 A 1 A 2 A 3 A

25 Les moins-bases de MPI Communication collective Communication dispersive Le but est de répartir en une instruction un gros ensemble de données en plusieurs petits ensembles. On l'utilise pour distribuer des morceaux de tableaux. MPI_Scatter(buer_to_send, buer_to_receive, size_of_each_block,type, root) A 1 1 A 2 2 A 1 A 2 A 3 A A 3 3 A 4

26 Les moins-bases de MPI Communication collective Communication dispersive Exemple Fortran program scatter.. integer, parameter:: nb_valeurs=128 integer :: nb_procs,rang,longueur_tranche,i,code real, allocatable, dimension(:) :: valeurs,donnees call MPI_INIT (code)... longueur_tranche=nb_valeurs/nb_procs allocate(donnees(longueur_tranche)) if (rang == 2) then allocate(valeurs(nb_valeurs)) valeurs(:)=(/(1000.+i,i=1,nb_valeurs)/) end if call MPI_SCATTER (valeurs,longueur_tranche,mpi_real, donnees,longueur_tranche, MPI_REAL,2,... ) call MPI_FINALIZE (code)

27 Les moins-bases de MPI Communication collective Rassembler Le rassemblement est l'opération inverse de la dispersion : Tous les processus impliqués disposent d'un morceau de tableau Un d'entre eux va recoller les morceaux 0 A 1 1 A A 3 3 A 4 2 A 1 A 2 A 3 A 4 3

28 Les moins-bases de MPI Communication collective Tout rassembler Les besoins courants, comme l'enchaînement d'un rassmblement suivi d'une rediusion à tous (Gather + Bcast) sont fournis par la norme : allgather 0 A 1 0 A 1 A 2 A 3 A 4 1 A 2 1 A 1 A 2 A 3 A 4 2 A 3 2 A 1 A 2 A 3 A 4 3 A 4 3 A 1 A 2 A 3 A 4

29 Les moins-bases de MPI Communication collective Echanges croisés Lors d'un commérage (alltoall), chaque processus procède à une communication dispersive de ses données. Le volume de communications est en conséquence (en fonction du carré du nombre de processus). 0 A 1 A 2 A 3 A 4 0 A 1 B 1 C 1 D 1 1 B 1 B 2 B 3 B 4 1 A 2 B 2 C 2 D 2 2 C 1 C 2 C 3 C 4 2 A 3 B 3 C 3 D 3 3 D 1 D 2 D 3 D 4 3 A 4 B 4 C 4 D 4

30 Les moins-bases de MPI Communication collective Réduction La réduction un mode de communication où l'échange des données s'accompagne d'opérations sur celles-ci. Les opérations doivent être commutatives et associatives (traduire eecutées dans un ordre quelconque). Par défaut, les opérations suivantes sont dénies : MPI_SUM : somme des éléments MPI_PROD : produit des éléments MPI_MAX : recherche du maximum MPI_MIN : recherche du minimum MPI_MAXLOC : recherche de l'indice du maximum MPI_MINLOC : recherche de l'indice du minimum...

31 Et le multi-coeur? Utilisation de MPI en environnement multi-coeurs Que mettre dans un processus MPI? Plan 1 Introduction 2 Principe de MPI 3 Les bases de MPI 4 Les moins-bases de MPI 5 Et le multi-coeur? 6 Conclusion

32 Et le multi-coeur? Utilisation de MPI en environnement multi-coeurs Que mettre dans un processus MPI? Contexte d'utilisation de MPI I Petit rappel... MPI est utilisé pour exécuter un ensemble de processus sur des ordinateurs multiprocesseurs et des réseaux d'ordinateurs pour exécuter des applications parallèles communiquant explicitement par passage de messages.

33 Et le multi-coeur? Utilisation de MPI en environnement multi-coeurs Que mettre dans un processus MPI? Contexte d'utilisation de MPI II... grosses conséquences Dans la norme MPI, il n'est rien dit du mode lancement des processus. En particulier, l'aectation des processus aux diérents ordinateurs et aux diérents processeurs est à la charge de l'utilisateur. MPI n'intervient que lorsqu'une fonction préxée par MPI_... est appelée. Entre deux appels à MPI, les processus peuvent faire ce que bon leur semble. Rien n'oblige non plus à démarrer les mêmes processus sur l'ensemble des machines, tant que leurs communications MPI correspondent.

34 Et le multi-coeur? Utilisation de MPI en environnement multi-coeurs Que mettre dans un processus MPI? Exécution des processus sur un ensemble de machines I La syntaxe indiquée ici est celle de l'imlémentation Open-Mpi. Lancement des processus, mode basique Par convention, on utilise la commande mpiexec. On lui indique : Le nombre de processus total Une liste de machines à utiliser Exemple : mpiexec -n 19 -machinele hostlist /path/to/binary Dans ce cas, les 19 processus seront répartis en round-robin sur les machines fournies dans hostlist

35 Et le multi-coeur? Utilisation de MPI en environnement multi-coeurs Que mettre dans un processus MPI? Exécution des processus sur un ensemble de machines II Pour aller un peu plus loin Des options avancées permettent de préciser : Pour chacune des machines, le nombre de processus à lancer Le nom du programme à lancer sur les machines On écrit alors un apple pour cela. Le chier comprend une suite de lignes de la forme -host hostname -np nb_procs /path/to/binary_for_host Dans ce cas, on choisit le nombre de processus machine par machine

36 Et le multi-coeur? Utilisation de MPI en environnement multi-coeurs Que mettre dans un processus MPI? Prise en compte de l'environnement d'exécution par MPI I En environnement cluster Les clusters de calcul sont souvent exploités par des environnements de gestion de les d'attente (gestion de batch) Ces environnements choisissent automatiquement pour l'utilisateur des machines disponibles sur lesquelles s'exécutera l'application MPI La liste des machines n'est pas connue au lancement du job. La couche de lancement MPI pourra la récupérer automatiquement lors du lancement de l'application (on parle d'intégration entre MPI et le gestionnaire de batch)

37 Et le multi-coeur? Utilisation de MPI en environnement multi-coeurs Que mettre dans un processus MPI? Prise en compte de l'environnement d'exécution par MPI II Choix du meilleur canal pour les communications En fonction de la répartition en processus par machine, MPI pourra réaliser les optmisations suivantes lors des communications. processus local remote processus self shared memory network(s) Question ouverte : coût d'un échange de données entre processus sur un même machine via MPI ou via des threads?

38 Et le multi-coeur? Utilisation de MPI en environnement multi-coeurs Que mettre dans un processus MPI? Exécution sur des machines multi-coeurs I Pour la répartition des processus MPI sur un ensemble de machines multi-coeurs, un grand nombre de possibilités s'orent à nous.

39 Et le multi-coeur? Utilisation de MPI en environnement multi-coeurs Que mettre dans un processus MPI? Exécution sur des machines multi-coeurs II Répartition des processus Un processus par coeur Avantage : 1 seul mode de programmation, utilisation de tous les coeurs. Inconvénient : Expressivité. Ecacité en mémoire. Performances dépendent des optimisations de la couche MPI. Question ouverte : placement des processus MPI sur les diérents coeurs? Cf Travaux de l'équipe Runtime du Labri (http ://runtime.bordeaux.inria.fr) Un processus par machine Avantage : 1 seul mode de programmation Inconvénient : Que faire des autres coeurs?

40 Et le multi-coeur? Utilisation de MPI en environnement multi-coeurs Que mettre dans un processus MPI? Exécution sur des machines multi-coeurs III La méthode utilisée couramment s'appuie sur la programmtion hybride : MPI (Inter-machines) + Threads/OpenMP + GPU. Ceci assure une mise en correspondance ne du modèle de programmation avec l'architecture. On lancera alors 1 processus MPI par machine.

41 1. On suppose que le système RD/LG a bien voulu MPI : Un placer outil pour un le thread multi-coeur par? coeur. On Et le multi-coeur? Utilisation de MPI en environnement multi-coeurs Que mettre dans un processus MPI? Exécution sur des machines multi-coeurs Exemple de répartition idéale avec 1 processeus par machine, 2 Threads OpenMP par processus, 1 GPU par thread 1 Représentation graphique GPU1 (OCL) GPU2 (OCL) GPU1 (OCL) GPU2 (OCL) Mémoire Mémoire c1 (OMP) c2 (OMP) c1 (OMP) c2 (OMP) réseau - (Communications MPI)

42 Et le multi-coeur? Utilisation de MPI en environnement multi-coeurs Que mettre dans un processus MPI? Exécution sur des machines multi-coeurs - pseudo-code MPI_Init(&argc, &argv); if (rank ==0) read_file(); /* All MPI processes) */ MPI_Scatter(...); #pragma omp parallel for schedule(static) for (i=0 ; i < BIG_NUMBER ; i++) start_gpu_computation(device=omp_get_thread_num()%2) MPI_Send(some_data,the_other) do_cpu_computation_that_does_not_fits_on_gpu() MPI_Gather(...); MPI_Finalize();

43 Et le multi-coeur? Utilisation de MPI en environnement multi-coeurs Que mettre dans un processus MPI? Exécution sur des machines multi-coeurs En pratique Le code précédent suppose que : Durant l'exécution des threads OpenMp, chaque thread se voit aecter un coeur. Assuré par le système, aidé par utilisateur Il y a autant de cartes GPU que de coeurs, ce qui en général n'est pas vrai procéder à un join des threads OpenMP avant d'utiliser les GPU, ou dédier un thread OpenMP au GPU Les appels MPI soient possibles dans les threads (dépend de l'implémentation).

44 MPI_THREAD_SINGLE : aucune cohabitation possible MPI_THREAD_FUNNELED : plusieurs threads mais seul le maitre appelle MPI MPI_THREAD_SERIALIZED : les appels MPI doivent être sérialisés par les threads MPI_THREAD_MULTIPLE : les appels à MPI peuvent être eectués en même temps par plusieurs threads (cas de OpenMPI) Et le multi-coeur? Utilisation de MPI en environnement multi-coeurs Que mettre dans un processus MPI? MPI et les threads Niveaux de support Le niveau de cohabitation de MPI et des threads est donné par la fonction MPI_Init_thread(int *argc, char ***argv,int required, int *

45 Et le multi-coeur? Utilisation de MPI en environnement multi-coeurs Que mettre dans un processus MPI? Prise en compte du multi-coeurs dans MPI-3 I Une des notions fondamentales de MPI est l'association identitaire entre un processus et un rang, l'espace d'adressage n'étant pas partagé entre les processus : Pour la prise en compte du multi-coeurs, l'idée serait de permettre à plusieurs rangs MPI de partager le même espace d'adressage. On parle alors de MPI_Endpoint. L'intérêt est de simplier l'échange

46 Et le multi-coeur? Utilisation de MPI en environnement multi-coeurs Que mettre dans un processus MPI? Prise en compte du multi-coeurs dans MPI-3 II de données entre rangs MPI sur une même machine.

47 Conclusion Plan 1 Introduction 2 Principe de MPI 3 Les bases de MPI 4 Les moins-bases de MPI 5 Et le multi-coeur? 6 Conclusion

48 Conclusion Conclusion La programmation de grappes de machines multicoeurs exige de mettre en uvre plusieurs modèles de programmation parallèle. L'ajout de MPI comme surcouche de communucation entre machines multicoeurs ajoute des fonctionnalités riches en terme de description d'échange des données, d'e/s parallèles (Hdf5 par exemple). Le prix à payer est une hiérarchisation du code. Néanmoins, on peut imaginer coner une partie du travail de parallélisation du code des processus aux compilateurs.

49 Conclusion Bibliographie Il existe de nombreux cours MPI en ligne. Ont été utilisés : Le cours sur mpi4py (pour python), écrit par Loïc Gouarin pour l'angd "Python pour le Calcul Scientique" Le cours MPI de l'idris (J. Chergui, I. Dupays, D. Girou, S. Requena, P. Wautelet Le site de OpenMPI Site des discussions du forum mpi :

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

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

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

Télécom Nancy Année 2013-2014

Télécom Nancy Année 2013-2014 Télécom Nancy Année 2013-2014 Rapport 1A Ajout du langage C dans la Programmer's Learning Machine GIANNINI Valentin Loria 615, rue du Jardin Botanique 54600, Villers-Lès-Nancy Maître de stage : QUINSON

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

Rapport 2014 et demande pour 2015. Portage de Méso-NH sur Machines Massivement Parallèles du GENCI Projet 2015 : GENCI GEN1605 & CALMIP-P0121

Rapport 2014 et demande pour 2015. Portage de Méso-NH sur Machines Massivement Parallèles du GENCI Projet 2015 : GENCI GEN1605 & CALMIP-P0121 Rapport 2014 et demande pour 2015 Portage de Méso-NH sur Machines Massivement Parallèles du GENCI Projet 2015 : GENCI GEN1605 & CALMIP-P0121 Rappel sur Méso-NH : Modélisation à moyenne échelle de l atmosphère

Plus en détail

Systèmes parallèles et distribués

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

Plus en détail

PVM 1 PVM. Parallel Virtual Machine

PVM 1 PVM. Parallel Virtual Machine PVM 1 PVM Parallel Virtual Machine Jalel Chergui Messagerie : Jalel.Chergui@idris.fr Jean-Michel Dupays Messagerie : dupays@idris.fr PVM Plan 2 1 Introduction................. 5 1.1 Concepts de l échange

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

Segmentation d'images à l'aide d'agents sociaux : applications GPU

Segmentation d'images à l'aide d'agents sociaux : applications GPU Segmentation d'images à l'aide d'agents sociaux : applications GPU Richard MOUSSA Laboratoire Bordelais de Recherche en Informatique (LaBRI) - UMR 5800 Université de Bordeaux - France Laboratoire de recherche

Plus en détail

Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre. Partie I : Introduction

Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre. Partie I : Introduction Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre Partie I : Introduction Plan de la première partie Quelques définitions Caractéristiques communes des applications temps-réel Exemples d

Plus en détail

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme Rappel Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes treinen@pps.univ-paris-diderot.fr 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation

Plus en détail

Les clusters Linux. 4 août 2004 Benoît des Ligneris, Ph. D. benoit.des.ligneris@revolutionlinux.com. white-paper-cluster_fr.sxw, Version 74 Page 1

Les clusters Linux. 4 août 2004 Benoît des Ligneris, Ph. D. benoit.des.ligneris@revolutionlinux.com. white-paper-cluster_fr.sxw, Version 74 Page 1 Les clusters Linux 4 août 2004 Benoît des Ligneris, Ph. D. benoit.des.ligneris@revolutionlinux.com white-paper-cluster_fr.sxw, Version 74 Page 1 Table des matières Introduction....2 Haute performance (High

Plus en détail

Plan de la formation. Calcul parallèle avec MPI. Pourquoi paralléliser? Parallélisation. Présentation, environnement MPI. Communications point à point

Plan de la formation. Calcul parallèle avec MPI. Pourquoi paralléliser? Parallélisation. Présentation, environnement MPI. Communications point à point Plan de la formation Calcul parallèle avec MPI Guy Moebs Parallélisation Présentation, environnement MPI Communications point à point Laboratoire de Mathématiques Jean Leray, CNRS, Université de Nantes,

Plus en détail

Programmation parallèle pour le calcul scientifique

Programmation parallèle pour le calcul scientifique Méthodologie M2 Programmation parallèle pour le calcul scientifique Benoît Semelin 2014 Préliminaire 1000 x ε ~ ε - Loguez vous sur rubicon.obspm.fr puis sur momentum.obspm.fr - Ecrire un programme qui:

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

Réalisation d'un seeder BitTorrent en CPC Stage de TRE sous la direction de J. Chroboczek et G. Kerneis

Réalisation d'un seeder BitTorrent en CPC Stage de TRE sous la direction de J. Chroboczek et G. Kerneis Réalisation d'un seeder BitTorrent en CPC Stage de TRE sous la direction de J. Chroboczek et G. Kerneis Pejman Attar Yoann Canal 30 juin 2009 1 Table des matières 1 Introduction 3 1.1 CPC................................

Plus en détail

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation

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

ParallelKnoppix. Majid Hameed. Copyright 2005 Majid Hameed. Copyright 2005 Gauthier Savart. Copyright 2005 Joëlle Cornavin

ParallelKnoppix. Majid Hameed. Copyright 2005 Majid Hameed. Copyright 2005 Gauthier Savart. Copyright 2005 Joëlle Cornavin Linux Gazette n 110 Janvier 2005 Majid Hameed Copyright 2005 Majid Hameed Copyright 2005 Gauthier Savart Copyright 2005 Joëlle Cornavin Article paru dans le n 110 de la Gazette Linux de janvier 2005. Traduction

Plus en détail

1. Structure d'un programme FORTRAN 95

1. Structure d'un programme FORTRAN 95 FORTRAN se caractérise par la nécessité de compiler les scripts, c'est à dire transformer du texte en binaire.(transforme un fichier de texte en.f95 en un executable (non lisible par un éditeur) en.exe.)

Plus en détail

Cours de Génie Logiciel

Cours de Génie Logiciel Cours de Génie Logiciel Sciences-U Lyon Diagrammes UML (2) http://www.rzo.free.fr Pierre PARREND 1 Avril 2005 Sommaire Les Diagrammes UML Diagrammes de Collaboration Diagrammes d'etats-transitions Diagrammes

Plus en détail

MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version 1.0-25 septembre 2006

MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version 1.0-25 septembre 2006 MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version 1.0-25 septembre 2006 SOMMAIRE 1 AVANT PROPOS...3 2 PRÉSENTATION...4 2.1 Quelques définitions...4 2.2 Besoins d'intégration d'un moteur de workflow...4

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

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/2012. 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme Java

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/2012. 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme Java 1 - Vue générale 2 - Mon premier programme 3 - Types de Programme 1 2 c est quoi? Technologie développée par SUN Microsystems lancée en 1995 Dans un des premiers papiers* sur le langage JAVA, SUN le décrit

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

Annexe : La Programmation Informatique

Annexe : La Programmation Informatique GLOSSAIRE Table des matières La Programmation...2 Les langages de programmation...2 Java...2 La programmation orientée objet...2 Classe et Objet...3 API et Bibliothèque Logicielle...3 Environnement de

Plus en détail

Cours Informatique Master STEP

Cours Informatique Master STEP Cours Informatique Master STEP Bases de la programmation: Compilateurs/logiciels Algorithmique et structure d'un programme Programmation en langage structuré (Fortran 90) Variables, expressions, instructions

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

Éléments d'architecture des ordinateurs

Éléments d'architecture des ordinateurs Chapitre 1 Éléments d'architecture des ordinateurs Machines take me by surprise with great frequency. Alan Turing 1.1 Le Hardware Avant d'attaquer la programmation, il est bon d'avoir quelques connaissances

Plus en détail

Rapport de stage de 2ème année. Filière Télécommunication

Rapport de stage de 2ème année. Filière Télécommunication Institut Supérieur d'informatique, de Modélisation et de leurs Applications Complexe de Cézeaux BP 125 63173 Aubière Cedex www.isima.fr 1 rue de Provence BP 208-38432 Echirolles Cedex www.bull.com Rapport

Plus en détail

Recherche dans un tableau

Recherche dans un tableau Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6

Plus en détail

Cours Langage C/C++ Programmation modulaire

Cours Langage C/C++ Programmation modulaire Cours Langage C/C++ Programmation modulaire Thierry Vaira BTS IRIS Avignon tvaira@free.fr «v0.1 Rappel Programmation modulaire (1/2) Le découpage d'un programme en sous-programmes est appelée programmation

Plus en détail

Introduction au calcul parallèle avec OpenCL

Introduction au calcul parallèle avec OpenCL Introduction au calcul parallèle avec OpenCL Julien Dehos Séminaire du 05/01/2012 Sommaire Introduction Le calculateur du CGR/LISIC/LMPA Généralités sur OpenCL Modèles Programmation Optimisation Conclusion

Plus en détail

Infrastructures Parallèles de Calcul

Infrastructures Parallèles de Calcul Infrastructures Parallèles de Calcul Clusters Grids Clouds Stéphane Genaud 11/02/2011 Stéphane Genaud () 11/02/2011 1 / 8 Clusters - Grids - Clouds Clusters : assemblage de PCs + interconnexion rapide

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

Windows Server 2008. Chapitre 1: Découvrir Windows Server 2008

Windows Server 2008. Chapitre 1: Découvrir Windows Server 2008 Windows Server 2008 Chapitre 1: Découvrir Windows Server 2008 Objectives Identifier les caractéristiques de chaque édition de Windows Server 2008 Identifier les caractéristiques généraux de Windows Server

Plus en détail

Performances de la programmation multi-thread

Performances de la programmation multi-thread UFR Sciences et techniques de Franche-Comté Projet semestriel 2ème année de Master Informatique Performances de la programmation multi-thread Auteur(s) : Beuque Eric Moutenet Cyril Tuteur(s) : Philippe

Plus en détail

Cloud Computing : Utiliser Stratos comme PaaS privé sur un cloud Eucalyptus

Cloud Computing : Utiliser Stratos comme PaaS privé sur un cloud Eucalyptus Cloud Computing : Utiliser Stratos comme PaaS privé sur un cloud Eucalyptus Mr Romaric SAGBO Ministère de l'economie et des Finances (MEF), Bénin SWD Technologies Email : rask9@yahoo.fr Tél : +229 97217745

Plus en détail

Grid Computing. Mihaela JUGANARU-MATHIEU mathieu@emse.fr 2014-2015. École Nationale Supérieure des Mines de St Etienne

Grid Computing. Mihaela JUGANARU-MATHIEU mathieu@emse.fr 2014-2015. École Nationale Supérieure des Mines de St Etienne Mihaela JUGANARU-MATHIEU mathieu@emse.fr École Nationale Supérieure des Mines de St Etienne 2014-2015 Bibliographie (livres et revues) : Frédéric Magoulès, Jie Pan, Kiat-An, Tan Abhinit Kumar Introduction

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

CH.3 SYSTÈMES D'EXPLOITATION

CH.3 SYSTÈMES D'EXPLOITATION CH.3 SYSTÈMES D'EXPLOITATION 3.1 Un historique 3.2 Une vue générale 3.3 Les principaux aspects Info S4 ch3 1 3.1 Un historique Quatre générations. Préhistoire 1944 1950 ENIAC (1944) militaire : 20000 tubes,

Plus en détail

DÉVELOPPEMENT INFONUAGIQUE - meilleures pratiques

DÉVELOPPEMENT INFONUAGIQUE - meilleures pratiques livre blanc DÉVELOPPEMENT INFONUAGIQUE MEILLEURES PRATIQUES ET APPLICATIONS DE SOUTIEN DÉVELOPPEMENT INFONUAGIQUE - MEILLEURES PRATIQUES 1 Les solutions infonuagiques sont de plus en plus présentes sur

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

<Insert Picture Here> Solaris pour la base de donnés Oracle

<Insert Picture Here> Solaris pour la base de donnés Oracle Solaris pour la base de donnés Oracle Alain Chéreau Oracle Solution Center Agenda Compilateurs Mémoire pour la SGA Parallélisme RAC Flash Cache Compilateurs

Plus en détail

CAHIER DES CHARGES D IMPLANTATION

CAHIER DES CHARGES D IMPLANTATION CAHIER DES CHARGES D IMPLANTATION Tableau de diffusion du document Document : Cahier des Charges d Implantation EVRP Version 6 Etabli par DCSI Vérifié par Validé par Destinataires Pour information Création

Plus en détail

L informatique en BCPST

L informatique en BCPST L informatique en BCPST Présentation générale Sylvain Pelletier Septembre 2014 Sylvain Pelletier L informatique en BCPST Septembre 2014 1 / 20 Informatique, algorithmique, programmation Utiliser la rapidité

Plus en détail

Stages 2014-2015 ISOFT : UNE SOCIETE INNOVANTE. Contact : Mme Lapedra, stage@isoft.fr

Stages 2014-2015 ISOFT : UNE SOCIETE INNOVANTE. Contact : Mme Lapedra, stage@isoft.fr Stages 2014-2015 ISOFT : UNE SOCIETE INNOVANTE Contact : Mme Lapedra, stage@isoft.fr ISoft, éditeur de logiciels, est spécialisé dans l informatique décisionnelle et l analyse de données. Son expertise

Plus en détail

Génération de code binaire pour application multimedia : une approche au vol

Génération de code binaire pour application multimedia : une approche au vol Génération de binaire pour application multimedia : une approche au vol http://hpbcg.org/ Henri-Pierre Charles Université de Versailles Saint-Quentin en Yvelines 3 Octobre 2009 Présentation Présentation

Plus en détail

Quantification d incertitude et Tendances en HPC

Quantification d incertitude et Tendances en HPC Quantification d incertitude et Tendances en HPC Laurence Viry E cole de Physique des Houches 7 Mai 2014 Laurence Viry Tendances en HPC 7 Mai 2014 1 / 47 Contents 1 Mode lisation, simulation et quantification

Plus en détail

G. Méthodes de déploiement alternatives

G. Méthodes de déploiement alternatives Page 32 Chapitre 1 - Le fichier MigUser.xml permet de configurer le comportement d'usmt lors de la migration des comptes et profils utilisateurs (capture et restauration). - Le fichier config.xml permet

Plus en détail

M2-Images. Rendu Temps Réel - OpenGL 4 et compute shaders. J.C. Iehl. December 18, 2013

M2-Images. Rendu Temps Réel - OpenGL 4 et compute shaders. J.C. Iehl. December 18, 2013 Rendu Temps Réel - OpenGL 4 et compute shaders December 18, 2013 résumé des épisodes précédents... création des objets opengl, organisation des données, configuration du pipeline, draw,... opengl 4.3 :

Plus en détail

Application 1- VBA : Test de comportements d'investissements

Application 1- VBA : Test de comportements d'investissements Application 1- VBA : Test de comportements d'investissements Notions mobilisées Chapitres 1 à 5 du cours - Exemple de récupération de cours en ligne 1ère approche des objets (feuilles et classeurs). Corps

Plus en détail

Groupe calcul parallèle

Groupe calcul parallèle Groupe calcul parallèle «Exploiter le potentiel des nouvelles architectures» Vincent Lafage Luz Guevara Ivana Hrivnacova Christophe Diarra Contact :Luz Guevara e-mail : guevara@ipno.in2p3.fr Tel : 54463

Plus en détail

Conception de circuits numériques et architecture des ordinateurs

Conception de circuits numériques et architecture des ordinateurs Conception de circuits numériques et architecture des ordinateurs Frédéric Pétrot Année universitaire 2014-2015 Structure du cours C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 Codage des nombres en base 2, logique

Plus en détail

CAHIER DE S CHARGE S Remote Workload Manager

CAHIER DE S CHARGE S Remote Workload Manager CAHIER DE S CHARGE S Remote Workload Manager équipe Regis Rouyard (rouyar_r) Jonathan Bouchot (boucho_o) Johan Massin (massin_j) Jacky Rouquette (rouque_j) Yannick Boillon (boillo_o) EPITECH INOVATION

Plus en détail

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie Chapitre I : Les bases du C++ Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie du logiciel, et ce depuis

Plus en détail

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS Depuis SAS 9.2 TS2M3, SAS propose un nouveau langage de programmation permettant de créer et gérer des tables SAS : le DS2 («Data Step 2»). Ces nouveautés

Plus en détail

Équilibrage Dynamique de Charge pour des Calculs Parallèles sur Cluster Linux - Une Évaluation de l Environnement AMPI.

Équilibrage Dynamique de Charge pour des Calculs Parallèles sur Cluster Linux - Une Évaluation de l Environnement AMPI. Facultés Universitaires Notre-Dame de la Paix, Namur Institut d Informatique Année académique 2003-2004 Équilibrage Dynamique de Charge pour des Calculs Parallèles sur Cluster Linux - Une Évaluation de

Plus en détail

Projet de Veille Technologique

Projet de Veille Technologique Projet de Veille Technologique Programmation carte à puce - JavaCard Ing. MZOUGHI Ines (i.mzoughi@gmail.com) Dr. MAHMOUDI Ramzi (mahmoudr@esiee.fr) TEST Sommaire Programmation JavaCard Les prérequis...

Plus en détail

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments Recherche Opérationnelle Optimisation combinatoire : Applications et compléments Pierre Delisle Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique 17 février 2014 Plan de

Plus en détail

TP2 - Conguration réseau et commandes utiles. 1 Généralités. 2 Conguration de la machine. 2.1 Commande hostname

TP2 - Conguration réseau et commandes utiles. 1 Généralités. 2 Conguration de la machine. 2.1 Commande hostname Département d'informatique Architecture des réseaux TP2 - Conguration réseau et commandes utiles L'objectif de ce TP est d'une part de vous présenter la conguration réseau d'une machine dans l'environnement

Plus en détail

Une bibliothèque de templates pour CUDA

Une bibliothèque de templates pour CUDA Une bibliothèque de templates pour CUDA Sylvain Collange, Marc Daumas et David Defour Montpellier, 16 octobre 2008 Types de parallèlisme de données Données indépendantes n threads pour n jeux de données

Plus en détail

Gestion de clusters de calcul avec Rocks

Gestion de clusters de calcul avec Rocks Gestion de clusters de calcul avec Laboratoire de Chimie et Physique Quantiques / IRSAMC, Toulouse scemama@irsamc.ups-tlse.fr 26 Avril 2012 Gestion de clusters de calcul avec Outline Contexte 1 Contexte

Plus en détail

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova

DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova DA MOTA Anthony - Comparaison de technologies : PhoneGap VS Cordova I. Introduction Dans une période où la plasticité peut aider à réduire les coûts de développement de projets comme des applications mobile,

Plus en détail

INF6500 : Structures des ordinateurs. Sylvain Martel - INF6500 1

INF6500 : Structures des ordinateurs. Sylvain Martel - INF6500 1 INF6500 : Structures des ordinateurs Sylvain Martel - INF6500 1 Cours 4 : Multiprocesseurs Sylvain Martel - INF6500 2 Multiprocesseurs Type SISD SIMD MIMD Communication Shared memory Message-passing Groupe

Plus en détail

PFE Télécommunications. Pré-rapport à l'issue des 6 premières semaines de stage. Page 1 sur 5 1 %

PFE Télécommunications. Pré-rapport à l'issue des 6 premières semaines de stage. Page 1 sur 5 1 % PFE Télécommunications Pré-rapport à l'issue des 6 premières semaines de stage!"!"#$%&' ()*()!")+")# (#),()-,)*)"-./0 1 ()*()!")+-)# % 23 &0 )14) 56 7$8797%77:7' '72 Page 1 sur 5 Contexte Les centres de

Plus en détail

Systèmes répartis. Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine. Systèmes répartis p.1/49

Systèmes répartis. Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine. Systèmes répartis p.1/49 Systèmes répartis Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine Systèmes répartis p.1/49 Systèmes répartis Définition très large : un système réparti est système informatique

Plus en détail

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml

Plan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml OCL Object Constraint Language Le langage de contraintes d'uml Plan 1. Introduction 2. Les principaux concepts d'ocl Object Constraint Language 1 Object Constraint Language 2 Exemple: une application bancaire

Plus en détail

Migration dynamique d applications réparties virtualisées dans les fédérations d infrastructures distribuées

Migration dynamique d applications réparties virtualisées dans les fédérations d infrastructures distribuées Migration dynamique d applications réparties virtualisées dans les fédérations d infrastructures distribuées Djawida Dib To cite this version: Djawida Dib. Migration dynamique d applications réparties

Plus en détail

1 JBoss Entreprise Middleware

1 JBoss Entreprise Middleware 1 JBoss Entreprise Middleware Les produits de la gamme JBoss Entreprise Middleware forment une suite de logiciels open source permettant de construire, déployer, intégrer, gérer et présenter des applications

Plus en détail

I. Introduction aux fonctions : les fonctions standards

I. Introduction aux fonctions : les fonctions standards Chapitre 3 : Les fonctions en C++ I. Introduction aux fonctions : les fonctions standards A. Notion de Fonction Imaginons que dans un programme, vous ayez besoin de calculer une racine carrée. Rappelons

Plus en détail

Chapitre 2 : Abstraction et Virtualisation

Chapitre 2 : Abstraction et Virtualisation Virtualisation et Cloud Computing Chapitre 2 : Abstraction et Virtualisation Objectifs Présenter la notion de niveaux d abstraction séparés par des interfaces bien définies Description des avantages et

Plus en détail

Contrôle Non Destructif : Implantation d'algorithmes sur GPU et multi-coeurs. Gilles Rougeron CEA/LIST Département Imagerie Simulation et Contrôle

Contrôle Non Destructif : Implantation d'algorithmes sur GPU et multi-coeurs. Gilles Rougeron CEA/LIST Département Imagerie Simulation et Contrôle Contrôle Non Destructif : Implantation d'algorithmes sur GPU et multi-coeurs Gilles Rougeron CEA/LIST Département Imagerie Simulation et Contrôle 1 CEA R & D for Nuclear Energy 5 000 people Nuclear systems

Plus en détail

Portage du modèle climatique de surface continentale de l'ipsl. sur une grappe de serveurs XD1

Portage du modèle climatique de surface continentale de l'ipsl. sur une grappe de serveurs XD1 BERNARDO Frederic Master 2 Physique et Applications CCI Université Paris XI Orsay (91) Portage du modèle climatique de surface continentale de l'ipsl sur une grappe de serveurs XD1 Différences de température

Plus en détail

Initiation à la programmation en Python

Initiation à la programmation en Python I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de

Plus en détail

Fiche de l'awt Intégration des applications

Fiche de l'awt Intégration des applications Fiche de l'awt Intégration des applications Aujourd'hui, plus de 40 % des budgets de développement en informatique sont liés à l'intégration de données dans les systèmes d'information. Il s'agit donc d'une

Plus en détail

Apache Camel. Entreprise Integration Patterns. Raphaël Delaporte BreizhJUG 07.11.2011

Apache Camel. Entreprise Integration Patterns. Raphaël Delaporte BreizhJUG 07.11.2011 Apache Camel & Entreprise Integration Patterns Raphaël Delaporte BreizhJUG 07.11.2011 1 Speaker CTO Zenika Ouest Consultant et formateur Responsable comité technique Architecture d'entreprise Domaine ESB

Plus en détail

Compte-rendu de projet de Système de gestion de base de données

Compte-rendu de projet de Système de gestion de base de données Compte-rendu de projet de Système de gestion de base de données Création et utilisation d'un index de jointure LAMBERT VELLER Sylvain M1 STIC Université de Bourgogne 2010-2011 Reponsable : Mr Thierry Grison

Plus en détail

Raja Bases de données distribuées A Lire - Tutoriel

Raja Bases de données distribuées A Lire - Tutoriel Université des Sciences de Montpellier Master 2 Semestre 1 Unité d'enseignement FMIN306 Raja Bases de données distribuées A Lire - Tutoriel 26 janvier 2011 Audrey Novak Romain Maneschi Jonathan Fhal Aloys

Plus en détail

la virtualisation pour quoi faire?

la virtualisation pour quoi faire? J. F. DAVID Ingénieur Commercial Agence Paris Industrie de Base et de Transformation 24 Mai 1975 la virtualisation pour quoi faire? "Etre transparent, c'est exister et ne pas se voir. Etre virtuel, c'est

Plus en détail

Windows 8 Installation et configuration

Windows 8 Installation et configuration Editions ENI Windows 8 Installation et configuration Collection Ressources Informatiques Extrait 112 Windows 8 Installation et configuration Pour terminer l'application de l'image, nous devons configurer

Plus en détail

Détection d'intrusions en environnement haute performance

Détection d'intrusions en environnement haute performance Symposium sur la Sécurité des Technologies de l'information et des Communications '05 Détection d'intrusions en environnement haute performance Clusters HPC Fabrice Gadaud (fabrice.gadaud@cea.fr) 1 Sommaire

Plus en détail

Cours Programmation Système

Cours Programmation Système Cours Programmation Système Filière SMI Semestre S6 El Mostafa DAOUDI Département de Mathématiques et d Informatique, Faculté des Sciences Université Mohammed Premier Oujda m.daoudi@fso.ump.ma Février

Plus en détail

L'évolution de VISUAL MESSAGE CENTER Architecture et intégration

L'évolution de VISUAL MESSAGE CENTER Architecture et intégration L'évolution de VISUAL MESSAGE CENTER Architecture et intégration Sommaire Résumé exécutif Base technologique : VISUAL Message Center 2 3 VISUAL Message Center Core Engine VISUAL Message Center Extended

Plus en détail

SYSTÈME DE GESTION DE FICHIERS

SYSTÈME DE GESTION DE FICHIERS SYSTÈME DE GESTION DE FICHIERS - DISQUE 1 Les couches logiciels réponse requête Requêtes E/S Système E/S Pilote E/S Interruptions utilisateur traitement S.E. commandes S.E. S.E. matériel Contrôleur E/S

Plus en détail

27/11/12 Nature. SDK Python et Java pour le développement de services ACCORD Module(s)

27/11/12 Nature. SDK Python et Java pour le développement de services ACCORD Module(s) Propriétés du Document Source du Document SDK_accords.odt Titre du Document SDK Python et Java pour le développement de services ACCORD Module(s) PyaccordsSDK, JaccordsSDK Responsable Prologue Auteur(s)

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

La continuité de service

La continuité de service La continuité de service I INTRODUCTION Si la performance est un élément important de satisfaction de l'utilisateur de réseau, la permanence de la disponibilité des ressources l'est encore davantage. Ici

Plus en détail

FinImportExport Documentation Utilisateur Gestion d'environnement dans Fininfo Market

FinImportExport Documentation Utilisateur Gestion d'environnement dans Fininfo Market FinImportExport Documentation Utilisateur Gestion d'environnement dans Fininfo Market Manuel d'utilisation de FinImportExport.doc, version 1.0 Page 1 sur 8 Sommaire 1. OBJECTIF DU DOCUMENT...3 2. DESCRIPTION

Plus en détail

DIRAC : cadre et composants pour créer des systèmes de calcul distribués

DIRAC : cadre et composants pour créer des systèmes de calcul distribués Licence Creative Commons by-nc-nd (Paternité, pas d'utilisation commerciale, pas de modification) Logiciel validé par la communauté Ens Sup - Recherche DIRAC : cadre et composants pour créer des systèmes

Plus en détail

Introduction à CUDA. gael.guennebaud@inria.fr

Introduction à CUDA. gael.guennebaud@inria.fr 36 Introduction à CUDA gael.guennebaud@inria.fr 38 Comment programmer les GPU? Notion de kernel exemple (n produits scalaires): T ci =ai b ( ai, b : vecteurs 3D, ci for(int i=0;i

Plus en détail

Eléments d architecture des machines parallèles et distribuées

Eléments d architecture des machines parallèles et distribuées M2-RISE - Systèmes distribués et grille Eléments d architecture des machines parallèles et distribuées Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle Notions d architecture

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

Le système GNU/Linux IUP NTIC2-1013 - 17/11/05

Le système GNU/Linux IUP NTIC2-1013 - 17/11/05 Capocchi Laurent Doctorant en Informatique capocchi@univ-corse.fr http://spe.univ-corse.fr/capocchiweb Objectifs Comprendre les notions de noyau Linux et des modules. Le système GNU/Linux IUP NTIC2-1013

Plus en détail

Le Framework.Net. Introduction. Pourquoi.Net?

Le Framework.Net. Introduction. Pourquoi.Net? Introduction. Pourquoi.Net? Le Framework.Net Cela fait une dizaine d'années que le monde du développement est bouleversé d'une part par la programmation objet et d'autre part par les applications web.

Plus en détail

Ricco Rakotomalala http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_r.html. R.R. Université Lyon 2

Ricco Rakotomalala http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_r.html. R.R. Université Lyon 2 Ricco Rakotomalala http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_r.html 1 Plan de présentation 1. L écosystème Hadoop 2. Principe de programmation MapReduce 3. Programmation des fonctions

Plus en détail

Armelin ASIMANE. Services RDS. de Windows Server 2012 R2. Remote Desktop Services : Installation et administration

Armelin ASIMANE. Services RDS. de Windows Server 2012 R2. Remote Desktop Services : Installation et administration Services RDS Remote Desktop Services : Installation et administration Armelin ASIMANE Table des matières 1 À propos de ce manuel 1. Avant-propos............................................ 13 1.1 À propos

Plus en détail

Propagation sur réseau statique et dynamique

Propagation sur réseau statique et dynamique Université de la Méditerranée UFR Sciences de Luminy Rapport de stage informatique pour le Master 2 de Physique, Parcours Physique Théorique et Mathématique, Physique des Particules et Astroparticules.

Plus en détail