Outils d analyse de performance pour le HPC
|
|
- Florentin Laberge
- il y a 8 ans
- Total affichages :
Transcription
1 Outils d analyse de performance pour le HPC François Trahay Master MOPS Décembre 2013
2 Plan 1 Introduction Outils de profiling Traces d exécution Analyse de performance Logiciels d analyse de performance Télécom SudParis INF François Trahay Décembre 2013 Master MOPS 2/30
3 1 Introduction Contexte : Calcul Hautes Performance (HPC : High Performance Computing) Simulation numérique (météorologie, astrophysique, automobile, etc.) But du HPC : Traiter un problème + rapidement Traiter un problème + gros Comment on fait? Répartition du travail sur plusieurs unités de calcul Communications entre les tâches Télécom SudParis INF François Trahay Décembre 2013 Master MOPS 3/30
4 1 Introduction 1.1 Coût d un calculateur Exemple : Titan #2 au Top PFlop/s 8.2 MW Installé en 2012 au Oak Ridge National Laboratory Opteron CPUs (16 cores each) Tesla GPUs (2688 cores each) Coût : 100 M$ Coût de l électricité : environ 9 M$ par an Un calculateur coûte très cher Utiliser un calculateur coûte très cher > Obsession dans le HPC : utiliser au mieux la puissance de calcul Donc : les applications doivent être optimisées Télécom SudParis INF François Trahay Décembre 2013 Master MOPS 4/30
5 1 Introduction 1.2 Utiliser au mieux la puissance de calcul, c est difficile? Matériel de plus en plus compliqué processeurs multicore, caches hiérarchiques, machines NUMA, etc. CPU CPU CPU CPU L1 L1 L1 L1 L3 L3 Mem NIC Mem GPU CPU CPU CPU CPU L1 L1 L1 L1 L3 L3 Télécom SudParis INF François Trahay Décembre 2013 Master MOPS 5/30
6 1 Introduction 1.3 Utiliser au mieux la puissance de calcul, c est difficile? Matériel de plus en plus compliqué processeurs multicore, caches hiérarchiques, machines NUMA, etc. Mélange les modèles de programmation MPI, MPI+OpenMP, MPI+CUDA, etc. > Optimiser une application est extrèmement compliqué Télécom SudParis INF François Trahay Décembre 2013 Master MOPS 6/30
7 1 Introduction 1. Executer l application 2. Si (performances satisfaisantes) return ; 3. Trouver une phase à optimiser 4. Optimiser 5. goto Optimiser une application Partie compliquée : phase 3 Nécessite de : Comprendre le déroulement de l application Connaitre la durée des différentes parties de l application Télécom SudParis INF François Trahay Décembre 2013 Master MOPS 7/30
8 1 Introduction 1.5 Comment savoir si une fonction doit être optimisée? Détecter les fonctions qui consomment le plus de temps CPU Mesurer le temps passé dans chaque fonction Utiliser des indicateurs de performance Performance counters : registres du processeur donnant des informations sur l état du processeur Permet de connaître diverses métriques : Nombre d instructions exécutées Nombre de cache hits/miss Nombre de branchements correctement prédits etc. Télécom SudParis INF François Trahay Décembre 2013 Master MOPS 8/30
9 1 Introduction 1.6 Trouver les phases de l application à optimiser À la main : Ajout d appels à gettimeofday() dans le code source But : identifier quelle partie du code prend le plus de temps Inconvénient : fastidieux f o r ( i =0; i <n i t e r ; i ++) { g e t t i m e o f d a y (& t [ 0 ], NULL) ; do_function_1 ( ) ; g e t t i m e o f d a y (& t [ 1 ], NULL) ; do_function_2 ( ) ; g e t t i m e o f d a y (& t [ 2 ], NULL) ; do_function_3 ( ) ; g e t t i m e o f d a y (& t [ 3 ], NULL) ; p r i n t _ t i m e r ( t, 4) ; } Télécom SudParis INF François Trahay Décembre 2013 Master MOPS 9/30
10 2 Outils de profiling But : décrire statistiquement le déroulement de l application Temps passé dans chaque fonction (avec gprof) Utilisation des caches (avec cachegrind) Chemins d appels des fonctions (avec callgrind) $ g c c pg fopenmp lm sgefa_openmp. c o sgefa_openmp $. / sgefa_openmp [... ] $ g p r o f. / sgefa_openmp % c u m u l a t i v e s e l f s e l f t o t a l time s e c o n d s s e c o n d s c a l l s s / c a l l s / c a l l name sswap msaxpy saxpy matgen s g e f a isamax [... ] Télécom SudParis INF François Trahay Décembre 2013 Master MOPS 10/30
11 3 Traces d exécution But : décrire dynamiquement le déroulement de l application Trace d exécution : liste d événements horodatés exemple de trace d exécution #timestamp #ThreadId #Event s 1 E n t e r f u n c t i o n Foo ( arg1 =17) s 1 E n t e r f u n c t i o n Bar ( n =42.23) s 2 E n t e r f u n c t i o n Baz ( a=21, b=40) s 2 Leave f u n c t i o n Baz ( a=21, b=40) r e t u r n v a l u e = s 1 Leave f u n c t i o n Bar ( n =42.23) r e t u r n v a l u e = [... ] Télécom SudParis INF François Trahay Décembre 2013 Master MOPS 11/30
12 3 Traces d exécution 3.1 Visualisation de traces d exécution Représentation graphique des événements stockés dans une trace Télécom SudParis INF François Trahay Décembre 2013 Master MOPS 12/30
13 3 Traces d exécution 3.2 Instrumentation d un programme Pour générer une trace d exécution, on a besoin d instrumenter le programme. À certains points-clés : enregistrement d un événement... n = foo(42);... int foo(int a) {... return x; } Télécom SudParis INF François Trahay Décembre 2013 Master MOPS 13/30
14 3 Traces d exécution 3.2 Instrumentation d un programme Instrumentation d un programme par le compilateur 1. À la compilation, insertion de sondes... n = foo(42);... int foo(int a) { enter_fonction(foo);... exit_fonction(foo); return x; } Avantage : permet d instrumenter n importe quelle fonction Inconvénient : nécessite de recompiler Télécom SudParis INF François Trahay Décembre 2013 Master MOPS 14/30
15 3 Traces d exécution 3.2 Instrumentation d un programme Instrumentation d un programme à la volée 2. Demander au lanceur de programme de précharger une bibliothèque : $ LD_PRELOAD=libinstrument.so./mon_programme libinstrument.so:... n = foo(42); int foo(int a) {... enter_fonction(foo); int foo(int a) { retval = foo_orig(a); exit_fonction(foo); return retval; } libfoo.so:... return x; } Avantage : pas besoin de recompiler Inconvénient : ne fonctionne qu avec les fonctions stockées dans une bibliothèque liée dynamiquement (*.so) Télécom SudParis INF François Trahay Décembre 2013 Master MOPS 15/30
16 3 Traces d exécution 3.2 Instrumentation d un programme Instrumentation d un programme à la volée 3. Modifier le programme binaire pour insérer des sondes... n = foo(42);... foo: mov %eax, %ebx jmp instr1 add $1, %ebx add %eax, %ecx... sub %ebx, %ecx pop %ebp jmp instr2 pop %esp ret instr1: call enter_fonction jump replay1 replay1: mov %eax, %ebx add $1, %ebx jump continue1 Avantage : pas besoin de recompiler permet d instrumenter les fonctions liées statiquement à un programme permet une instrumentation à grain fin Inconvénient : problème si les instructions déplacées dépendent de eip Télécom SudParis INF François Trahay Décembre 2013 Master MOPS 16/30
17 3 Traces d exécution 3.3 Impact de l analyse sur les performances de l application Analyse de performance = analyser le déroulement de l application Risque : modifier le comportement de l application à cause de l instrumentation -> il faut réduire au maximum le surcoût dû au tracage de l application Télécom SudParis INF François Trahay Décembre 2013 Master MOPS 17/30
18 3 Traces d exécution 3.4 Enregistrer un événément : impact sur les performances de l application Proposition : écrire chaque événement directement sur le disque : v o i d e n t e r _ f o n c t i o n ( ) { e v e n t e = c r e a t e _ e v e n t ( ) ; w r i t e ( fd, &e, s i z e o f ( e ) ) ; } Inconvénient : coût de l appel système write -> impact important sur les performances de l application Télécom SudParis INF François Trahay Décembre 2013 Master MOPS 18/30
19 3 Traces d exécution 3.4 Enregistrer un événément : impact sur les performances de l application Enregistrer un événément : impact sur les performances de l application Proposition : écrire chaque événement dans un buffer. v o i d e n t e r _ f o n c t i o n ( ) { b u f f e r [ nb_events ] = c r e a t e _ e v e n t ( ) ; nb_events++; } Avantage : faible coût de l enregistrement d un événement Inconvénient : consommation mémoire Télécom SudParis INF François Trahay Décembre 2013 Master MOPS 19/30
20 3 Traces d exécution Si plusieurs threads enregistrent des événements en parallèle, il faut ajouter un mutex : 3.5 Problèmes de passage à l échelle v o i d e n t e r _ f o n c t i o n ( ) { mutex_lock ( l ) ; b u f f e r [ nb_events ] = c r e a t e _ e v e n t ( ) ; nb_events++; mutex_unlock ( l ) ; } Inconvénient : contention quand beaucoup de threads Cost for recording an event (ns) using mutex Number of threads Télécom SudParis INF François Trahay Décembre 2013 Master MOPS 20/30
21 3 Traces d exécution 3.5 Problèmes de passage à l échelle Problèmes de passage à l échelle : les threads Solution : chaque thread enregistre ses événements dans son propre buffer v o i d e n t e r _ f o n c t i o n ( ) { b u f f e r [ t h r e a d _ i d ] [ nb_events ] = c r e a t e _ e v e n t ( ) ; nb_events++; } Avantage : pas de contention quand le nombre de threads augmente meilleure utilisation du cache Cost for recording an event (ns) using mutex using separate buffers Number of threads Télécom SudParis INF François Trahay Décembre 2013 Master MOPS 21/30
22 3 Traces d exécution 3.5 Problèmes de passage à l échelle Problèmes de passage à l échelle : les processus Comment enregistrer la trace d une application s exécutant sur processus MPI? Risque : processus écrivent dans un seul fichier -> Contention CN1 CN2... CNn network ION 1 ION 2... ION m Télécom SudParis INF François Trahay Décembre 2013 Master MOPS 22/30
23 3 Traces d exécution 3.5 Problèmes de passage à l échelle Problèmes de passage à l échelle : les processus CN1 ION 1 network Solution : chaque processus écrit dans son propre fichier. CN2... CNn ION 2... ION m Télécom SudParis INF François Trahay Décembre 2013 Master MOPS 23/30
24 4 Analyse de performance Une fois que la/les traces ont été écrites, il faut les analyser Après l exécution de l application Buts de l analyse Montrer le comportement général de l application Détecter les problèmes de l application Donner des informations pour que l application s exécute mieux Télécom SudParis INF François Trahay Décembre 2013 Master MOPS 24/30
25 4 Analyse de performance 4.1 Visualisation de traces Représentation graphique des événements contenus dans la trace Généralement sous forme de diagrame de Gantt Télécom SudParis INF François Trahay Décembre 2013 Master MOPS 25/30
26 4 Analyse de performance 4.2 Matrices de communication Représente la quantité de données échangées entre chaque paire de processus MPI Télécom SudParis INF François Trahay Décembre 2013 Master MOPS 26/30
27 4 Analyse de performance 4.2 Matrices de communication Placement des processus MPI Le lanceur MPI (mpirun) place les processus en fonction des processeurs disponibles Solution 1 : round robin sur 2 machines cache cache network cache cache La moitié des communications passe par le réseau Télécom SudParis INF François Trahay Décembre 2013 Master MOPS 27/30
28 4 Analyse de performance 4.2 Matrices de communication Placement des processus MPI Le lanceur MPI (mpirun) place les processus en fonction des processeurs disponibles Solution 2 : on remplit une machine, puis l autre cache cache network cache cache Un quart des communications passe par le réseau Télécom SudParis INF François Trahay Décembre 2013 Master MOPS 28/30
29 4 Analyse de performance 4.3 Temps passé par groupe de fonctions Télécom SudParis INF François Trahay Décembre 2013 Master MOPS 29/30
30 5 Logiciels d analyse de performance Compteurs de performance PAPI likwid Profiling gprof cachegrind callgrind Génération de traces VampirTrace EZTrace TAU Visualisation de traces Vampir ViTE Outils tout en un Scalasca Open Speed Shop Intel Trace Analyzer and Collector Allinea Performance Reports Paraver Intel VTune Télécom SudParis INF François Trahay Décembre 2013 Master MOPS 30/30
Machines virtuelles. Brique ASC. Samuel Tardieu sam@rfc1149.net. Samuel Tardieu (ENST) Machines virtuelles 1 / 40
Machines virtuelles Brique ASC Samuel Tardieu sam@rfc1149.net École Nationale Supérieure des Télécommunications Samuel Tardieu (ENST) Machines virtuelles 1 / 40 Machines virtuelles La compilation peut
Plus en détailPlan global Outils de développement et compilation. Plan. Objectifs des outils présentés. IDE, GCC/Clang, ASAN, perf, valgrind, GDB.
global Outils de développement et compilation IDE, GCC/Clang, ASAN, perf, valgrind, GDB Timothée Ravier LIFO, INSA-CVL, LIPN 1 re année cycle ingénieur STI 2013 2014 1 / 36 Objectifs des outils présentés
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étailEXTENSION D UN OUTIL DE VISUALISATION DE TRACES
ASR9 - Projet de Fin d Études EXTENSION D UN OUTIL DE VISUALISATION DE TRACES Encadré par: M. François TRAHAY Mayssem BOUZAZI Khalil JEBALI Octobre 2013 - Janvier 2014 Remerciements Nous tenons à remercier
Plus en détailStructure d un programme
Architecture des ordinateurs Cours 6 Structure d un programme 3 décembre 2012 Archi 1/30 Programme en Assembleur Archi 2/30 Sections de données programme en assembleur = fichier texte (extension.asm) organisé
Plus en détailProgrammation assembleur : aperçu
Assembleur : Younès EL AMRANI. 1 Programmation assembleur : aperçu Programmation en assembleur : NASM Module M14 Semestre 4 Printemps 2010 Equipe pédagogique : Younès El Amrani, Abdelhakim El Imrani, Faissal
Plus en détailLogiciel de base. Première année ENSIMAG
Logiciel de base Première année ENSIMAG 1 Procédures, paramètres, pile En assembleur une fonction est une étiquette, c'est l'adresse de sa première instruction Lors de l'appel d'une fonction, la pile sert
Plus en détailSSTIC 2009. Désobfuscation automatique de binaires. Alexandre Gazet. Yoann Guillot. Et autres idyles bucoliques...
Désobfuscation automatique de binaires Et autres idyles bucoliques... Alexandre Gazet Sogeti / ESEC R&D alexandre.gazet(at)sogeti.com Yoann Guillot Sogeti / ESEC R&D yoann.guillot(at)sogeti.com SSTIC 2009
Plus en détailArchitecture des ordinateurs
Architecture des ordinateurs Cours 4 5 novembre 2012 Archi 1/22 Micro-architecture Archi 2/22 Intro Comment assembler les différents circuits vus dans les cours précédents pour fabriquer un processeur?
Plus en détailMesure de performances. [Architecture des ordinateurs, Hennessy & Patterson, 1996]
Mesure de performances [Architecture des ordinateurs, Hennessy & Patterson, 1996] Croissance des performances des microprocesseurs Avant le milieu des années 80, le gain dépendait de la technologie. Après,
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étailPerformances et optimisations
Performances et optimisations Outils pour le calcul scientifique à haute performance École doctorale sciences pour l ingénieur juin 2001 Philippe MARQUET phm@lifl.fr Laboratoire d informatique fondamentale
Plus en détailArchitecture des ordinateurs
Architecture des ordinateurs Cours 7 17 décembre 2012 Archi 1/1 Fonctions, suite et fin Archi 2/1 Rappel Forme générale d un sous-programme (fonction) : etiquette sousprogramme: push ebp ; empile la valeur
Plus en détailT. Gasc 1,2,3, F. De Vuyst 1, R. Motte 3, M. Peybernes 4, R. Poncet 5
Modélisation de la performance et optimisation d un algorithme hydrodynamique de type Lagrange-Projection sur processeurs multi-cœurs T. Gasc 1,2,3, F. De Vuyst 1, R. Motte 3, M. Peybernes 4, R. Poncet
Plus en détailRésumé Génération de code Le code intermédiaire
Résumé Analyse INFO0004 Structure des langages de programmation Génération de code ; liaison et exécution Justus H. Piater Programmation Analyse Compilation Liaison fichier texte Analyse lexicale flux
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étailPlaying with ptrace() for fun and profit
sous GNU/Linux nicolas.bareil@eads.net EADS Corporate Research Center - DCR/STI/C SSI Lab SSTIC 2006 Il était une fois... Sous UNIX, ptrace() est le seul moyen de debuggage. User-space, Interface rigide
Plus en détailSystèmes et traitement parallèles
Systèmes et traitement parallèles Mohsine Eleuldj Département Génie Informatique, EMI eleuldj@emi.ac.ma 1 Système et traitement parallèle Objectif Etude des architectures parallèles Programmation des applications
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étailDébogage de code* Mardi 13 décembre 2011. Romaric DAVID david@unistra.fr Université de Strasbourg - Direction Informatique Pôle HPC. hpc.unistra.
Débogage de code* Mardi 13 décembre 2011 Romaric DAVID david@unistra.fr Université de Strasbourg - Direction Informatique Pôle HPC *ou l'art de chercher la petite bête Plan Introduction Débogage, quelques
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étailTests de performance du matériel
3 Tests de performance du matériel Après toute la théorie du dernier chapitre, vous vous demandez certainement quelles sont les performances réelles de votre propre système. En fait, il y a plusieurs raisons
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étailIntroduction à la programmation des GPUs
Introduction à la programmation des GPUs Anne-Sophie Mouronval Mesocentre de calcul de l Ecole Centrale Paris Laboratoire MSSMat Avril 2013 Anne-Sophie Mouronval Introduction à la programmation des GPUs
Plus en détailArchitecture des ordinateurs
Décoder la relation entre l architecture et les applications Violaine Louvet, Institut Camille Jordan CNRS & Université Lyon 1 Ecole «Découverte du Calcul» 2013 1 / 61 Simulation numérique... Physique
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 à 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étailGlobalScape Secure FTP Server 3.0.2 Buffer Overflow
GlobalScape Secure FTP Server 3.0.2 Buffer Overflow muts@whitehat.co.il Traduction française: jerome[at]athias.fr http://www.athias.fr/jerome/doc/ Qu est-ce que le Serveur FTP Sécurisé GlobalScape?...
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é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é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étailExécutif temps réel Pierre-Yves Duval (cppm)
Exécutif temps réel Pierre-Yves Duval (cppm) Ecole d informatique temps réel - La Londes les Maures 7-11 Octobre 2002 Plan Exécutif Tâches Evénements et synchronisation Partage de ressources Communications
Plus en détailChapitre 10 Arithmétique réelle
Chapitre 10 Arithmétique réelle Jean Privat Université du Québec à Montréal INF2170 Organisation des ordinateurs et assembleur Automne 2013 Jean Privat (UQAM) 10 Arithmétique réelle INF2170 Automne 2013
Plus en détailExécution des instructions machine
Exécution des instructions machine Eduardo Sanchez EPFL Exemple: le processeur MIPS add a, b, c a = b + c type d'opération (mnémonique) destination du résultat lw a, addr opérandes sources a = mem[addr]
Plus en détailMesurer les performances (CPU) sous Linux
Titre : Mesurer les performances (CPU) sous Linux Date : 22/07/2015 Page : 1/7 Mesurer les performances (CPU) sous Linux Résumé : Il existe des outils permettant de tracer les temps CPU utilisés (profiling).
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étailOutil d aide au choix Serveurs Lot 4 Marché Groupement de Recherche
Outil d aide au choix Serveurs Lot 4 Marché Groupement de Recherche Serveurs DELL PowerEdge Tour Rack standard R310 T110II Rack de calcul Lames R815 M610 R410 R910 M620 R415 R510 T620 R620 R720/R720xd
Plus en détailHPC by OVH.COM. Le bon calcul pour l innovation OVH.COM
4 HPC by OVH.COM Le bon calcul pour l innovation 2 6 5 6 2 8 6 2 OVH.COM 5 2 HPC by OVH.COM 6 HPC pour High Performance Computing Utilisation de serveurs et de grappes de serveurs (clusters), configurés
Plus en détailAssembleur. Faculté I&C, André Maurer, Claude Petitpierre
Assembleur Faculté I&C, André Maurer, Claude Petitpierre INTRODUCTION Logiciel utilisé Faculté I&C, André Maurer, Claude Petitpierre MEMOIRE Mémoire Faculté I&C, André Maurer, Claude Petitpierre Mémoire
Plus en détailLe Network File System de Sun (NFS)
1 sur 5 Le Network File System de Sun (NFS) Le Network File System de Sun (NFS) Architecture Protocoles Mounting Automounting vs Static mounting Directory et accès aux fichiers Problèmes Implémentation
Plus en détailArian Papillon a.papillon@datafly.fr
Arian Papillon a.papillon@datafly.fr Eléments de monitoring Compteurs de performances DMV s et DBCC Evènements (jobs, services, ) Stratégies (policies) Traces Plans d exécution Outils de mesure Multiples,
Plus en détailInstrumentation de code Java
Instrumentation de code Java Mickaël Delahaye mickael.delahaye@etudiant.univ-rennes1.fr Étude bibliographique Master 2 Recherche Informatique 2007 Résumé Cette étude bibliographique présente un état de
Plus en détailSynchro et Threads Java TM
Synchro et Threads Java TM NICOD JEAN-MARC Master 2 Informatique Université de Franche-Comté UFR des Sciences et Techniques septembre 2008 NICOD JEAN-MARC Synchro et Threads avec Java TM 1 / 32 Sommaire
Plus en détailTraduction binaire dynamique de l extension SIMD Néon de l ARMv7 dans Qemu
Travaux d études et de recherches Traduction binaire dynamique de l extension SIMD Néon de l ARMv7 dans Qemu Étudiant : Luc Michel Encadrants : Frédéric Pétrot Nicolas Fournel 23 mai 2010 TABLE DES MATIÈRES
Plus en détailJava - la plateforme
Java - la plateforme Java la plateforme Java? VM GC JIT Java Aujourd'hui 3 environnements d'exécutions différents Java ME (Micro Edition) pour PDA, téléphone Android (Java SE moins certain paquetages)
Plus en détailMachines Virtuelles. et bazard autour. Rémi Forax
Machines Virtuelles et bazard autour Rémi Forax Avant propos Quelle est la complexité du code ci-dessous? Avec un processeur à 1Ghz, combien de temps le calcul prendra t'il? public static void main(string[]
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é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étailRappels d architecture
Assembleur Rappels d architecture Un ordinateur se compose principalement d un processeur, de mémoire. On y attache ensuite des périphériques, mais ils sont optionnels. données : disque dur, etc entrée
Plus en détailOptimisation de logiciels de modélisation sur centre de calcul
Optimisation de logiciels de modélisation sur centre de calcul Gérald Monard Pôle de Chimie Théorique http://www.monard.info/ Introduction Les ordinateurs sont des appareils électroniques permettant d
Plus en détailCours d initiation à la programmation en C++ Johann Cuenin
Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................
Plus en détailAnalyse de performance, monitoring
Analyse de performance, monitoring Plan Principes de profilage Projet TPTP dans Eclipse Utilisation des profiling tools de TPTP Philippe Collet Master 1 Informatique 2009-2010 http://deptinfo.unice.fr/twiki/bin/view/minfo/gl
Plus en détailLes vulnérabilités du noyau. LECORNET Olivier LEGROS Bruno VIGIER Nicolas Promo 2005
Les vulnérabilités du noyau LECORNET Olivier LEGROS Bruno VIGIER Nicolas Promo 2005 27 Septembre 2003 Table des matières 1 Introduction 3 2 Fonctionnement du noyau 4 2.1 Les modes de fonctionnements............................
Plus en détail1 Mesure de la performance d un système temps réel : la gigue
TP TR ENSPS et MSTER 1 Travaux Pratiques Systèmes temps réel et embarqués ENSPS ISV et Master TP1 - Ordonnancement et communication inter-processus (IPC) Environnement de travail Un ordinateur dual-core
Plus en détail. Plan du cours. . Architecture: Fermi (2010-12), Kepler (12-?)
Plan du cours Vision mate riel: architecture cartes graphiques NVIDIA INF 560 Calcul Paralle le et Distribue Cours 3 Vision logiciel: l abstraction logique de l architecture propose e par le langage CUDA
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étail4. Outils pour la synchronisation F. Boyer, Laboratoire Lig Fabienne.Boyer@imag.fr
4. Outils pour la synchronisation F. Boyer, Laboratoire Lig Fabienne.Boyer@imag.fr Le problème Insuffisance des solutions de base (verrous) Les solutions de plus haut niveau Les Sémaphores Les Moniteurs
Plus en détailExposé de Pérennisation Comission de la Recherche 26 juin 2014
Enseignant-Chercheur en informatique MINES ParisTech PSL Research University CRI (Centre de Recherche en Informatique) Exposé de Pérennisation Comission de la Recherche 26 juin 2014 2 Université de Rennes/IRISA
Plus en détailStruxureWare Power Monitoring v7.0. La nouvelle génération en matière de logiciel de gestion complète d énergie
StruxureWare Power Monitoring v7.0 La nouvelle génération en matière de logiciel de gestion complète d énergie Évolution des deux plate-formes originales Power Monitoring v7.0 SMS ION Enterprise 2012 Struxureware
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é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é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étailUtiliser Java sans BlueJ
Conception objet en Java avec BlueJ une approche interactive Utiliser Java sans BlueJ Michael Kölling version française: Patrice Moreaux Rédigé avec 1.0 Conception objet en Java avec BlueJ une approche
Plus en détailDésobfuscation automatique de binaire - The Barbarian Sublimation
Désobfuscation automatique de binaire - The Barbarian Sublimation Yoann Guillot, Alexandre Gazet Sogeti - ESEC Résumé Ce papier présente l état de notre recherche dans le domaine de l automatisation du
Plus en détailArchitecture des ordinateurs : Programmation des processeurs avec l'environnement «y86» (INF155)
Architecture des ordinateurs : Programmation des processeurs avec l'environnement «y86» (INF155) F. Pellegrini Université Bordeaux 1 Ce document est copiable et distribuable librement et gratuitement à
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étailRemote Method Invocation Les classes implémentant Serializable
Parallélisme Architecture Eric Goubault Commissariat à l Energie Atomique Saclay Classe qui implémente la méthode distante (serveur): - dont les méthodes renvoient un objet serializable - ou plus généralement
Plus en détailModélisation des interfaces matériel/logiciel
Modélisation des interfaces matériel/logiciel Présenté par Frédéric Pétrot Patrice Gerin Alexandre Chureau Hao Shen Aimen Bouchhima Ahmed Jerraya 1/28 TIMA Laboratory SLS Group 46 Avenue Félix VIALLET
Plus en détailLa mémoire. Un ordinateur. L'octet. Le bit
Introduction à l informatique et à la programmation Un ordinateur Un ordinateur est une machine à calculer composée de : un processeur (ou unité centrale) qui effectue les calculs une mémoire qui conserve
Plus en détailChapitre VI- La validation de la composition.
Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions
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étailArchitecture des Ordinateurs. Partie II:
Architecture des Ordinateurs Partie II: Le port Floppy permet le raccordement du lecteur de disquette àla carte mère. Remarque: Le lecteur de disquette a disparu il y a plus de 6 ans, son port suivra.
Plus en détailWhite Paper - Livre Blanc
White Paper - Livre Blanc Développement d applications de supervision des systèmes d information Avec LoriotPro Vous disposez d un environnement informatique hétérogène et vous souhaitez à partir d une
Plus en détailCours 1 : La compilation
/38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà
Plus en détail1 Description générale de VISFIELD
Guide d utilisation du logiciel VISFIELD Yann FRAIGNEAU LIMSI-CNRS, Bâtiment 508, BP 133 F-91403 Orsay cedex, France 11 décembre 2012 1 Description générale de VISFIELD VISFIELD est un programme écrit
Plus en détailHappy birthday ZSet High performance computing dans ZSet
Happy birthday ZSet High performance computing dans ZSet F. Feyel & P. Gosselet Architectures SMP NUMA memory memory memory Distribué memory memory 2 memory memory Hybride memory memory memory memory memory
Plus en détailArchitecture des calculateurs
Formation en Calcul Scientifique - LEM2I Architecture des calculateurs Violaine Louvet 1 1 Institut Camille jordan - CNRS 12-13/09/2011 Introduction Décoder la relation entre l architecture et les applications
Plus en détailArchitecture de la grille
1 2 Diversité des applications et des utilisateurs (profile, nombre,...) supposent des solutions différentes architectures différentes avec des services communs Services de base authentification: établir
Plus en détailCONFIGURATION DE L AUTOMATE SIEMENS
CONFIGURATION DE L AUTOMATE SIEMENS Créer un projet Dans le bureau de Windows, double-cliquer sur l icône «SIMATIC Manager» : Cliquer ensuite sur l icône «nouveau» : Choisir un nom de projet et valider
Plus en détailConcept de machine virtuelle
Concept de machine virtuelle Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 1 Introduction: Java Virtual Machine Machine Virtuelle Java: qu est-ce que c est? c est la spécification d une machine
Plus en détailGCOS 7 sur microprocesseur standard Diane Daniel POIRSON 14 octobre 2004 Matériels 64 / DPS 7 / DPS 7000 Architecture & Evolution - Daniel POIRSON 1
sur microprocesseur standard Diane Daniel POIRSON 14 octobre 2004 Matériels 64 / DPS 7 / DPS 7000 Architecture & Evolution - Daniel POIRSON 1 Pourquoi aller vers les processeurs standard? Considérations
Plus en détailProblèmes liés à la concurrence
ENS Cachan Problématique Difficile de gérer la concurrence : Pas toujours facile d avoir des fonctions réentrantes. Risque de race condition : ex : x :=x+1 x :=x+1 On voudrait des blocs d instructions
Plus en détailLa JVM. La machine virtuelle Java. La JVM. La JVM
La machine virtuelle Java Historique et rappels Organisation mémoire de la JVM Le garbage collector Le bytecode, la machine à pile. Les threads Suivi, tracé, optimisation d un programme Java JVM embarquées
Plus en détailContexte et motivations Les techniques envisagées Evolution des processus Conclusion
Vérification de logiciels par analyse statique Contexte et motivations Les techniques envisagées Evolution des processus Conclusion Contexte et motivations Specification Design architecture Revues and
Plus en détailTP1. Outils Java Eléments de correction
c sep. 2008, v2.1 Java TP1. Outils Java Eléments de correction Sébastien Jean Le but de ce TP, sur une séance, est de se familiariser avec les outils de développement et de documentation Java fournis par
Plus en détailChapitre 1. Infrastructures distribuées : cluster, grilles et cloud. Grid and Cloud Computing
Chapitre 1. Infrastructures distribuées : cluster, grilles et cloud Grid and Cloud Computing Problématique Besoins de calcul croissants Simulations d'expériences coûteuses ou dangereuses Résolution de
Plus en détailOrdinateurs, Structure et Applications
Ordinateurs, Structure et Applications Cours 10, Les interruptions Etienne Tremblay Université Laval, Hiver 2012 Cours 10, p.1 Les interruptions du 8086 Une interruption interrompt l exécution séquentielle
Plus en détailLe calcul intensif chez PSA Peugeot Citroën. TERATEC 28 juin 2011
Le calcul intensif chez PSA Peugeot Citroën TERATEC 28 juin 2011 Daniel ZAMPARINI 1 Le calcul intensif chez PSA Peugeot Citroën TERATEC - 28 juin 2011 PSA Peugeot Citroën : éléments clés de la branche
Plus en détailPortage d applications sur le Cloud IaaS Portage d application
s sur le Cloud IaaS Cécile Cavet cecile.cavet at apc.univ-paris7.fr Centre François Arago (FACe), Laboratoire AstroParticule et Cosmologie (APC), LabEx UnivEarthS APC, Univ. Paris Diderot, CNRS/IN2P3,
Plus en détailLes arbres binaires de recherche
Institut Galilée Année 2010-2011 Algorithmique et arbres L2 TD 6 Les arbres binaires de recherche Type en C des arbres binaires (également utilisé pour les ABR) : typedef struct noeud_s { struct noeud_s
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étailOptimisations des SGBDR. Étude de cas : MySQL
Optimisations des SGBDR Étude de cas : MySQL Introduction Pourquoi optimiser son application? Introduction Pourquoi optimiser son application? 1. Gestion de gros volumes de données 2. Application critique
Plus en détailUne dérivation du paradigme de réécriture de multiensembles pour l'architecture de processeur graphique GPU
Une dérivation du paradigme de réécriture de multiensembles pour l'architecture de processeur graphique GPU Gabriel Antoine Louis Paillard Ce travail a eu le soutien de la CAPES, agence brésilienne pour
Plus en détailparée e avec C. Germain, B. Kegl et M. Jouvin CS de l Université Paris Sud
Présentation prépar parée e avec C. Germain, B. Kegl et M. Jouvin CS de l Université Paris Sud (pré)histoire de la Grille Paris Sudn1 Les besoins de la communauté HEP La collaboration physiciens/informaticiens
Plus en détailFonctionnement et performance des processeurs
Fonctionnement et performance des processeurs Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Plan Fonctionnement des processeurs Unités de calcul
Plus en détailRetour d expérience en Astrophysique : utilisation du Cloud IaaS pour le traitement de données des missions spatiales
Retour d expérience en Astrophysique : utilisation du Cloud IaaS pour le traitement de données des missions spatiales Cécile Cavet cecile.cavet at apc.univ-paris7.fr Centre François Arago (FACe), Laboratoire
Plus en détail1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :
GIF-3002 SMI et Architecture du microprocesseur Ce cours discute de l impact du design du microprocesseur sur le système entier. Il présente d abord l architecture du cœur ARM Cortex M3. Ensuite, le cours
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étailLes techniques de protection du logiciel
Travail d'études Licence Informatique 2003-2004 Les techniques de protection du logiciel Julien BURLE Térence SCALABRE Encadré par Mr Pierre CRESCENZO Travail d'étude: Les techniques de protection du logiciel
Plus en détail