Département de génie informatique et génie logiciel
Matériel informatique Traitement réparti et simultané Logiciels et développement Algorithmes Architecture d'ordinateur et conception Logiciel de systèmes informatiques
Technologies de l'information et communications
Industrie du futur et société numérique
Intérêts de recherche et affiliations
-
Systèmes répartis, multi-coeurs, hétérogènes
-
Infonuagique et virtualisation
-
Outils pour l'analyse de performance
-
Traçage
-
Linux
-
Logiciels libres
Le principal objectif de recherche de notre groupe est d'aider les concepteurs et opérateurs de systèmes informatiques à mieux comprendre le comportement et la performance de leurs applications qui fonctionnent sur des systèmes parallèles et répartis. Par exemple, une requête effectuée sur un ordinateur pour obtenir une information (e.g. météo, compte bancaire, vidéo, réseaux sociaux) utilise votre ordinateur portatif, différents réseaux et commutateurs, et plusieurs serveurs chez celui qui fournira l'information. Plus encore, la même requête effectuée quelques instants plus tard pourrait passer par d'autres commutateurs de réseau et d'autres serveurs. Si la performance obtenue n'est pas celle attendue, comment comprendre le comportement et diagnostiquer le problème?
En raison du faible coût des composants électroniques, les systèmes actuels contiennent un très grand nombre d'unités de calcul qui opèrent en parallèle. Ceux-ci sont regroupés dans de grands parcs d'ordinateurs qui agissent comme serveurs pour plusieurs entreprises. Chaque service d'une entreprise peut s'exécuter en parallèle sur plusieurs ordinateurs, lorsque la demande le justifie. A l'inverse, chaque ordinateur peut exécuter des tâches pour plusieurs entreprises différentes, si la demande est moins forte. Ce flou, à savoir sur quel ordinateur un service s'exécute, a inspiré le terme infonuagique (Cloud). Sur chaque ordinateur, on retrouve typiquement de 4 à 64 processeurs (coeurs), dans l'unité centrale de traitement, qui peuvent fonctionner en parallèle. De plus, un co-processeur spécialisé pour le graphisme mais pouvant effectuer d'autres calculs, le GPU, est souvent disponible et peut contenir jusqu'à 4096 unités de calcul qui fonctionnent en parallèle. Comprendre la performance d'une application dans un tel contexte devient donc particulièrement difficile.
A cette fin, nous développons, en collaboration avec des partenaires industriels, des outils en logiciel libre pour le traçage, le profilage et le déboguage des applications. Ces outils recueillent des informations sur les principaux événements qui surviennent pendant l'exécution de requêtes. Ces informations sont ensuite analysées afin de montrer comment se répartit le temps d'exécution entre les différentes fonctions du logiciel et les différentes unités de calcul, de présenter des histogrammes pour comparer les différentes requêtes, de calculer le chemin critique, et d'identifier les goulots d'étranglement.
- 2701 Matériel informatique
- 2704 Traitement réparti et simultané
- 2705 Logiciels et développement
- 2713 Algorithmes
- 2719 Architecture d'ordinateur et conception
- 2720 Logiciel de systèmes informatiques
Publications
Enseignement
Cours enseignés:
- Systèmes informatiques parallèles (OpenMP, OpenCL, MPI), INF8601
- Systèmes répartis et infonuagique, INF8480
Participation passée aux cours:
- Architecture des ordinateurs
- Aspects algorithmiques du génie informatique
- Infographie avancée
- Paradigmes Objet
- Systèmes d'exploitation
- Projet intégrateur de première année en génie informatique et génie logiciel
- Introduction à l'ingénierie informatique
- Réussir au doctorat
Distinctions en enseignement:
- 1988-1989: Premier prix comme professeur en génie informatique, Gala Méritas de l'AEP (Association des Etudiants de Polytechnique)
- 1996-1997: Premier prix comme professeur en génie informatique, Gala Méritas de l'AEP
- 2003-2004: Premier prix comme professeur en génie informatique, Gala Méritas de l'AEP
- 2013-2014: Premier prix comme professeur ou chargé d'enseignement en génie informatique et génie logiciel, Gala Méritas de l'AEP
- 2017-2018: Premier prix comme professeur aux études supérieures en génie informatique et génie logiciel, Gala Méritas de l'AEP
- 2020-2021: Premier prix comme professeur en génie informatique et génie logiciel, Gala Méritas de l'AEP
Encadrement à Polytechnique
TERMINÉ
-
Thèse de doctorat (17)
- Denys, P.-F. (2023). Distributed Performance Analysis Tools for Large Scale Computations [Thèse de doctorat, Polytechnique Montréal].
- Kabamba, H. M. (2023). Approches intégrées d'analyse de performance des systèmes distribués asynchrones par trace d'exécution système [Thèse de doctorat, Polytechnique Montréal].
- Kohyarnejadfard, I. (2022). System Performance Anomaly Detection using Tracing Data Analysis [Thèse de doctorat, Polytechnique Montréal].
- Muller Rodrigues, I. (2022). Algorithms and Learning Models for Bug Report Deduplication [Thèse de doctorat, Polytechnique Montréal].
- Belkhiri, A. (2021). Analyse de performances des réseaux programmables, à partir d'une trace d'exécution [Thèse de doctorat, Polytechnique Montréal].
- Daoud, H. (2019). Analyse des performances de stockage, en mémoire et sur les périphériques d'entrée/sortie, à partir d'une trace d'exécution [Thèse de doctorat, Polytechnique Montréal].
- Nemati, H. (2019). Virtual Machine Flow Analysis Using Host Kernel Tracing [Thèse de doctorat, Polytechnique Montréal].
- Abusitta, A. (2018). Theoretical and Applied Foundations for Intrusion Detection in Single and Federated Clouds [Thèse de doctorat, École Polytechnique de Montréal].
- Sharma, S. D. (2017). Low-Impact System Performance Analysis Using Hardware Assisted Tracing Techniques [Thèse de doctorat, École Polytechnique de Montréal].
- Beamonte, R. (2016). Runtime Verification of Real-Time Applications Using Trace Data and Model Requirements [Thèse de doctorat, École Polytechnique de Montréal].
- Desfossez, J. (2016). Mesure et analyse de latences dans les systèmes parallèles en temps réel [Thèse de doctorat, École Polytechnique de Montréal].
- Giraldeau, F. (2015). Analyse de performance de systèmes distribués et hétérogènes à l'aide de traçage noyau [Thèse de doctorat, École Polytechnique de Montréal].
- Ezzati Jivan, N. (2014). Multi-Level Trace Abstraction, Linking and Display [Thèse de doctorat, École Polytechnique de Montréal].
- Jabbarifar, M. (2013). On Line Trace Synchronization for Large Scale Distributed Systems [Thèse de doctorat, École Polytechnique de Montréal].
- Shameli Sendi, A. (2013). System Health Monitoring and Proactive Response Activation [Thèse de doctorat, École Polytechnique de Montréal].
- Desnoyers, M. (2009). Low-Impact Operating System Tracing [Thèse de doctorat, École Polytechnique de Montréal].
- Poirier, B. (2002). Reconnaissance de la structure d'un document extrait de sa représentation graphique [Thèse de doctorat, École Polytechnique de Montréal].
- Denys, P.-F. (2023). Distributed Performance Analysis Tools for Large Scale Computations [Thèse de doctorat, Polytechnique Montréal].
-
Mémoire de maîtrise (57)
- Faour, A. (2024). Mise à l'échelle des analyses de trace dans une architecture modulaire [Mémoire de maîtrise, Polytechnique Montréal].
- Dion, O. (2023). Points de trace dynamiques, portables et extensibles en espace utilisateur avec un surcoût minimal et une couverture maximale [Mémoire de maîtrise, Polytechnique Montréal].
- Jumaah, F. (2023). Critical Path Analysis for MPI Applications with Trace Compass [Mémoire de maîtrise, Polytechnique Montréal].
- Piché, D. (2023). Techniques d'analyse ciblée de mémoire en temps réel pour les systèmes embarqués [Mémoire de maîtrise, Polytechnique Montréal].
- Saint-Cyr, B. (2023). Traçage multi-niveaux d'orchestrateur d'application conteneurisée [Mémoire de maîtrise, Polytechnique Montréal].
- Sangam, E.-T. A. (2023). Tracing Low Latency Microservices [Mémoire de maîtrise, Polytechnique Montréal].
- Bourque Bédard, C. (2022). Message Flow Analysis for Distributed Real-Time Control Systems [Mémoire de maîtrise, Polytechnique Montréal].
- Tran, Q.-H. (2022). Architecture pour les analyses distribuées et parallèles de traces logicielles [Mémoire de maîtrise, Polytechnique Montréal].
- Pollo-Guilbert, G.-A. (2021). Déduction des cibles de sauts indirects pour les applications de traçage x86 [Mémoire de maîtrise, Polytechnique Montréal].
- Balboul, A. (2020). Points de trace rapides et efficaces par injection adaptative de sauts en x86 [Mémoire de maîtrise, Polytechnique Montréal].
- Fiorini, A. (2020). Traçage et profilage de systèmes hétérogènes [Mémoire de maîtrise, Polytechnique Montréal].
- Naert, P. (2020). Vérification dynamique ciblée et interactive de programmes grâce à une architecture modulaire [Mémoire de maîtrise, Polytechnique Montréal].
- Champagne, G. (2019). Outils d'analyse de performance de systèmes d'exploitation avec partitionnement spatial et temporel [Mémoire de maîtrise, Polytechnique Montréal].
- Gelle, L. (2019). Traçage noyau et distribué d'applications réparties pour l'analyse de la performance [Mémoire de maîtrise, Polytechnique Montréal].
- Rezazadeh, M. (2019). Performance Analysis of Complex Multi-Thread Applications Through Critical Path Analysis [Mémoire de maîtrise, Polytechnique Montréal].
- Benbachir, A. (2018). Surveillance et analyse de machine virtuelle assistée par l'hôte [Mémoire de maîtrise, École Polytechnique de Montréal].
- Chen Kuang Piao, Y. (2018). Nouvelle architecture pour les environnements de développement intégré et traçage de logiciel [Mémoire de maîtrise, École Polytechnique de Montréal].
- Gassais, R. (2018). Détection d'intrusion sur les objets connectés par analyse comportementale [Mémoire de maîtrise, École Polytechnique de Montréal].
- Harper-Cyr, C. (2018). Points de trace rapides et flexibles en X86 [Mémoire de maîtrise, École Polytechnique de Montréal].
- Martin, M. (2018). Analyse détaillée de trace en dépit d'événements manquants [Mémoire de maîtrise, École Polytechnique de Montréal].
- Zins, P. (2018). Traçage et profilage d'applications d'apprentissage automatique de type flot de données utilisant un processeur graphique [Mémoire de maîtrise, École Polytechnique de Montréal].
- De Melo, I. F. (2017). Software Tracing Comparison Using Data Mining Techniques [Mémoire de maîtrise, École Polytechnique de Montréal].
- Margheritta, P. (2017). Traçage logiciel d'applications utilisant un processeur graphique [Mémoire de maîtrise, École Polytechnique de Montréal].
- Nadeau, D. (2017). Débogage à large échelle sur des systèmes hétérogènes parallèles [Mémoire de maîtrise, École Polytechnique de Montréal].
- Prieur-Drevon, L. (2017). Structures de données hautement extensibles pour le stockage sur disque de séries temporelles hétérogènes [Mémoire de maîtrise, École Polytechnique de Montréal].
- Bationo, Y. J. (2016). Analyse de performance des plateformes infonuagiques [Mémoire de maîtrise, École Polytechnique de Montréal].
- Bertauld, T. (2016). Traçage de systèmes embarqués hétérogènes [Mémoire de maîtrise, École Polytechnique de Montréal].
- Biancheri, C. (2016). Analyse de l'exécution de systèmes virtualisés multiniveaux [Mémoire de maîtrise, École Polytechnique de Montréal].
- Côté, M. (2015). Détection de problèmes dans les systèmes temps réel par l'analyse de traces [Mémoire de maîtrise, École Polytechnique de Montréal].
- Couturier, D. (2015). Traçage de logiciels bénéficiant d'accélération graphique [Mémoire de maîtrise, École Polytechnique de Montréal].
- Delisle, S. (2015). Conception d'un outil de modélisation intégré pour l'indexation et l'analyse de trace [Mémoire de maîtrise, École Polytechnique de Montréal].
- Kouamé, K. G. (2015). Langage dédié et analyse automatisée pour la détection de patrons au sein de traces d'exécution [Mémoire de maîtrise, École Polytechnique de Montréal].
- Pierre Doray, F. (2015). Analyse de variations de performance par comparaison de traces d'exécution [Mémoire de maîtrise, École Polytechnique de Montréal].
- Reumont-Locke, F. (2015). Méthodes efficaces de parallélisation de l'analyse de traces noyau [Mémoire de maîtrise, École Polytechnique de Montréal].
- Gebai, M. (2014). Surveillance de l'exécution et analyse de préemption entre machines virtuelles [Mémoire de maîtrise, École Polytechnique de Montréal].
- Marchi, S. (2014). Débogage et traçage de processeurs à grand nombre de coeurs [Mémoire de maîtrise, École Polytechnique de Montréal].
- Rajotte, F. (2014). Analyse de systèmes temps-réel par traçage [Mémoire de maîtrise, École Polytechnique de Montréal].
- Vergé, A. (2014). Traçage logiciel assisté par matériel [Mémoire de maîtrise, École Polytechnique de Montréal].
- Wininger, F. (2014). Conception flexible d'analyses issues d'une trace système [Mémoire de maîtrise, École Polytechnique de Montréal].
- Beamonte, R. (2013). Traçage de systèmes linux multi-coeurs en temps réel [Mémoire de maîtrise, École Polytechnique de Montréal].
- Fahem, R. (2012). Points de trace statiques et dynamiques en mode noyau [Mémoire de maîtrise, École Polytechnique de Montréal].
- Goulet, D. (2012). Unified Kernel/User-Space Efficient Linux Tracing Architecture [Mémoire de maîtrise, École Polytechnique de Montréal].
- Desfossez, J. (2011). Résolution de problème par suivi de métriques dans les systèmes virtualisés [Mémoire de maîtrise, École Polytechnique de Montréal].
- Montplaisir-Gonçalves, A. (2011). Stockage sur disque pour accès rapide d'attributs avec intervalles de temps [Mémoire de maîtrise, École Polytechnique de Montréal].
- Poirier, B. (2010). Synchronisation de traces distribuées à l'aide d'événements de bas niveau [Mémoire de maîtrise, École Polytechnique de Montréal].
- Fournier, P.-M. (2009). Analyse automatisée des causes de blocage de processus à partir d'une trace d'exécution [Mémoire de maîtrise, École Polytechnique de Montréal].
- Matni, G. (2009). Detecting Problematic Execution Patterns Through Automatic Kernel Trace Analysis [Mémoire de maîtrise, École Polytechnique de Montréal].
- Heidari, P. (2007). Hypervisors and virtual systems tracing for performance analysis [Mémoire de maîtrise, École Polytechnique de Montréal].
- Clément, É. (2006). Synchronisation de traces dans un réseau distribué [Mémoire de maîtrise, École Polytechnique de Montréal].
- Grigoras, D. (2004). Outil d'analyse de performance d'applications par objets répartis [Mémoire de maîtrise, École Polytechnique de Montréal].
- Marouani, H. (2004). Mesure de la précision des compteurs de cycle et horloges internes des ordinateurs [Mémoire de maîtrise, École Polytechnique de Montréal].
- Thouvenin, G. (2002). Extraction des propriétés du code source pour l'annotation automatique [Mémoire de maîtrise, École Polytechnique de Montréal].
- Hu, Y. (2001). C/C++ preprocessing directive analysis [Mémoire de maîtrise, École Polytechnique de Montréal].
- Yaghmour, K. (2001). Analyse de performance et caractérisation de comportement à l'aide d'enregistrement d'événements noyau [Mémoire de maîtrise, École Polytechnique de Montréal].
- Collin, J. (1997). Compilation par serveur persistant et génération rapide de code [Mémoire de maîtrise, École Polytechnique de Montréal].
- Gagnon, M. (1997). Linéarisation de document hypertexte [Mémoire de maîtrise, École Polytechnique de Montréal].
- Fu, L. (1995). Mise en forme incrémentale de documents complexes [Mémoire de maîtrise, École Polytechnique de Montréal].
Nouvelle(s) concernant Michel Dagenais
Revue de presse concernant Michel Dagenais







