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
Nemati, H., Tetreault, F., Puncher, J. & Dagenais, M.R. (2020). Critical Path Analysis through Hierarchical Distributed Virtualized Environments using Host Kernel Tracing. IEEE Transactions on Cloud Computing, 18 pages. Retrieved from https://doi.org/10.1109/TCC.2019.2953258
Journal article
Daoud, H. & Dagenais, M. (2020). Multilevel analysis of the java virtual machine based on kernel and userspace traces. Journal of Systems and Software, 167, 17 pages. Retrieved from https://doi.org/10.1016/j.jss.2020.110589
Journal article
Abusitta, A., Bellaiche, M., Dagenais, M. & Halabi, T. (2019). A deep learning approach for proactive multi-cloud cooperative intrusion detection system. Future Generation Computer Systems-the International Journal of Escience, 98, 308-318. Retrieved from https://doi.org/10.1016/j.future.2019.03.043
Conference paper
Fournier, Q., Ezzati-Jivan, N., Aloise, D. & Dagenais, M.R. (2019). Automatic cause detection of performance problems in web applications. Paper presented at the 30th IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW 2019), Berlin, Germany (pp. 398-405). Retrieved from https://doi.org/10.1109/ISSREW.2019.00102

Teaching

Parallel computing (OpenMP, OpenCL, MPI) INF8601

Distributed Systems and Cloud Computing INF8480

Supervision at Polytechnique

COMPLETED

  • Ph.D. Thesis (11)

    • 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/
    • 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 (44)

    • 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/
    • 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).

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.​