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

Save this PDF as:
 WORD  PNG  TXT  JPG

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

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

Transcription

1 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

2 Sommaire 1. EZTrace Contexte Présentation 2. Développement Analyse post-mortem Générateur de plugins EZTrace Intégration ptrace Tests de performance 3. Conclusion

3 1. EZTrace

4 EZTrace Contexte Architecture moderne Modèles de progammation Complexes => Applications complexes => Outils d'analyse modernes

5 Quelques définitions : EZTrace Contexte MPI Interface de programmation sur des machines parallèles. S'appuie sur le paradigme de passage de messages. OpenMP Langage de haut-niveau permettant d'écrire des programmes multi-threadés en utilisant un ensemble de directives. Trace Représentation du comportement d'un programme dans le temps.

6 EZTrace Présentation Génération de traces d'exécution de programmes HPC (High Performance Computing) Langages supportés C Fortran Interprétation des traces générées Outils de représentation externe en draw gantt ViTE vampirtrace Outil d'analyse statistique : module intégré

7 EZTrace Présentation Représentation avec ViTE

8 EZTrace Présentation Interception dynamique d'appels de fonction : LD_PRELOAD

9 EZTrace Présentation Système de plugins 1. Plugins prédéfinis : Bibliothèques standards MPI OpenMP Pthread Allocation dynamique : malloc, free,... Standard I/O : read, write, Plugins définis par l'utilisateur : Bibliothèques dynamiques nécessaires

10 2. Développement

11 Développement Analyse post-mortem Mutex Pthread Temps entre verrouillage libération Fonctionnel pour les rwlocks et les spinlocks Sémaphore Temps entre Post Wait struct pthread_info { }; char *id_thread; char *id_lock; float time_lock; Fonctionnement simple Lock : enregistrement de la structure dans une liste Unlock : calcul du temps passé dans la section critique

12 Développement Analyse post-mortem MPI Communications : One-to-one / collectives Synchrones / asynchrones Evaluation (min, max, moyenne...) de : Temps de communication Taille des messages Nombre de messages Recouvrement calculcommunication : Temps entre MPI_Isend MPI_Wait Temps passé dans MPI_Wait

13 Développement Analyse post-mortem Matrice de communication

14 Développement Analyse post-mortem Matrice de communication Trace Analyse statistique Génération d'un fichier XML à partir des statistiques <message src= 6 dest= 7 size= 80 nb= 3 /> Analyse syntaxique Sortie au format LaTeX

15 Développement Analyse post-mortem Distribution de la taille des messages

16 Développement Générateur de plugins NAME exemple DESC exemple de module pour eztrace ID 23 int foo(int p1, double p2) void bar(int a) int foo(int p1, double p2) { } EZTRACE_EVENT2(FOO_ENTRY, p1, p2); int ret = foo_callback(p1, p2); EZTRACE_EVENT0(FOO_EXIT); return ret; Makefile void handle_foo_entry() {... pushstate(current, "ST_Thread", thread_id, "foo");... }

17 Développement Interception statique Librairies statiques & dynamiques Injection de code dans un programme en cours d'exécution Appel système ptrace Intégration dans EZTrace

18 Programme : Développement Tests de performance Nombre de tours de boucle variable 2 Fonctions appelées par tour de boucle foo : alloue 2 matrices de taille 100x100 en mémoire bar : multiplie les 2 matrices et libère la mémoire Traçage : Avec LD_PRELOAD Avec ptrace

19 Développement Tests de performance

20 3. Conclusion

21 Conclusion Contributions Ajout de statistiques pour les bibliothèques MPI & Pthread Développement du générateur de plugins Intégration de la méthode ptrace dans EZTrace Tests de performance Perspectives d'évolution CUDA, OpenCL Intégration continue : tests

22 Conclusion Compétences C, Programmation système Perl Autotools Travail en équipe SVN SCRUM (méthode agile)

23 Merci de votre attention

Outils d analyse de performance pour le HPC

Outils d analyse de performance pour le HPC Outils d analyse de performance pour le HPC François Trahay Master MOPS Décembre 2013 Plan 1 Introduction.................................................................... 3 2 Outils de profiling..............................................................10

Plus en détail

Portage et optimisation d applications de traitement d images sur architecture Kalray Mppa-Manycore Journées de la Compilation

Portage et optimisation d applications de traitement d images sur architecture Kalray Mppa-Manycore Journées de la Compilation Portage et optimisation d applications traitement d images sur architecture Kalray Mppa-Manycore Journées la Compilation Pierre Guillou Centre recherche en informatique Mines ParisTech 4 décembre 2013

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

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

Wrapping de code avec SWIG et Python

Wrapping de code avec SWIG et Python Wrapping de code avec SWIG et Python Matthijs Douze Motivation Passerelle Python-C SWIG Niveaux de langage Haut: temps de développement > temps d'exécution objectifs : compact, shell interactif, backtrace

Plus en détail

1 Pointeurs, références, alias et tableaux

1 Pointeurs, références, alias et tableaux 1 Pointeurs, références, alias et tableaux 1 1.1 Définitions Un pointeur est une variable contenant l'adresse d'un objet en mémoire. Un pointeur est déni par le couple (type, adresse) de l'objet pointé.

Plus en détail

Thales Research & Technology

Thales Research & Technology Thales Research & Technology Kick-off OpenGPU SP2 SPEAR Design Environment 25/03/10 Research & Technology SPEAR Design Environment 25/03/10 Approche semi-automatique complémentaire des compilateurs paralléliseurs

Plus en détail

Programmation Impérative 2006-2007

Programmation Impérative 2006-2007 Programmation Impérative 2006-2007 Licence Physique-Applications, Phisique-Chimie Université Jean Monnet Ruggero G. PENSA ruggero.pensa@univ-st-etienne.fr Définition de nouveaux types En pseudo-langage

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

C, seconde séance. le if then else n est pas une expression, mais une instruction ( Caml) se souvenir de:

C, seconde séance. le if then else n est pas une expression, mais une instruction ( Caml) se souvenir de: C, seconde séance le if then else n est pas une expression, mais une instruction ( Caml) se souvenir de: false, c est 0 ( \0 aussi) test d égalité: == pour printf: %d entier, %f flottant, %c caractère,

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

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

Objectifs. Architecture des Ordinateurs Partie III : Liens avec le système d exploitation. Au sommaire... Schéma général d un compilateur (1/8)

Objectifs. Architecture des Ordinateurs Partie III : Liens avec le système d exploitation. Au sommaire... Schéma général d un compilateur (1/8) Architecture des Ordinateurs Partie III : Liens avec le système d exploitation 2. Génération de code David Simplot simplot@fil.univ-lille1.fr Objectifs Voir la génération de code ainsi que les mécanismes

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

Master 1 Rentrée 2015/2016

Master 1 Rentrée 2015/2016 Informations générales Semestre 1 Semestre 2 Master 1 Rentrée 2015/2016 Université du Littoral Cote d Opale 4 septembre 2015 (Université du Littoral Cote d Opale) Master 1 4 septembre 2015 1 / 24 Informations

Plus en détail

Réalisation d un serveur CTI-CSTA sur TCP/IP

Réalisation d un serveur CTI-CSTA sur TCP/IP Alcôve http://www.alcove.fr 1/28 Réalisation d un serveur CTI-CSTA sur TCP/IP Julien Gaulmin Cette présentation est librement diffusable sous les termes de la GNU Free Documentation

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

PARALLÉLISATION DE CAST3M EN MÉMOIRE DISTRIBUÉE

PARALLÉLISATION DE CAST3M EN MÉMOIRE DISTRIBUÉE PARALLÉLISATION DE CAST3M EN MÉMOIRE DISTRIBUÉE Club Castem 2015 Gauthier Folzan 27 NOVEMBRE 2015 Gauthier Folzan 27 NOVEMBRE 2015 PAGE 1 NIVEAUX DE PARALLÉLISME DANS CASTEM Parallélisme intra-opérateur

Plus en détail

La programmation Impérative par le Langage C

La programmation Impérative par le Langage C La programmation Impérative par le Langage C 1. Introduction 1.1 Qu est-ce que la programmation impérative? Un programme est constitué de plusieurs lignes d instructions. Chaque instruction permet d effectuer

Plus en détail

Principes de la programmation impérative

Principes de la programmation impérative Séquence d instructions Variables et types Types élaborés Procédures, arguments Gestion de la mémoire Langage compilé, interprété Principes de la programmation impérative Séquence d instructions Variables

Plus en détail

GELE5343 Chapitre 2 : Révision de la programmation en C

GELE5343 Chapitre 2 : Révision de la programmation en C GELE5343 Chapitre 2 : Révision de la programmation en C Gabriel Cormier, Ph.D., ing. Université de Moncton Hiver 2013 Gabriel Cormier (UdeM) GELE5343 Chapitre 2 Hiver 2013 1 / 49 Introduction Contenu 1

Plus en détail

KDevelop Tour d horizon et retour d expériences (C++)

KDevelop Tour d horizon et retour d expériences (C++) KDevelop Tour d horizon et retour d expériences (C++) 2e rencontre DevelopR6 25 mars 2010 F. Langrognet F. Langrognet () KDevelop Mars 2010 1 / 27 PLAN 1 Introduction 2 Principales fonctionnalités 3 KDevelop

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

Langages de haut niveau

Langages de haut niveau Langages de haut niveau Introduction Un assembleur est un programme traduisant en code machine un programme écrit à l'aide des mnémoniques Les langages d'assemblage représentent une deuxième génération

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

Recommendations de codage

Recommendations de codage 1 Génie logiciel Recommendations de codage (incomplet & encore en travaux) Renaud Marlet LaBRI / INRIA http://www.labri.fr/~marlet màj 23/04/2007 Bonnes pratiques de 2 programmation Indispensable pour

Plus en détail

Composants logiciel: Feel++, formats de fichier et visualisation

Composants logiciel: Feel++, formats de fichier et visualisation Composants logiciel: Feel++, formats de fichier et visualisation Alexandre Ancel Cemosis / Université de Strasbourg 13 Janvier 2015 1 / 20 Plan 1 Environnement logiciel & matériel 2 Formats de fichier

Plus en détail

Demande d attribution de ressources informatiques. Sur le Centre de Calculs Interactifs de l Université de Nice Sophia-Antipolis

Demande d attribution de ressources informatiques. Sur le Centre de Calculs Interactifs de l Université de Nice Sophia-Antipolis Demande d attribution de ressources informatiques Sur le Centre de Calculs Interactifs de l Université de Nice Sophia-Antipolis Titre du projet : Nom du laboratoire : Nom de l établissement hébergeur :

Plus en détail

PaCO++ André Ribes Réunion Hydrogrid Rennes 15/09/03

PaCO++ André Ribes Réunion Hydrogrid Rennes 15/09/03 PaCO++ André Ribes Réunion Hydrogrid Rennes 15/09/03 Plan Contexte Problèmes CORBA PaCO++ Conclusion / perspectives Contexte : couplage de code Structural Mechanics Optics Thermal Dynamics Satellite design

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

3 Lien entre pointeurs et tableaux.

3 Lien entre pointeurs et tableaux. programme sont dit dynamiques. On se limite ici aux tableaux statiques à une seule dimension, analogue aux vecteurs manipulés en mathématiques. Ils se déclarent sous la forme : type_d_élément variable_tableau[taille];

Plus en détail

Chap. X : Ordonnancement

Chap. X : Ordonnancement UMR 7030 - Université Paris 13 - Institut Galilée Cours Architecture et Système Le compilateur sépare les différents objets apparaissant dans un programme dans des zones mémoires (code, données, librairies,

Plus en détail

Examen de Compilation

Examen de Compilation Examen de Compilation Licence Informatique 3 3 Mai 2013 Le sujet est composé de 4 exercices indépendants. Aucun document n est autorisé. Durée de l épreuve : 0x78 minutes. La note finale tiendra trés largement

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

Gestion autonome de flots d exécution événementiels

Gestion autonome de flots d exécution événementiels Gestion autonome de flots d exécution événementiels Fabien GAUD, M2R S&L Équipe SARDES (INRIA/LIG) 18 juin 2007 1 / 31 Sommaire 1 Introduction 2 État de l art 3 Contribution 4 Évaluation de performances

Plus en détail

Compléments sur les PThreads. Jean-Louis PAZAT IRISA / INSA

Compléments sur les PThreads. Jean-Louis PAZAT IRISA / INSA 1 Compléments sur les PThreads Jean-Louis PAZAT IRISA / INSA Exemple de threads utilisateur: Threads Posix Interface portable de programmation (API) Fonctionnalités création/destruction de Threads Synchronisation

Plus en détail

L3 Info & Miage. TP-Projet SGF

L3 Info & Miage. TP-Projet SGF TP-Projet SGF 1. Introduction L objectif de ce mini-projet est de réaliser un Système de Gestion de Fichiers simplifié capable de gérer des accès à des fichiers séquentiels de type flot. L idée est ici

Plus en détail

Compilation d applications de traitement du signal sur accélérateurs matériels à haute efficacité énergétique

Compilation d applications de traitement du signal sur accélérateurs matériels à haute efficacité énergétique Contexte Travaux recherche Activités annexes Conclusion Compilation d applications traitement du signal sur accélérateurs matériels à haute efficacité énergétique Rapport d avancement 1 re année Pierre

Plus en détail

Démo 1 Gestion de projet. Partie théorique : Exercice 1 : WBS (Work Breakdown Structure) Exercice 2: COCOMO (COnstructive COst MOdel)

Démo 1 Gestion de projet. Partie théorique : Exercice 1 : WBS (Work Breakdown Structure) Exercice 2: COCOMO (COnstructive COst MOdel) Démo 1 Gestion de projet Professeur : Bruno Dufor Démonstrateurs : Marouane Kessentini Hassen Grati Partie théorique : Exercice 1 : WBS (Work Breakdown Structure) 1. Qu est-ce que WBS? 2. À quoi ça sert?

Plus en détail

C++ / MC-II1 - Cours n o 3 Allocation Mémoire et Constructeurs

C++ / MC-II1 - Cours n o 3 Allocation Mémoire et Constructeurs C++ / MC-II1 - Cours n o 3 Allocation Mémoire et Constructeurs Sebastien.Kramm@univ-rouen.fr IUT GEII Rouen 2010-2011 S. Kramm (IUT Rouen) MCII1 - Cours 3 2010-2011 1 / 47 Sommaire 1 Rappels de C et définitions

Plus en détail

Soutien Informatique

Soutien Informatique 1/51 Soutien Informatique Nicolas Castagné et François Portet PHELMA 2/51 Sommaire Allocation Mémoire Les types abstraits de données 3/51 Allocation dynamique de mémoire (stdlib.h,string.h) Réserver un

Plus en détail

Compte rendu TP No1 : «Analyse statique de programme»

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

Plus en détail

DSM-PM2 : une plate-forme portable pour l implémentation de protocoles de cohérence MVP multithread. Gabriel Antoniu LIP, ENS-Lyon

DSM-PM2 : une plate-forme portable pour l implémentation de protocoles de cohérence MVP multithread. Gabriel Antoniu LIP, ENS-Lyon DSM-PM2 : une plate-forme portable pour l implémentation de protocoles de cohérence MVP multithread Gabriel Antoniu LIP, ENS-Lyon Contexte : PM2 Environnement de programmation multithread distribué Développé

Plus en détail

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran)  Processus = suite d'actions = suite d'états obtenus = trace Processus 1) Contexte 2) Modèles de Notion de Points de vue Modèle fourni par le SX Opérations sur les 3) Gestion des Représentation des Opérations 4) Ordonnancement des Niveaux d ordonnancement Ordonnancement

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

WEB DAQ Slow Control Calcul Graphisme Concepts et Outils

WEB DAQ Slow Control Calcul Graphisme Concepts et Outils WEB DAQ Slow Control Calcul Graphisme Concepts et Outils Sécurisation des sites WEB Les sites web sont vulnérables (php mal sécurisé, injection de code malveillant, importation de code SQL, ) Accès aux

Plus en détail

Sujet d examen 1. Pratique du C. Novembre 2009

Sujet d examen 1. Pratique du C. Novembre 2009 Durée 1 h 30 Documents autorisés Sujet d examen 1 Pratique du C Novembre 2009 Introduction Écrivez lisiblement et n hésitez pas à commenter votre code en langage C. Vous ne pouvez utiliser que les fonctions

Plus en détail

Outils de gestion de projet informatique

Outils de gestion de projet informatique Outils de gestion de projet informatique Plan Introduction Méthodes agiles (extreme Programing) Dépôt de source (Subversion) Gestionnaire de tâches (Trac) Environnement de Développement Intégré (Eclipse)

Plus en détail

Informatique III: Programmation en C++ Introduction. Examens. Chargé de cours François Fleuret francois.fleuret@epfl.ch

Informatique III: Programmation en C++ Introduction. Examens. Chargé de cours François Fleuret francois.fleuret@epfl.ch Informatique III: Programmation en C++ Lundi 24 Octobre 2005 Chargé de cours François Fleuret francois.fleuret@epfl.ch Assistant Mathieu Salzmann mathieu.salzmann@epfl.ch Assistants étudiants Ali Al-Shabibi

Plus en détail

Les outils de développement en langage C++

Les outils de développement en langage C++ Les outils de développement en langage C++ Sommaire Les étapes de réalisation d'un exécutable Le pré processeur La création d'un exécutable Les étapes de réalisation d'un exécutable Traitement des fichiers

Plus en détail

1 Entête des fonctions

1 Entête des fonctions Le lecteur rédacteur est un problème de synchronisation qui suppose que l on peut accéder aux données partagées de 2 manières : en lecture, c est a dire sans possibilité de modification; en écriture. Il

Plus en détail

Retour d expérience Jenkins

Retour d expérience Jenkins www.idris.fr www.genci.fr Retour d expérience Jenkins ENVOL 2014 20 novembre 2014 Julien Bigot (MdlS), Isabelle Dupays (IDRIS), Laurent Léger (IDRIS) Plan de la présentation 1. Motivations Ø Quels sont

Plus en détail

3IS - Système d'exploitation linux - Threads

3IS - Système d'exploitation linux - Threads 3IS - Système d'exploitation linux - Threads 2010 David Picard Contributions de : Arnaud Revel, Mickaël Maillard picard@ensea.fr Qu'est-ce qu'un thread? ÉCOLE NATIONALE SUPÉRIEURE DE L'ÉLECTRONIQUE ET

Plus en détail

INSTALLATION ET CONFIGURATION POUR LA PROGRAMMATION

INSTALLATION ET CONFIGURATION POUR LA PROGRAMMATION INSTALLATION ET CONFIGURATION POUR LA PROGRAMMATION PARALLELES SOUS WINDOWS I. PREPARATION DE L ENVIRONNEMENT Tous d abord il va vous falloir télécharger quelques logiciels afin de pouvoir commencer à

Plus en détail

Brefs rappels sur la pile et le tas (Stack. / Heap) et les pointeurs

Brefs rappels sur la pile et le tas (Stack. / Heap) et les pointeurs Brefs rappels sur la pile et le tas (Stack / Heap) et les pointeurs (exemples en C) v1.11 - Olivier Carles 1 Pile et Tas Mémoire allouée de manière statique Mémoire Allouée Dynamiquement variables locales

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

Présentation du projet:

Présentation du projet: : Le but du projet est de réaliser le fonctionnement d'un jeu de Siam valide. Plus spécifiquement, il consiste à implémenter l'organisation générale du jeu, et le suivi des règles du mouvement des pièces.

Plus en détail

Systèmes répartis : les Remote Procedure Calls p.1/25

Systèmes répartis : les Remote Procedure Calls p.1/25 Systèmes répartis : les Remote Procedure Calls Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine Systèmes répartis : les Remote Procedure Calls p.1/25 Les Remote Procedure Calls

Plus en détail

développement de serveurs Internet

développement de serveurs Internet Un modèle génératif pour le développement de serveurs Internet Soutenance de thèse de l Université Paris-Est Gautier LOYAUTÉ Gautier.Loyaute@univ-mlv.fr 5 Septembre 2008 Laboratoire d Informatique Institut

Plus en détail

Etude d Algorithmes Parallèles de Data Mining

Etude d Algorithmes Parallèles de Data Mining REPUBLIQUE TUNISIENNE MINISTERE DE L ENSEIGNEMENT SUPERIEUR, DE LA TECHNOLOGIE ET DE LA RECHERCHE SCIENTIFIQUE UNIVERSITE DE TUNIS ELMANAR FACULTE DES SCIENCES DE TUNIS DEPARTEMENT DES SCIENCES DE L INFORMATIQUE

Plus en détail

Programmation trame GPS

Programmation trame GPS Lycée polyvalent DIDEROT 61, rue David d Angers 75019 PARIS http://www.diderot.org Département IRIS TP Programmation trame GPS Manipulation de trame GPS NMEA Auteur Version - Date Nom du fichier G.VALET

Plus en détail

La visualisation de traces, support à l analyse, déverminage et optimisation d applications de calcul haute performance

La visualisation de traces, support à l analyse, déverminage et optimisation d applications de calcul haute performance 1/20 La visualisation de traces, support à l analyse, déverminage et optimisation d applications de calcul haute performance Damien Dosimont 1 Guillaume Huard 2 Jean-Marc Vincent 2 1 INRIA 2 Université

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

Configuration et Déploiement d Applications Réparties par Intégration de l Hétérogénéité des Implémentations dans un Langage de Description d

Configuration et Déploiement d Applications Réparties par Intégration de l Hétérogénéité des Implémentations dans un Langage de Description d Configuration et Déploiement d Applications Réparties par Intégration de l Hétérogénéité des Implémentations dans un Langage de Description d Architecture Doctorant: Directeurs de thèse: Bechir ZALILA

Plus en détail

Une introduction au langage C++ Marc Jachym, Lurpa

Une introduction au langage C++ Marc Jachym, Lurpa Une introduction au langage C++ Marc Jachym, Lurpa Janvier 2008 À l origine, le langage C Langage procédural créé dans les années 1970 aux laboratoires Bell (ATT : télécoms américains) en vue d écrire

Plus en détail

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations

Plus en détail

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Structure d un programme et Compilation Notions de classe et d objet Syntaxe Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types

Plus en détail

Noyau RTLinux. Noyau RTLinux

Noyau RTLinux. Noyau RTLinux Noyau RTLinux Noyau RTLinux 1 Principes de programmation RTLinux est implémenté sur la base du Minimal Real-time System Profile (POSIX 1003.13 draft 9) ou «système d'exploitation temps réel minimal», et

Plus en détail

De 2 à 22 millions d'images; Création, Indexation et Recherche par le contenu avec PiRiA

De 2 à 22 millions d'images; Création, Indexation et Recherche par le contenu avec PiRiA De 2 à 22 millions d'images; Création, Indexation et Recherche par le contenu avec PiRiA contact : patrick.hède@cea.fr Commissariat à l'energie Atomique GdR isis : Passage à l'échelle dans la recherche

Plus en détail

Exécution des applications réparties

Exécution des applications réparties Exécution des applications réparties Programmation des Applications Réparties Olivier Flauzac URCA Master STIC-Informatique première année Olivier Flauzac (URCA) PAR : Exécution des applications réparties

Plus en détail

Université Pierre et Marie Curie. Laboratoire d Informatique de Paris 6

Université Pierre et Marie Curie. Laboratoire d Informatique de Paris 6 Université Pierre et Marie Curie Laboratoire d Informatique de Paris 6 Jean-Luc Lamotte Emmanuel Chailloux Extension d Objective Caml scientifique sur GPU pour le calcul Plan Présentation UPMC / LIP6 /

Plus en détail

Ordonnancement hybride statique-dynamique en algèbre linéaire creuse pour de grands clusters de machines NUMA et multi-cœurs

Ordonnancement hybride statique-dynamique en algèbre linéaire creuse pour de grands clusters de machines NUMA et multi-cœurs Ordonnancement hybride statique-dynamique en algèbre linéaire creuse pour de grands clusters de machines NUMA et multi-cœurs Mathieu Faverge 7 décembre 2009 Mathieu Faverge Soutenance de thèse 1 / 70 Contexte

Plus en détail

Organisation des données et structures de stockage

Organisation des données et structures de stockage ING2 - ING3 Nvx 2009-2010 Organisation des données et structures de stockage I. Stockage de l information en C Ce chapitre rappelle brièvement et complète certaines notions de base vues en première année

Plus en détail

Cours Langage C. Passage de paramètres à la fonction main Pointeur de fonction Allocation dynamique

Cours Langage C. Passage de paramètres à la fonction main Pointeur de fonction Allocation dynamique Cours Langage C Passage de paramètres à la fonction main Pointeur de fonction Allocation dynamique I Passage de paramètres à la fonction main Tout exécutable C doit comporter une fonction main dont le

Plus en détail

Parallélisme, Algorithmes PRAM

Parallélisme, Algorithmes PRAM , Armelle Merlin L.I.F.O Laboratoire d'informatique Fondamentale d'orléans Transparents inspirés des cours de G. Hains et de B. Virot Plan 1 Introduction Langages parallèles Les architectures parallèles

Plus en détail

Programmation Android Ce que vous devez savoir. Cours Android - F. Michel 1 / 18

Programmation Android Ce que vous devez savoir. Cours Android - F. Michel 1 / 18 Programmation Android Ce que vous devez savoir 1 / 18 Plan 1 Connaissances essentielles 2 Définition d une GUI et adaptation au contexte 3 L objet Intent 2 / 18 Connaissances essentielles Sur la plate-forme

Plus en détail

Cluster de calcul, machine Beowulf, ferme de PC Principes, problématique et échanges d expérience

Cluster de calcul, machine Beowulf, ferme de PC Principes, problématique et échanges d expérience Cluster de calcul, machine Beowulf, ferme de PC Principes, problématique et échanges d expérience 29 mars 2002 Olivier BOEBION - Laboratoire de Mathématiques et de Physique Théorique - Tours 1 Principes

Plus en détail

Dr. M.W. Youssef Systèmes d exploitation Avancées 1ING ISI - 2009

Dr. M.W. Youssef Systèmes d exploitation Avancées 1ING ISI - 2009 Institut Supérieur d Informatique Chapitre 02 Synchronisation des processus Dr. Mohamed-Wassim YOUSSEF 2009 [www.wassimyoussef.info] Systèmes d exploitation avancées 1 ING ISI 1 ére année Ingénieur en

Plus en détail

DE PROCESSUS PAR SNMP

DE PROCESSUS PAR SNMP BIBLIOTHÈQUE D'ADMINISTRATION DE PROCESSUS PAR SNMP Cédric CABESSA cedric.cabessa.2007@anelis.isima.fr Tuteur entreprise : Thomas LEIBOVICI thomas.leibovici@cea.fr Tuteur universitaire : Kun Mean HOU kun.mean.hou@isima.fr

Plus en détail

renforcer le contrôle de type :

renforcer le contrôle de type : renforcer le contrôle de type : définitions, prototypes de fonctions surcharge références conversions de void * préférer le compilateur au préprocesseur considérer les entrées/sorties opérations abstraites

Plus en détail

Intégration d'un joystick dans le logiciel Perfly SGI

Intégration d'un joystick dans le logiciel Perfly SGI Intégration d'un joystick dans le logiciel Perfly SGI 1) Le joystick 1.1) Description C'est le modèle Flybox, de base, de la société BG SYSTEMS INC. Ce joystick possède 3 axes, 2 manettes, 2 boutons «classiques»

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

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

UE Programmation Impérative Licence 2ème Année 2014 2015

UE Programmation Impérative Licence 2ème Année 2014 2015 UE Programmation Impérative Licence 2 ème Année 2014 2015 Informations pratiques Équipe Pédagogique Florence Cloppet Neilze Dorta Nicolas Loménie prenom.nom@mi.parisdescartes.fr 2 Programmation Impérative

Plus en détail

Familiarisation avec Eclipse / Netbeans

Familiarisation avec Eclipse / Netbeans Institut Galilée LEE Année 011-01 Master T.P. 0 Familiarisation avec Eclipse / Netbeans Lien important contenant le pdf du cours et du TP, et ensuite des sources : http://www-lipn.univ-paris13.fr/~fouquere/mpls

Plus en détail

APRON: Analyse de PRogrammes Numérique

APRON: Analyse de PRogrammes Numérique Introduction APRON: Analyse de PRogrammes Numérique Projet 2004 François Irigoin École des Mines de Paris - Centre de Recherche en Informatique 17 novembre 2004 Introduction Pourquoi? Analyse statique

Plus en détail

Examen Corrigé NFP137 : Systèmes et applications concurrentes

Examen Corrigé NFP137 : Systèmes et applications concurrentes CONSERVATOIRE NATIONAL DES ARTS et METIERS Centre de Paris Examen Corrigé NFP137 : Systèmes et applications concurrentes 3 juillet 2007 Exercice 1 : Gestion des ressources : L algorithme du banquier. Lorsqu

Plus en détail

Le «thread local storage» et son utilisation

Le «thread local storage» et son utilisation Résumé Les allocations mémoire sont généralement plus coûteuses que d ordinaire en environnement multi-thread. En effet, la majorité des algorithmes d allocation en usage dans les systèmes d exploitation

Plus en détail

Tableaux à deux dimensions

Tableaux à deux dimensions Cours 8 Tableaux à deux dimensions Un tableau à deux dimensions (tableau 2D) est un tableau contenant des lignes et des colonnes comme celui-ci : 4 22 55 2 5 2 4 4 2 24 2 12 Ce tableau à deux dimensions

Plus en détail

Projet gestion d'objets dupliqués

Projet gestion d'objets dupliqués Projet gestion d'objets dupliqués Daniel Hagimont Daniel.Hagimont@enseeiht.fr 1 Projet Service de gestion d'objets dupliqués Mise en cohérence lors de la prise d'un verrou sur un objet Pas de verrous imbriqués

Plus en détail

3ETI, Examen [CSC2] Developpement Logiciel en C CPE Lyon

3ETI, Examen [CSC2] Developpement Logiciel en C CPE Lyon 3ETI, Examen [CSC2] Developpement Logiciel en C CPE Lyon 2012-2013 (2eme session) durée 2h Tous documents et calculatrices autorisés. Le sujet comporte 6 pages Le temps approximatif ainsi que le barème

Plus en détail

Introduction à la programmation // sur GPUs en CUDA et Python

Introduction à la programmation // sur GPUs en CUDA et Python Introduction à la programmation // sur GPUs en CUDA et Python Denis Robilliard Équipe CAMOME: C. Fonlupt, V. Marion-Poty, A. Boumaza LISIC ULCO Univ Lille Nord de France BP 719, F-62228 Calais Cedex, France

Plus en détail

Vers un outil d analyse de l empreinte mémoire d un code de calcul scientifique.

Vers un outil d analyse de l empreinte mémoire d un code de calcul scientifique. Vers un outil d analyse de l empreinte mémoire d un code de calcul scientifique. Ameziane NAIT ABDELAZIZ Département informatique, filière PRCD Maître de stage : Bruno LATHUILIERE Tuteur : Brice GOGLIN

Plus en détail

0- Le langage C++ 1- Du langage C au langage C++ 2- Quelques éléments sur le langage. 3- Organisation du cours

0- Le langage C++ 1- Du langage C au langage C++ 2- Quelques éléments sur le langage. 3- Organisation du cours 0- Le langage C++ 1- Du langage C au langage C++ 2- Quelques éléments sur le langage 3- Organisation du cours Le présent cours constitue une introduction pour situer le langage C++, beaucoup des concepts

Plus en détail

Utilisation d'allocation de registre pour optimisation de calcul acoustique probabiliste

Utilisation d'allocation de registre pour optimisation de calcul acoustique probabiliste Utilisation d'allocation de registre pour optimisation de calcul acoustique probabiliste Pierrick Brunet Encadré par Serge Guelton Etudiant à Télécom Bretagne Stage de fin d étude à Quiet Oceans Sixièmes

Plus en détail

Introduction à la programmation concurrente

Introduction à la programmation concurrente à la programmation concurrente Moniteurs Yann Thoma Reconfigurable and Embedded Digital Systems Institute Haute Ecole d Ingénierie et de Gestion du Canton de Vaud Mai 2012 Yann Thoma (HES-SO / HEIG-VD

Plus en détail

CCI - Initiation à Java. E.Coquery emmanuel.coquery@liris.cnrs.fr

CCI - Initiation à Java. E.Coquery emmanuel.coquery@liris.cnrs.fr CCI - Initiation à Java E.Coquery emmanuel.coquery@liris.cnrs.fr Présentation du langage Outline 1 Présentation du langage 2 Types de données primitifs 3 Objets Présentation du langage Un langage orienté

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