Outils d analyse de performance pour le HPC

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Soutenance de PFE. Evolution de l'outil EZTrace. Charles Aulagnon Inria Bordeaux (SED) Maître de stage : François Rué mars septembre 2011

Soutenance de PFE. Evolution de l'outil EZTrace. Charles Aulagnon Inria Bordeaux (SED) Maître de stage : François Rué mars septembre 2011 Soutenance de PFE Evolution de l'outil EZTrace Charles Aulagnon Inria Bordeaux (SED) Maître de stage : François Rué mars septembre 2011 ENSEIRB-MATMECA Tuteur : Corentin Travers Sommaire 1. EZTrace Contexte

Plus en détail

Analyse de performance et optimisation. David Geldreich (DREAM)

Analyse de performance et optimisation. David Geldreich (DREAM) Analyse de performance et optimisation David Geldreich (DREAM) Plan de l exposé Analyse de performance Outils Optimisation Démonstrations Analyse de performance Pas d optimisation sans analyse de performance

Plus en détail

Architecture des ordinateurs TP 3

Architecture des ordinateurs TP 3 Architecture des ordinateurs ESIPE - IR1 TP 3 Objectif de cette séance L objectif de cette séance est d apprendre à utiliser la pile et à écrire des fonctions en assembleur En particulier, nous verrons

Plus en détail

Rappels, SISD, SIMD. Calculateurs hybrides (GPU-OpenCL) Rappels, MIMD mémoire partagée. Rappels, MIMD mémoire partagée. Rappels... SISD,...

Rappels, SISD, SIMD. Calculateurs hybrides (GPU-OpenCL) Rappels, MIMD mémoire partagée. Rappels, MIMD mémoire partagée. Rappels... SISD,... Rappels, SISD, SIMD Calculateurs hybrides (GPU-OpenCL) Rappels... SISD,... SIMD Formation d Ingénieurs de l Institut Galiléee MACS 3 Philippe d Anfray Philippe.d-Anfray@cea.fr CEA DSM 2013-2014 SISD :

Plus en détail

Présentation CaSciModOT Performances et Architectures

Présentation CaSciModOT Performances et Architectures Présentation CaSciModOT Performances et Architectures Code parallèle : Un peu de théorie Architectures variables : C(n,p)? Quel code? Quelle architecture? Structure d un code : partie parallèle / séquentielle

Plus en détail

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

Temps d exécution monoprocesseur

Temps d exécution monoprocesseur Mesures de performance pour optimisations Daniel Etiemble de@lri.fr Temps d exécution monoprocesseur NI T exécution = NI * CPI * T c = IPC * F Temps de cycle Cycles/Instruction 10000 1000 100 10 CPU F(MHz)

Plus en détail

Performances et optimisations

Performances et optimisations Ecole Doctorale MathIf Performances et optimisations Violaine Louvet 1 1 ICJ - CNRS Année 2009-2010 Objectifs de ce cours Performances Déterminer les parties du code les plus coûteuses en temps. Déterminer

Plus en détail

Architecture des GPU (GPU=Graphics Processing Unit) gael.guennebaud@inria.fr

Architecture des GPU (GPU=Graphics Processing Unit) gael.guennebaud@inria.fr Architecture des GPU (GPU=Graphics Processing Unit) gael.guennebaud@inria.fr Plan du cours 2 Motivations pour les GPUs single core multi-core many-core Architecture des GPUs CPU versus GPU Programmation

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

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

AMS-TA01 Calcul scientifique parallèle

AMS-TA01 Calcul scientifique parallèle AMS-TA01 Calcul scientifique parallèle Edouard AUDIT Ingénieur-Chercheur Maison de la Simulation Patrick CIARLET Enseignant-Chercheur UMA Erell JAMELOT Ingénieur-Chercheur CEA Pierre KESTENER Ingénieur-Chercheur

Plus en détail

Plan : Master IM2P2 - Calcul Scientifique

Plan : Master IM2P2 - Calcul Scientifique Plan : Les systèmes HPC Typologie des systèmes : Machines Mémoire partagée Machines à Mémoire Distribuées Machine NUMA Exemples Architectures Processeurs HPC Processeurs scalaires, superscalaires, vectoriels

Plus en détail

Système. Introduction aux systèmes informatiques

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

Plus en détail

Outils de visualisation de traces

Outils de visualisation de traces Outils de visualisation de traces Damien DOSIMONT 23 mars 2012 1/29 Sommaire 1 Introduction Complexité croissante des systèmes embarqués Visualisation de traces Thèse et travaux de Lucas Schnorr 2 Etat

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

CATALOGUE DE FORMATIONS OPTIMISATION DE PERFORMANCE ET ARCHITECTURES PARALLÈLES

CATALOGUE DE FORMATIONS OPTIMISATION DE PERFORMANCE ET ARCHITECTURES PARALLÈLES CATALOGUE DE FORMATIONS OPTIMISATION DE PERFORMANCE ET ARCHITECTURES PARALLÈLES Trois types de formation LES FORMATEURS Les experts techniques AS+ Groupe EOLEN disposent d une réelle expérience pratique

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

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

Les 10 choses à connaître pour bien utiliser Froggy

Les 10 choses à connaître pour bien utiliser Froggy Les 10 choses à connaître pour bien utiliser Froggy Journée des utilisateurs CIMENT B. Bzeznik, F. Roch 14 mai 2014 Journées des utilisateurs CIMENT Les 10 chose à connaître 1 Préliminaire : Chandler La

Plus en détail

Evolution des technologies de calcul intensif vers les systèmes multi-cœurs et accélérateurs

Evolution des technologies de calcul intensif vers les systèmes multi-cœurs et accélérateurs Evolution des technologies de calcul intensif vers les systèmes multi-cœurs et accélérateurs Marc Mendez-Bermond Expert solutions HPC Programme Contexte Technologies Evolutions 2 Confidentiel Research

Plus en détail

Profiling. École d Automne Informatique Scientifique 3 Décembre 2008. Profiling. Romaric DAVID. Plan. Introduction. Profiling

Profiling. École d Automne Informatique Scientifique 3 Décembre 2008. Profiling. Romaric DAVID. Plan. Introduction. Profiling École d Automne Informatique Scientifique 3 Décembre 2008 s de programmes Objectifs du cours Ce cours vous présentera les outils d analyse de vos programmes. En particulier, vous pourrez : Traquer des

Plus en détail

Architecture matérielle et logicielle

Architecture matérielle et logicielle Architecture matérielle et logicielle Contents I Le Cours 2 1 Généralités 2 2 Micro-processeur 2 3 Mémoire 2 4 Performances 3 II TPs 3 1 Création d un exécutable : 3 2 Les bibliothèques 3 3 Codage de l

Plus en détail

GPU, processeurs multi-coeurs et bio-informatique

GPU, processeurs multi-coeurs et bio-informatique GPU, processeurs multi-coeurs et bio-informatique Jean-Stéphane Varré jean-stephane.varre@lifl.fr Equipe BONSAI Université Lille 1 - LIFL -INRIA Qu est-ce que c est? Le processeur (CPU) La carte graphique

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

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

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

Plus en détail

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

D un point de vue système, ajuster la mémoire est l une des principales méthodes pour augmenter ou réduire les performances d un processus.

D un point de vue système, ajuster la mémoire est l une des principales méthodes pour augmenter ou réduire les performances d un processus. GESTION DE LA MEMOIRE SOUS UNIX La mémoire est une ressource critique car elle conditionne les temps de traitements. Différentes options SAS sont disponibles pour utiliser au mieux la mémoire de la machine.

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

Atelier Profilage de codes de calcul

Atelier Profilage de codes de calcul Atelier Profilage de codes de calcul Introduction Laurent Gatineau Support applicatif NEC HPC Europe Ecole Centrale de Paris 11 juin 2014 Plan Qu est-ce que le profilage de code? Quand faire du profilage?

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

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

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

Parallélisation. Parallélisation. 1 Applications. 2 Historique. 3 Parallélisme au niveau du circuit. 4 Coprocesseur.

Parallélisation. Parallélisation. 1 Applications. 2 Historique. 3 Parallélisme au niveau du circuit. 4 Coprocesseur. Parallélisation 1 Applications 2 Historique 3 Parallélisme au niveau du circuit 4 Coprocesseur 5 Multiprocesseur 6 Multi-ordinateur 7 grille (Université Bordeaux 1) Architecture de l Ordinateur 2007-2008

Plus en détail

Travail d étude Les techniques de protection du logiciel

Travail d étude Les techniques de protection du logiciel Travail d étude Les techniques de protection du logiciel Julien Burle Présenté par: Térence Scalabre Licence Informatique Comment et pourquoi protéger son logiciel? Tout d abord intéressons-nous aux raisons

Plus en détail

1.1 Remote Procedure Call (RPC)

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

Plus en détail

Traduction binaire dynamique de l extension SIMD

Traduction binaire dynamique de l extension SIMD Traduction binaire dynamique de l extension SIMD Néon de l ARMv7 dans Qemu Travaux d études et de recherches Ensimag - Tima SLS 25 mai 2010 Table des matières 1 Introduction 2 Tiny code generator Les helpers

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

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

Construisez des applications autonomes et fiables avec LabVIEW Real Time

Construisez des applications autonomes et fiables avec LabVIEW Real Time Construisez des applications autonomes et fiables avec LabVIEW Real Time Victor FOURNIER National Instruments, Ingénieur d applications Sommaire Qu est-ce que le temps réel? Domaines d utilisation du temps

Plus en détail

POSIX threads (programmation concurrente) Les threads. Les fils d exécution : threads ou processus légers. Introduction

POSIX threads (programmation concurrente) Les threads. Les fils d exécution : threads ou processus légers. Introduction POSIX threads (programmation concurrente) François Broquedis, Grégory Mounié, Matthieu Ospici, Vivien Quéma d après les œuvres de Jacques Mossière et Yves Denneulin Introduction Moniteur Exclusion mutuelle

Plus en détail

Noyau d'un système d'exploitation INF2610 Chapitre 7 : Gestion de la mémoire (annexe 2)

Noyau d'un système d'exploitation INF2610 Chapitre 7 : Gestion de la mémoire (annexe 2) INF2610 Chapitre 7 : Gestion de la mémoire (annexe 2) Département de génie informatique et génie logiciel Hiver 2014 Exemple 1 : Espace virtuel d un processus Où seront stockées les données des variables

Plus en détail

Introduction à l Informatique

Introduction à l Informatique Introduction à l Informatique. Généralités : Etymologiquement, le mot informatique veut dire «traitement d information». Ceci signifie que l ordinateur n est capable de fonctionner que s il y a apport

Plus en détail

Développement Orienté Aspect et Optimisation

Développement Orienté Aspect et Optimisation Développement Orienté Aspect et Optimisation Pierre Schweitzer Mardi 4 Juin 2013 LIMOS UMR CNRS 6158 Clermont Université - Université Blaise Pascal LPC UMR CNRS 6533 Clermont Université - Université Blaise

Plus en détail

Édition de liens. 1 Programme unique. Ensimag 1A Apprentissage. 1.1 Listing d assemblage. offset codop. .section.rodata

Édition de liens. 1 Programme unique. Ensimag 1A Apprentissage. 1.1 Listing d assemblage. offset codop. .section.rodata Édition de liens Ensimag 1A Apprentissage 2010 1 Programme unique 1.1 Listing d assemblage offset codop.section.rodata 25 73 20 25 sortie:.asciz "%s %s %c%c%c%c%c%c%c %s%c %s%c\n" 73 20 25 63 25 63 25

Plus en détail

I00 Éléments d architecture

I00 Éléments d architecture I00 I Exemples d ordinateur Pour les informaticiens, différentes machines de la vie courante sont des ordinateurs : par exemple les ordinateurs portables, les ordinateurs fixes, mais aussi les supercalculateurs,

Plus en détail

Logiciel de Base : examen de première session

Logiciel de Base : examen de première session Logiciel de Base : examen de première session ENSIMAG 1A Année scolaire 2009 2010 Ceci n est pas exactement l examen donné en Ensimag 1A en 2010, mais une version adaptée pour la convention de pile utilisée

Plus en détail

De l invisibilité des rootkits : application sous Linux

De l invisibilité des rootkits : application sous Linux De l invisibilité des rootkits : application sous Linux Eric Lacombe 1 Frédéric Raynal 2 Vincent Nicomette 3 1 eric.lacombe@{laas.fr,security-labs.org} LAAS-CNRS - EADS-CCR 2 frederic.raynal@security-labs.org

Plus en détail

Logiciel de Base : examen de première session

Logiciel de Base : examen de première session Logiciel de Base : examen de première session ENSIMAG 1A Année scolaire 2009 2010 Consignes générales : Durée : 2h. Tous documents et calculatrices autorisés. Le barème est donné à titre indicatif. Les

Plus en détail

Parallélisme. Cours 1

Parallélisme. Cours 1 Parallélisme Cours 1 TD : 20% - TP : 30% - Examen : 50% Feuille A4 manuscrite (pas de photocopie) Fabrice.Huet@etu.unice.fr (prendre rdv par mail pr le contacter) A quoi sert le parallélisme? Augmenter

Plus en détail

Chapitre I. Introduction à la programmation

Chapitre I. Introduction à la programmation Chapitre I Introduction à la programmation Objectif du cours Comprendre ce qu est l algorithmique. Fournir des éléments de bases intervenants en programmation quel que soit le langage employé Variables

Plus en détail

Introduction aux systèmes d exploitation

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

Plus en détail

Architecture des ordinateurs. Optimisation : pipeline. Pipeline (I) Pipeline (II) Exemple simplifié : Instructions de type R

Architecture des ordinateurs. Optimisation : pipeline. Pipeline (I) Pipeline (II) Exemple simplifié : Instructions de type R Architecture des ordinateurs Licence Informatique - Université de Provence Jean-Marc Talbot Optimisation : pipeline jtalbot@cmi.univ-mrs.fr L3 Informatique - Université de Provence () Architecture des

Plus en détail

Architecture des ordinateurs Fiche de TP 3

Architecture des ordinateurs Fiche de TP 3 Architecture des ordinateurs Fiche de TP 3 ESIPE - IR/IG 1 2016-2017 Pile et fonctions Table des matières 1 La pile 2 2 Appels de fonction 4 3 Convention d appel du C 6 Cette fiche est à faire en deux

Plus en détail

Introduction à la Programmation Sylvain Tisserant

Introduction à la Programmation Sylvain Tisserant INFO 1 Introduction à la Programmation Sylvain Tisserant Mes coordonnées Enseignant-Chercheur Professeur au département IRM depuis sa création (ES2I, ESIL, Polytech Marseille) Directeur du département

Plus en détail

Programmation assembleur sur l architecture x86

Programmation assembleur sur l architecture x86 Mini-projet système : développement d un noyau de système d exploitation Responsable : Christophe Rippert Christophe.Rippert@Grenoble-INP.fr Introduction Programmation assembleur sur l architecture x86

Plus en détail

Types et langages de programmation. Algorithmique et Programmation Unisciel/K.Zampieri

Types et langages de programmation. Algorithmique et Programmation Unisciel/K.Zampieri Types et langages de programmation Algorithmique et Programmation Unisciel/K.Zampieri 1 Généalogie partielle des langages de programmation FORTRAN BASIC PL/1 PROLOG ALGOL60 COBOL C PASCAL ADA MODULA-2

Plus en détail

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

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

Plus en détail

QUELQUES CONCEPTS INTRODUCTIFS

QUELQUES CONCEPTS INTRODUCTIFS ESIEE Unité d'informatique IN101 Albin Morelle (et Denis Bureau) QUELQUES CONCEPTS INTRODUCTIFS 1- ARCHITECTURE ET FONCTIONNEMENT D UN ORDINATEUR Processeur Mémoire centrale Clavier Unité d échange BUS

Plus en détail

Sanity Check. bgcolor mgcolor fgcolor

Sanity Check. bgcolor mgcolor fgcolor Sanity Check bgcolor mgcolor fgcolor 0 1 2 3 4 5 6 7 8 9 10 Compilation pour cibles hétérogènes: automatisation des analyses, transformations et décisions nécessaires, François Irigoin et Ronan Keryell

Plus en détail

Systèmes d exploitation Gestion des processus

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

Plus en détail

Return Oriented Programming

Return Oriented Programming HERVÉ SCHAUER CONSULTANTS Cabinet de Consultants en Sécurité Informatique depuis 1989 Spécialisé sur Unix, Windows, TCP/IP et Internet GS Days 2010 Return Oriented Programming Jean-Baptiste Aviat

Plus en détail

Extrapolation et Estimation de performance. dans le cadre des réponses aux appels d offre

Extrapolation et Estimation de performance. dans le cadre des réponses aux appels d offre Extrapolation et Estimation de performance dans le cadre des réponses aux appels d offre 1969 Xavier VIGOUROUX 2 Bull, 2008 AEP-9 Marié 3 Bull, 2008 AEP-9 3 enfants 4 Bull, 2008 AEP-9 1987 1989 5 Bull,

Plus en détail

Benchmarks. Ensemble de codes permettant de tester la fonctionnalité et les performances d'une solution HPC dans son ensemble.

Benchmarks. Ensemble de codes permettant de tester la fonctionnalité et les performances d'une solution HPC dans son ensemble. Ensemble de codes permettant de tester la fonctionnalité et les performances d'une solution HPC dans son ensemble. (Merci à Ludovic Saugé) Françoise BERTHOUD, Francoise.Berthoud@grenoble.cnrs.fr Les benchmarks

Plus en détail

Programmation multigpu OpenMP versus MPI

Programmation multigpu OpenMP versus MPI 17 février 2011 Gabriel Noaje Programmation multigpu OpenMP versus OpenMP 1 Programmation multigpu OpenMP versus MPI Gabriel Noaje, Michaël Krajecki, Christophe Jaillet gabriel.noaje@univ-reims.fr Équipe

Plus en détail

Parallel Tree-based Exact Algorithms using Heterogeneous Many and Multi-core Computing for Solving Challenging Problems in Combinatorial Optimization

Parallel Tree-based Exact Algorithms using Heterogeneous Many and Multi-core Computing for Solving Challenging Problems in Combinatorial Optimization Parallel Tree-based Exact Algorithms using Heterogeneous Many and Multi-core Computing for Solving Challenging Problems in Combinatorial Optimization Rudi Leroy Encadrement : N. Melab (Univ. Lille 1),

Plus en détail

CIMENT-MaiMoSiNE. Animation scientifique et formation. CIMENT - MaiMoSiNE. 16 Avril 2013. Laurence Viry

CIMENT-MaiMoSiNE. Animation scientifique et formation. CIMENT - MaiMoSiNE. 16 Avril 2013. Laurence Viry CIMENT-MaiMoSiNE Animation scientifique et formation Laurence Viry CIMENT - MaiMoSiNE 16 Avril 2013 Laurence Viry Animation scientifique et formation 16 Avril 2013 1/9 Pôle animation scientifique MaiMoSiNE

Plus en détail

5.2. Introduction à la programmation en assembleur et en langage machine

5.2. Introduction à la programmation en assembleur et en langage machine 5. Couche conventionnelle. Introduction à la programmation en assembleur et en langage machine. Instructions - types, formats, champs; types d'adressage et utilisation des registres. Branchements, sauts

Plus en détail

Chap. V : Les interruptions

Chap. V : Les interruptions UMR 7030 - Université Paris 13 - Institut Galilée Cours Architecture et Système Nous étudions dans ce chapitre les interruptions matérielles (ou externes), c est-à-dire déclenchées par le matériel (hardware)

Plus en détail

Jérôme Clet-Ortega. Modèles hybrides de programmation pour architectures parallèles

Jérôme Clet-Ortega. Modèles hybrides de programmation pour architectures parallèles + Jérôme Clet-Ortega Modèles hybrides de programmation pour architectures parallèles + Présentation 2 Équipe projet RUNTIME Dirigée par Raymond Namyst Supports exécutifs pour le calcul hautes performances

Plus en détail

Environnements de développement (intégrés)

Environnements de développement (intégrés) Environnements de développement (intégrés) JDT (débogage), outils d analyse statique Patrick Labatut labatut@di.ens.fr http://www.di.ens.fr/~labatut/ Département d informatique École normale supérieure

Plus en détail

Questions à choix multiples Page 1 de 11

Questions à choix multiples Page 1 de 11 INF4170 Architecture des ordinateurs Examen final hiver 2015 Question #1 Quelle est la taille du registre IF/ID dans le circuit du processeur avec pipeline sans gestion des aléas, considérant que le signal

Plus en détail

Représentation des nombres entiers et réels. en binaire en mémoire

Représentation des nombres entiers et réels. en binaire en mémoire L3 Mag1 Phys. fond., cours C 15-16 Rep. des nbs. en binaire 25-09-05 23 :06 :02 page 1 1 Nombres entiers 1.1 Représentation binaire Représentation des nombres entiers et réels Tout entier positif n peut

Plus en détail

Chap. I : Architecture de base d un ordinateur

Chap. I : Architecture de base d un ordinateur UMR 7030 - Université Paris 13 - Institut Galilée Cours Architecture et Système Dans cette partie, nous décrivons rapidement l architecture de base d un ordinateur et les principes de son fonctionnement.

Plus en détail

Compte rendu TP No3 : «Analyse dynamique de programme»

Compte rendu TP No3 : «Analyse dynamique de programme» LO20 : Vérification, validation et sûreté de fonctionnement http://www.genie logiciel.utc.fr/lo20/ Compte rendu TP No3 : «Analyse dynamique de programme» Le second TP concerne l'analyse dynamique de programme.

Plus en détail

Rashyd ZAABOUL Sylvie Malardel, Patrick Lemoigne et Ryad El Khatib. CNRM - GMAP & GMME Toulouse

Rashyd ZAABOUL Sylvie Malardel, Patrick Lemoigne et Ryad El Khatib. CNRM - GMAP & GMME Toulouse Gestion des blocs NPROMA dans SURFEX Rashyd ZAABOUL Sylvie Malardel, Patrick Lemoigne et Ryad El Khatib CNRM - GMAP & GMME Toulouse Du 01 Juillet 2005 au 14 Août 2005 Pourquoi découper en sous domaines

Plus en détail

Evaluation et mise en place d un serveur de messages pour Chamilo 2.0

Evaluation et mise en place d un serveur de messages pour Chamilo 2.0 Evaluation et mise en place d un serveur de messages pour Chamilo 2.0 Descriptif Dans ce projet, on va montrer l évaluation et la mise en place d un serveur de message pour Chamilo. Le but est d améliorer

Plus en détail

Formation Cortex- MDK-PRO de KEIL. Formation Cortex-MDK-PRO

Formation Cortex- MDK-PRO de KEIL. Formation Cortex-MDK-PRO Formation Cortex- MDK-PRO Objectif : L'objectif de cette formation est de fournir les bases nécessaires pour une utilisation optimale de la chaîne MDK-Professional de Keil appliquée aux processeurs Cortex-M3.

Plus en détail

Informatique? Numérique? L informatique est la science du traitement de l information.

Informatique? Numérique? L informatique est la science du traitement de l information. Informatique? Numérique? L informatique est la science du traitement de l information. L information est traitée par un ordinateur sous forme numérique : ce sont des valeurs discrètes. Cela signifie que,

Plus en détail

Éditions de liens. Romaric DAVID. LEM2I - Décembre 2011

Éditions de liens. Romaric DAVID. LEM2I - Décembre 2011 Éditions de liens Romaric DAVID LEM2I - Décembre 2011 Plan Compilation séparée Bibliothèques statiques Bibliothèques dynamiques Paramétrage de l édition de liens Étude de cas 1 La compilation séparée Dans

Plus en détail

Mieux programmer en Java

Mieux programmer en Java Mieux programmer en Java Peter Haggar Éditions Eyrolles ISBN : 2-212-09171-0 2000 PARTIE 1 l exécution de l instruction return, cependant, le contrôle est transféré au bloc finally en // 2. Cela provoque

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

Informatique Embarquée M2 / 2014. Quelle heure est-il?

Informatique Embarquée M2 / 2014. Quelle heure est-il? Informatique Embarquée M2 / 2014 Quelle heure est-il? 2014 FA-P7-Info Emb. 1 Différents Temps Temps «horloge murale» Avance sans arrêt, quelque soit l'activité des processus, processeurs Temps CPU N'augmente

Plus en détail

Projet de cryptographie. Algorithme de cryptage de type Bluetooth

Projet de cryptographie. Algorithme de cryptage de type Bluetooth Projet de cryptographie Algorithme de cryptage de type Bluetooth Le but de ce projet est de créer une application qui crypte et décrypte des fichiers en utilisant le principe de cryptage du Bluetooth.

Plus en détail

Cours architectures des ordinateurs

Cours architectures des ordinateurs Université KASDI MERBAH Ouargla Faculté des Nouvelles Technologies de l Information et de la Communication Département d Informatique et Technologie de l information Cours architectures des ordinateurs

Plus en détail

M1 MIAGE Option IFD Data Mining et Parallélisme

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

Plus en détail

Logiciel de Base : examen de première session

Logiciel de Base : examen de première session Logiciel de Base : examen de première session ENSIMAG 1A Année scolaire 2008 2009 Consignes générales : Durée : 2h. Tous documents et calculatrices autorisés. Le barème est donné à titre indicatif. Les

Plus en détail

L optimisation des performances, la simplification des montées de version G.O.L.D. et le suivi statistique des processus.

L optimisation des performances, la simplification des montées de version G.O.L.D. et le suivi statistique des processus. L optimisation des performances, la simplification des montées de version G.O.L.D et le suivi statistique des processus. Présentation assurée par Pascal Gyssler (expert G.O.L.D. ilem) et Thierry Lejeune

Plus en détail

NVIDIA CUDA. Compute Unified Device Architecture. Sylvain Jubertie. Laboratoire d Informatique Fondamentale d Orléans 2011-2012

NVIDIA CUDA. Compute Unified Device Architecture. Sylvain Jubertie. Laboratoire d Informatique Fondamentale d Orléans 2011-2012 NVIDIA CUDA Compute Unified Device Architecture Sylvain Jubertie Laboratoire d Informatique Fondamentale d Orléans 2011-2012 Sylvain Jubertie (LIFO) NVIDIA CUDA 2011-2012 1 / 58 1 Introduction 2 Architecture

Plus en détail

Exemple: le processeur MIPS

Exemple: le processeur MIPS Exécution des instructions machine 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] adresse (donnée, instruction

Plus en détail

API Win32 ancestrales pour Chevaux de Troie hyper furtifs

API Win32 ancestrales pour Chevaux de Troie hyper furtifs API Win32 ancestrales pour Chevaux de Troie hyper furtifs JSSI 2004 Eric DETOISIEN Eyal DOTAN Sommaire! Introduction! Modèle de Communication! Injection de Code! API Hooking! Démo finale! Evolutions Possibles!

Plus en détail

TP3 : Tests de performance des MV

TP3 : Tests de performance des MV Ecole informatique IN2P3 2014 : Maîtriser le Cloud TP Dev : portage d applications sur le Cloud TP3 : Tests de performance des MV Cécile Cavet cecile.cavet at apc.univ-paris7.fr Centre François Arago (FACe),

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

Informatique générale - processeurs

Informatique générale - processeurs Université de Nice Sophia Antipolis Licence 1 Sciences Fondamentales Informatique Générale Processeurs Jacques Farré (d'après Fabrice Huet, Wikipedia... et bien d'autres) Jacques.Farre@unice.fr http://deptinfo.unice.fr/~jf/infogene

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

Assembleur x86. P. Ezéquel

Assembleur x86. P. Ezéquel Assembleur x86 P. Ezéquel 1 TABLE DES MATIÈRES 2 Table des matières 1 Introduction 3 2 Anatomie du x86 3 2.1 Registres généraux.......................... 4 2.2 Registres de base de segments....................

Plus en détail

Architecture des systèmes Module INFO-TC-ASR2 Fonctionnement des ordinateurs. Cours n 1. Description d'un microprocesseur : le 386

Architecture des systèmes Module INFO-TC-ASR2 Fonctionnement des ordinateurs. Cours n 1. Description d'un microprocesseur : le 386 Architecture des systèmes Module INFO-TC-ASR2 Fonctionnement des ordinateurs Cours n 1 Description d'un microprocesseur : le 386 1 Introduction Un système informatique classique possède l'architecture

Plus en détail

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

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

Plus en détail

Optimisation de code

Optimisation de code Optimisation de code Brique ASC Samuel Tardieu sam@rfc1149.net École Nationale Supérieure des Télécommunications Samuel Tardieu (ENST) Optimisation de code 1 / 77 But L optimisation cherche à améliorer

Plus en détail

Types et performances des processeurs

Types et performances des processeurs Types et performances des processeurs Laboratoire de Systèmes Logiques Structure d un ordinateur contrôle processeur traitement séquenceur registres mémoire entrées/sorties micromémoire opérateurs bus

Plus en détail