Directory of Experts
Back to search results
Michel Dagenais
B.Ing. (Poly), Ph.D. (McGill)
Student research project(s)

Research interests and affiliations

Research interests
  • Distributed and heterogeneous multicore systems

  • Cloud Computing and virtualisation

  • Performance analysis tools

  • Tracing

  • Linux

  • Free and Open Source Software

The main objective of our research group is helping designers and operators of parallel and distributed computer systems to better understand the behavior and performance of their applications. For instance, a request for information (e.g., weather, banking, video, social media) issued from your laptop computer will reach several servers from the information provider through different networks and switches. Moreover, the same request issued soon after may go through other networks and switches and be served by different computers. If the performance obtained is unsatisfactory, how can one understand the behavior and diagnose the problem?   Because of the decreasing costs of electronics components, computer systems now contain a large number of processing units that operate in parallel. Large data centers act as server farms for several corporations. Each service for a company may execute in parallel on several computers, when the demand is high. Conversely, each computer may execute tasks for several companies in parallel when the demand is lower. This hazy connection between specific services and specific computers has inspired the term Cloud Computing. On each computer we typically have between 4 and 64 processors (cores), operating in parallel within the central processing unit. Furthermore, a specialised co-processor for graphics, used for other computations as well, is typically available and contains up to 4096 computing cores operating in parallel. Understanding the performance in this context becomes particularly difficult.   We are therefore developing, in collaboration with industry, free software tracing, profiling and debugging tools for distributed parallel applications. Those tools collect informations about all the important events occurring during the execution of requests. These informations are then analysed in order to compute how the time is spent among the different functions within the software and the execution units in the hardware, to show histograms comparing the different requests, to compute the critical path, and to identify bottlenecks.
Expertise type(s) (NSERC subjects)
  • 2701 Computer hardware
  • 2704 Distributed and parallel processing
  • 2705 Software and development
  • 2713 Algorithms
  • 2719 Computer architecture and design
  • 2720 Computer systems software

Publications

Recent publications
Journal article
Beamonte, R., Ezzati-Jivan, N. & Dagenais, M.R. (2021). Automated Generation of Model-Based Constraints for Common Multi-core and Real-Time Applications Using Execution Tracing. International Journal of Parallel Programming, 31 pages. Retrieved from https://doi.org/10.1007/s10766-020-00689-5
Journal article
Naert, P., Azhari, S.V. & Dagenais, M. (2021). Interactive and targeted runtime verification using a debugger-based architecture. Journal of Systems Architecture, 115, 10 pages. Retrieved from https://doi.org/10.1016/j.sysarc.2021.102001
Conference paper
Rodrigues, I.M., Aloise, D., Fernandes, E.R. & Dagenais, M. (2020). A Soft Alignment Model for Bug Deduplication. Paper presented at the 17th IEEE/ACM International Conference on Mining Software Repositories (MSR 2020) (pp. 43-53). Retrieved from https://doi.org/10.1145/3379597.3387470
Conference paper
Bationo, Y.J., Ezzati-Jivan, N., Galea, E. & Dagenais, M.R. (2020). Cloud Platform Performance Evaluation Using Multi-level Execution Tracing. Paper presented at the 2020 IEEE Congress on Cybermatics - 13th IEEE International Conferences on Internet of Things (iThings 2020), 16th IEEE International Conference on Green Computing and Communications (GreenCom 2020), 13th IEEE International Conference on Cyber, Physical and Social Computing (CPSCom 2020) and 6th IEEE International Conference on Smart Data (SmartData 2020), Rhodes Island, Greece (pp. 294-299). Retrieved from https://doi.org/10.1109/iThings-GreenCom-CPSCom-SmartData-Cybermatics50389.2020.00063

Teaching

Parallel computing (OpenMP, OpenCL, MPI) INF8601

Distributed Systems and Cloud Computing INF8480

Supervision at Polytechnique

COMPLETED

  • Ph.D. Thesis (12)

    • 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 (Ph.D. Thesis, Polytechnique Montréal). Retrieved from https://publications.polymtl.ca/3847/
    • Nemati, H. (2019). Virtual Machine Flow Analysis Using Host Kernel Tracing (Ph.D. Thesis, Polytechnique Montréal). Retrieved from https://publications.polymtl.ca/3902/
    • Abusitta, A. (2018). Theoretical and Applied Foundations for Intrusion Detection in Single and Federated Clouds (Ph.D. Thesis, École Polytechnique de Montréal). Retrieved from https://publications.polymtl.ca/3714/
    • Sharma, S.D. (2017). Low-impact system performance analysis using hardware assisted tracing techniques (Ph.D. Thesis, École Polytechnique de Montréal). Retrieved from https://publications.polymtl.ca/2485/
    • Beamonte, R. (2016). Runtime Verification of Real-Time Applications Using Trace Data and Model Requirements (Ph.D. Thesis, École Polytechnique de Montréal). Retrieved from https://publications.polymtl.ca/2363/
    • Desfossez, J. (2016). Mesure et analyse de latences dans les systèmes parallèles en temps réel (Ph.D. Thesis, École Polytechnique de Montréal). Retrieved from https://publications.polymtl.ca/2283/
    • Giraldeau, F. (2015). Analyse de performance de systèmes distribués et hétérogènes à l'aide de traçage noyau (Ph.D. Thesis, École Polytechnique de Montréal). Retrieved from https://publications.polymtl.ca/1940/
    • Ezzati Jivan, N. (2014). Multi-Level Trace Abstraction, Linking and Display (Ph.D. Thesis, École Polytechnique de Montréal). Retrieved from https://publications.polymtl.ca/1402
    • Jabbarifar, M. (2013). On Line Trace Synchronization for Large Scale Distributed Systems (Ph.D. Thesis, École Polytechnique de Montréal). Retrieved from https://publications.polymtl.ca/1312
    • Shameli Sendi, A. (2013). System Health Monitoring and Proactive Response Activation (Ph.D. Thesis, École Polytechnique de Montréal). Retrieved from https://publications.polymtl.ca/1102
    • Desnoyers, M. (2009). Low-impact operating system tracing (Ph.D. Thesis, École Polytechnique de Montréal). Retrieved from https://publications.polymtl.ca/206
    • Poirier, B. (2002). Reconnaissance de la structure d'un document extrait de sa représentation graphique (Ph.D. Thesis, École Polytechnique de Montréal).
  • Master's Thesis (48)

    • Balboul, A. (2020). Points de trace rapides et efficaces par injection adaptative de sauts en x86 (Master's Thesis, Polytechnique Montréal). Retrieved from https://publications.polymtl.ca/5271/
    • Fiorini, A. (2020). Traçage et profilage de systèmes hétérogènes (Master's Thesis, Polytechnique Montréal). Retrieved from https://publications.polymtl.ca/5397/
    • Naert, P. (2020). Vérification dynamique ciblée et interactive de programmes grâce à une architecture modulaire (Master's Thesis, Polytechnique Montréal). Retrieved from https://publications.polymtl.ca/5280/
    • Champagne, G. (2019). Outils d'analyse de performance de systèmes d'exploitation avec partitionnement spatial et temporel (Master's Thesis, Polytechnique Montréal). Retrieved from https://publications.polymtl.ca/4014/
    • Gelle, L. (2019). Traçage noyau et distribué d'applications réparties pour l'analyse de la performance (Master's Thesis, Polytechnique Montréal). Retrieved from https://publications.polymtl.ca/3996/
    • Rezazadeh, M. (2019). Performance Analysis of Complex Multi-Thread Applications Through Critical Path Analysis (Master's Thesis, Polytechnique Montréal). Retrieved from https://publications.polymtl.ca/4094/
    • Benbachir, A. (2018). Surveillance et analyse de machine virtuelle assistée par l'hôte (Master's Thesis, École Polytechnique de Montréal). Retrieved from https://publications.polymtl.ca/3110/
    • Chen Kuang Piao, Y. (2018). Nouvelle architecture pour les environnements de développement intégré et traçage de logiciel (Master's Thesis, École Polytechnique de Montréal). Retrieved from https://publications.polymtl.ca/3282/
    • Gassais, R. (2018). Détection d'intrusion sur les objets connectés par analyse comportementale (Master's Thesis, École Polytechnique de Montréal). Retrieved from https://publications.polymtl.ca/3209/
    • Harper-Cyr, C. (2018). Points de trace rapides et flexibles en X86 (Master's Thesis, École Polytechnique de Montréal). Retrieved from https://publications.polymtl.ca/3736/
    • Martin, M. (2018). Analyse détaillée de trace en dépit d'événements manquants (Master's Thesis, École Polytechnique de Montréal). Retrieved from https://publications.polymtl.ca/3248/
    • Zins, P. (2018). Traçage et profilage d'applications d'apprentissage automatique de type flot de données utilisant un processeur graphique (Master's Thesis, École Polytechnique de Montréal). Retrieved from https://publications.polymtl.ca/3242/
    • De Melo Junior, I.F. (2017). Software Tracing Comparison Using Data Mining Techniques (Master's Thesis, École Polytechnique de Montréal). Retrieved from https://publications.polymtl.ca/2733/
    • Margheritta, P. (2017). Traçage logiciel d'applications utilisant un processeur graphique (Master's Thesis, École Polytechnique de Montréal). Retrieved from https://publications.polymtl.ca/2838/
    • Nadeau, D. (2017). Débogage à large échelle sur des systèmes hétérogènes parallèles (Master's Thesis, École Polytechnique de Montréal). Retrieved from https://publications.polymtl.ca/2712/
    • Prieur-Drevon, L. (2017). Structures de données hautement extensibles pour le stockage sur disque de séries temporelles hétérogènes (Master's Thesis, École Polytechnique de Montréal). Retrieved from https://publications.polymtl.ca/2489/
    • Bationo, Y.J. (2016). Analyse de performance des plateformes infonuagiques (Master's Thesis, École Polytechnique de Montréal). Retrieved from https://publications.polymtl.ca/2367/
    • Bertauld, T. (2016). Traçage de systèmes embarqués hétérogènes (Master's Thesis, École Polytechnique de Montréal). Retrieved from https://publications.polymtl.ca/2244/
    • Biancheri, C. (2016). Analyse de l'exécution de systèmes virtualisés multiniveaux (Master's Thesis, École Polytechnique de Montréal). Retrieved from https://publications.polymtl.ca/2209/
    • Côté, M. (2015). Détection de problèmes dans les systèmes temps réel par l'analyse de traces (Master's Thesis, École Polytechnique de Montréal). Retrieved from https://publications.polymtl.ca/1917/
    • Couturier, D. (2015). Traçage de logiciels bénéficiant d'accélération graphique (Master's Thesis, École Polytechnique de Montréal). Retrieved from https://publications.polymtl.ca/1736/
    • Delisle, S. (2015). Conception d'un outil de modélisation intégré pour l'indexation et l'analyse de trace (Master's Thesis, École Polytechnique de Montréal). Retrieved from https://publications.polymtl.ca/2035/
    • Kouamé, K.G. (2015). Langage dédié et analyse automatisée pour la détection de patrons au sein de traces d'exécution (Master's Thesis, École Polytechnique de Montréal). Retrieved from https://publications.polymtl.ca/1900/
    • Pierre Doray, F. (2015). Analyse de variations de performance par comparaison de traces d'exécution (Master's Thesis, École Polytechnique de Montréal). Retrieved from https://publications.polymtl.ca/1861/
    • Reumont-Locke, F. (2015). Méthodes efficaces de parallélisation de l'analyse de traces noyau (Master's Thesis, École Polytechnique de Montréal). Retrieved from https://publications.polymtl.ca/1899/
    • Gebai, M. (2014). Surveillance de l'exécution et analyse de préemption entre machines virtuelles (Master's Thesis, École Polytechnique de Montréal). Retrieved from https://publications.polymtl.ca/1443
    • Marchi, S. (2014). Débogage et traçage de processeurs à grand nombre de coeurs (Master's Thesis, École Polytechnique de Montréal). Retrieved from https://publications.polymtl.ca/1416
    • Rajotte, F. (2014). Analyse de systèmes temps-réel par traçage (Master's Thesis, École Polytechnique de Montréal). Retrieved from https://publications.polymtl.ca/1388
    • Vergé, A. (2014). Traçage logiciel assisté par matériel (Master's Thesis, École Polytechnique de Montréal). Retrieved from https://publications.polymtl.ca/1360
    • Wininger, F. (2014). Conception flexible d'analyses issues d'une trace système (Master's Thesis, École Polytechnique de Montréal). Retrieved from https://publications.polymtl.ca/1359
    • Beamonte, R. (2013). Traçage de systèmes linux multi-coeurs en temps réel (Master's Thesis, École Polytechnique de Montréal). Retrieved from https://publications.polymtl.ca/1173
    • Fahem, R. (2012). Points de trace statiques et dynamiques en mode noyau (Master's Thesis, École Polytechnique de Montréal). Retrieved from https://publications.polymtl.ca/849
    • Goulet, D. (2012). Unified Kernel/User-Space Efficient Linux Tracing Architecture (Master's Thesis, École Polytechnique de Montréal). Retrieved from https://publications.polymtl.ca/842
    • Desfossez, J. (2011). Résolution de problème par suivi de métriques dans les systèmes virtualisés (Master's Thesis, École Polytechnique de Montréal). Retrieved from https://publications.polymtl.ca/731
    • Montplaisir-Gonçalves, A. (2011). Stockage sur disque pour accès rapide d'attributs avec intervalles de temps (Master's Thesis, École Polytechnique de Montréal). Retrieved from https://publications.polymtl.ca/752
    • Poirier, B. (2010). Synchronisation de traces distribuées à l'aide d'événements de bas niveau (Master's Thesis, École Polytechnique de Montréal). Retrieved from https://publications.polymtl.ca/261
    • Fournier, P.-M. (2009). Analyse automatisée des causes de blocage de processus à partir d'une trace d'exécution (Master's Thesis, École Polytechnique de Montréal). Retrieved from https://publications.polymtl.ca/117
    • Matni, G. (2009). Detecting problematic execution patterns through automatic Kernel trace analysis (Master's Thesis, École Polytechnique de Montréal). Retrieved from https://publications.polymtl.ca/126
    • Heidari, P. (2007). Hypervisors and virtual systems tracing for performance analysis (Master's Thesis, École Polytechnique de Montréal).
    • Clément, É. (2006). Synchronisation de traces dans un réseau distribué (Master's Thesis, École Polytechnique de Montréal).
    • Grigoras, D. (2004). Outil d'analyse de performance d'applications par objets répartis (Master's Thesis, École Polytechnique de Montréal).
    • Marouani, H. (2004). Mesure de la précision des compteurs de cycle et horloges internes des ordinateurs (Master's Thesis, École Polytechnique de Montréal).
    • Thouvenin, G. (2002). Extraction des propriétés du code source pour l'annotation automatique (Master's Thesis, École Polytechnique de Montréal).
    • Hu, Y. (2001). C/C++ preprocessing directive analysis (Master's Thesis, École Polytechnique de Montréal).
    • Yaghmour, K. (2001). Analyse de performance et caractérisation de comportement à l'aide d'enregistrement d'événements noyau (Master's Thesis, École Polytechnique de Montréal).
    • Collin, J. (1997). Compilation par serveur persistant et génération rapide de code (Master's Thesis, École Polytechnique de Montréal).
    • Gagnon, M. (1997). Linéarisation de document hypertexte (Master's Thesis, École Polytechnique de Montréal).
    • Fu, L. (1995). Mise en forme incrémentale de documents complexes (Master's Thesis, École Polytechnique de Montréal).

News about Michel Dagenais

NEWS | February 25, 2021
NSERC Alliance Grants: Polytechnique Montréal ranks first, winning 24% of all funds awarded to Québec universities | Read

Press review about Michel Dagenais

June 8, 2020, Le Devoir, Il ne faut pas prendre à la légère la sécurité des outils de recherche de contacts Lettre d'opinion signée par Nora Boulahia Cuppens, Frédéric Cuppens, Michel Dagenais, José Manuel Fernandez, Ettore Merlo et Gabriela Nicolescu, professeurs au Département de génie informatique et génie logiciel de Polytechnique Montréal.
February 19, 2019, La Presse +, On jette ? Non, on répare ! Dans cet article, Michel Dagenais, professeur titulaire au Département de génie informatique et génie logiciel de Polytechnique Montréal et participant réparateur à l'atelier de réparation Repair Café qui est organisé par le PolyFab Normand Brais et le Bureau du développement durable (Polytechnique Développement durable), commente la proposition de loi du Parlement européen qui vise à obliger les fabricants d’électroménagers à produire des appareils plus facilement réparables.
November 6, 2018, 98,5 FM, Réparer ses objets électroniques et petits électroménagers au lieu de les remplacer! Entrevue de Michel Dagenais, professeur titulaire au Département de génie informatique et génie logiciel de Polytechnique Montréal et cofondateur du Repair Café où il est également réparateur bénévole.
March 27, 2017, La Presse, Consommation: faut-il payer cher pour de la qualité ? « Ça fonctionne ou pas. Des câbles de haute qualité avec contacts en or, c'est une arnaque totale. » Propos de Michel Dagenais, professeur titulaire au Département de génie informatique et génie logiciel de Polytechnique Montréal.
October 13, 2015, La Presse Affaires, Au service du monde de demain. Propos de Daniel Thérriault, professeur de génie mécanique et de Michel Dagenais, professeur de génie informatique et génie logiciel à Polytechnique Montréal.
October 13, 2015, La Presse Affaires, Au service du monde de demain Propos de Daniel Thérriault, professeur de génie mécanique et de Michel Dagenais, professeur de génie informatique et génie logiciel à Polytechnique Montréal.​