Outils d analyse de performance pour le HPC

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

Download "Outils d analyse de performance pour le HPC"

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. 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étail

Plan global Outils de développement et compilation. Plan. Objectifs des outils présentés. IDE, GCC/Clang, ASAN, perf, valgrind, GDB.

Plan 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é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

EXTENSION D UN OUTIL DE VISUALISATION DE TRACES

EXTENSION 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étail

Structure d un programme

Structure 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étail

Programmation assembleur : aperçu

Programmation 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étail

Logiciel de base. Première année ENSIMAG

Logiciel 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étail

SSTIC 2009. Désobfuscation automatique de binaires. Alexandre Gazet. Yoann Guillot. Et autres idyles bucoliques...

SSTIC 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étail

Architecture des ordinateurs

Architecture 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étail

Mesure de performances. [Architecture des ordinateurs, Hennessy & Patterson, 1996]

Mesure 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é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

Performances et optimisations

Performances 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étail

Architecture des ordinateurs

Architecture 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étail

T. Gasc 1,2,3, F. De Vuyst 1, R. Motte 3, M. Peybernes 4, R. Poncet 5

T. 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étail

Résumé Génération de code Le code intermédiaire

Ré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é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

Playing with ptrace() for fun and profit

Playing 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étail

Systèmes et traitement parallèles

Systè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

<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

Dé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. 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é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

Tests de performance du matériel

Tests 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étail

Les environnements de calcul distribué

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

Plus en détail

Introduction à la programmation des GPUs

Introduction à 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étail

Architecture des ordinateurs

Architecture 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é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 à 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

GlobalScape Secure FTP Server 3.0.2 Buffer Overflow

GlobalScape 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é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

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

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

Exécutif temps réel Pierre-Yves Duval (cppm)

Exé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étail

Chapitre 10 Arithmétique réelle

Chapitre 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étail

Exécution des instructions machine

Exé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étail

Mesurer les performances (CPU) sous Linux

Mesurer 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é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

Outil d aide au choix Serveurs Lot 4 Marché Groupement de Recherche

Outil 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étail

HPC by OVH.COM. Le bon calcul pour l innovation OVH.COM

HPC 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étail

Assembleur. Faculté I&C, André Maurer, Claude Petitpierre

Assembleur. 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étail

Le Network File System de Sun (NFS)

Le 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étail

Arian Papillon a.papillon@datafly.fr

Arian 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étail

Instrumentation de code Java

Instrumentation 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étail

Synchro et Threads Java TM

Synchro 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étail

Traduction binaire dynamique de l extension SIMD Néon de l ARMv7 dans Qemu

Traduction 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étail

Java - la plateforme

Java - 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étail

Machines Virtuelles. et bazard autour. Rémi Forax

Machines 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é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

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

Rappels d architecture

Rappels 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étail

Optimisation de logiciels de modélisation sur centre de calcul

Optimisation 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étail

Cours d initiation à la programmation en C++ Johann Cuenin

Cours 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étail

Analyse de performance, monitoring

Analyse 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étail

Les 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 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étail

1 Mesure de la performance d un système temps réel : la gigue

1 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. . 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é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

4. 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 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étail

Exposé de Pérennisation Comission de la Recherche 26 juin 2014

Exposé 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étail

StruxureWare 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 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é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

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

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

Utiliser Java sans BlueJ

Utiliser 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étail

Désobfuscation automatique de binaire - The Barbarian Sublimation

Dé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étail

Architecture des ordinateurs : Programmation des processeurs avec l'environnement «y86» (INF155)

Architecture 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é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

Remote Method Invocation Les classes implémentant Serializable

Remote 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étail

Modélisation des interfaces matériel/logiciel

Modé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étail

La mémoire. Un ordinateur. L'octet. Le bit

La 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étail

Chapitre VI- La validation de la composition.

Chapitre 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é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

Architecture des Ordinateurs. Partie II:

Architecture 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étail

White Paper - Livre Blanc

White 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étail

Cours 1 : La compilation

Cours 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étail

1 Description générale de VISFIELD

1 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étail

Happy birthday ZSet High performance computing dans ZSet

Happy 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étail

Architecture des calculateurs

Architecture 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étail

Architecture de la grille

Architecture 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étail

CONFIGURATION DE L AUTOMATE SIEMENS

CONFIGURATION 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étail

Concept de machine virtuelle

Concept 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étail

GCOS 7 sur microprocesseur standard Diane Daniel POIRSON 14 octobre 2004 Matériels 64 / DPS 7 / DPS 7000 Architecture & Evolution - Daniel POIRSON 1

GCOS 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étail

Problèmes liés à la concurrence

Problè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étail

La JVM. La machine virtuelle Java. La JVM. La JVM

La 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étail

Contexte et motivations Les techniques envisagées Evolution des processus Conclusion

Contexte 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étail

TP1. Outils Java Eléments de correction

TP1. 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étail

Chapitre 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 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étail

Ordinateurs, Structure et Applications

Ordinateurs, 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étail

Le calcul intensif chez PSA Peugeot Citroën. TERATEC 28 juin 2011

Le 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étail

Portage d applications sur le Cloud IaaS Portage d application

Portage 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étail

Les arbres binaires de recherche

Les 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é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

Optimisations des SGBDR. Étude de cas : MySQL

Optimisations 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étail

Une 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 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étail

parée e avec C. Germain, B. Kegl et M. Jouvin CS de l Université Paris Sud

paré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étail

Fonctionnement et performance des processeurs

Fonctionnement 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étail

Retour 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 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étail

1 Architecture du cœur ARM Cortex M3. Le cœur ARM Cortex M3 sera présenté en classe à partir des éléments suivants :

1 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é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

Les techniques de protection du logiciel

Les 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