MPI : Un outil pour le multi-coeur?
|
|
- Marc Pellerin
- il y a 8 ans
- Total affichages :
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 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étailRuntime. 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étailIntroduction 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étailTé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étailProgrammation 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étailRapport 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étailSystè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étailPVM 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étailRapport 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étailSegmentation 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étailInformatique 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étailRappel. 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étailLes 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étailPlan 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étailProgrammation 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étailInitiation 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étailRé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étailInstitut 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étailCommunications 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étailParallelKnoppix. 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étail1. 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étailCours 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étailMOTEUR 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étailD2.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étailJava 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étailIRL : 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étailAnnexe : 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étailCours 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étailMPI-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
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étailRapport 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étailRecherche 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étailCours 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étailIntroduction 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étailInfrastructures 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étailINFO-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étailWindows 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étailPerformances 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étailCloud 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étailGrid 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étailLes 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étailCH.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étailDÉ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étailProgrammation 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
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étailCAHIER 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étailL 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étailStages 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étailGé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étailQuantification 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étailG. 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étailM2-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étailApplication 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étailGroupe 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étailConception 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étailCAHIER 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étailLe 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étailTable 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.
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étailProjet 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étailInfo0804. 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étailTP2 - 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étailUne 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étailGestion 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étailDA 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étailINF6500 : 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étailPFE 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étailSystè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étailPlan. 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étailMigration 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étail1 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étailI. 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étailChapitre 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étailContrô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étailPortage 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étailInitiation à 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étailFiche 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étailApache 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étailCompte-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étailRaja 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étailla 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étailWindows 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étailDé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étailCours 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étailL'é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étailSYSTÈ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étail27/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étailParallé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étailLa 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étailFinImportExport 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étailDIRAC : 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étailIntroduction à 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étailElé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étailSystè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étailLe 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étailLe 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étailRicco 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étailArmelin 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étailPropagation 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