Répertoire des expertises
Retour aux résultats de recherche

Intérêts de recherche et affiliations

Intérêts de recherche
  • 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.

Type(s) d'expertises (sujets CRSNG)
  • 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

Publications récentes
Article de revue
Bedard, C., Lajoie, P.-Y., Beltrame, G. & Dagenais, M. (2023). Message flow analysis with complex causal links for distributed ROS 2 systems. Robotics and Autonomous Systems, 161, 12 pages. Tiré de https://doi.org/10.1016/j.robot.2022.104361
Article de revue
Belkhiri, A., Pepin, M., Bly, M. & Dagenais, M. (2023). Performance analysis of DPDK-based applications through tracing. Journal of Parallel and Distributed Computing, 173, 19 pages. Tiré de https://doi.org/10.1016/j.jpdc.2022.10.012
Article de revue
Kohyarnejadfard, I., Aloise, D., Azhari, S.V. & Dagenais, M.R. (2022). Anomaly detection in microservice environments using distributed tracing data analysis and NLP. Journal of Cloud Computing, 11(1), 16 pages. Tiré de https://doi.org/10.1186/s13677-022-00296-4
Article de revue
Nemati, H., Tetreault, F., Puncher, J. & Dagenais, M.R. (2022). Critical Path Analysis through Hierarchical Distributed Virtualized Environments using Host Kernel Tracing. IEEE Transactions on Cloud Computing, 10(2), 774-791. Tiré de https://doi.org/10.1109/TCC.2019.2953258

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 (15)

    • Kohyarnejadfard, I. (2022). System Performance Anomaly Detection using Tracing Data Analysis (Thèse de doctorat, Polytechnique Montréal). Tiré de https://publications.polymtl.ca/10281/
    • Muller Rodrigues, I. (2022). Algorithms and Learning Models for Bug Report Deduplication (Thèse de doctorat, Polytechnique Montréal). Tiré de https://publications.polymtl.ca/10297/
    • Belkhiri, A. (2021). Analyse de performances des réseaux programmables, à partir d'une trace d'exécution (Thèse de doctorat, Polytechnique Montréal). Tiré de https://publications.polymtl.ca/9988/
    • 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). Tiré de https://publications.polymtl.ca/3847/
    • Nemati, H. (2019). Virtual Machine Flow Analysis Using Host Kernel Tracing (Thèse de doctorat, Polytechnique Montréal). Tiré de https://publications.polymtl.ca/3902/
    • Abusitta, A. (2018). Theoretical and Applied Foundations for Intrusion Detection in Single and Federated Clouds (Thèse de doctorat, École Polytechnique de Montréal). Tiré de https://publications.polymtl.ca/3714/
    • Sharma, S.D. (2017). Low-impact system performance analysis using hardware assisted tracing techniques (Thèse de doctorat, École Polytechnique de Montréal). Tiré de https://publications.polymtl.ca/2485/
    • Beamonte, R. (2016). Runtime Verification of Real-Time Applications Using Trace Data and Model Requirements (Thèse de doctorat, École Polytechnique de Montréal). Tiré de https://publications.polymtl.ca/2363/
    • 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). Tiré de 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 (Thèse de doctorat, École Polytechnique de Montréal). Tiré de https://publications.polymtl.ca/1940/
    • Ezzati Jivan, N. (2014). Multi-Level Trace Abstraction, Linking and Display (Thèse de doctorat, École Polytechnique de Montréal). Tiré de https://publications.polymtl.ca/1402
    • Jabbarifar, M. (2013). On Line Trace Synchronization for Large Scale Distributed Systems (Thèse de doctorat, École Polytechnique de Montréal). Tiré de https://publications.polymtl.ca/1312
    • Shameli Sendi, A. (2013). System Health Monitoring and Proactive Response Activation (Thèse de doctorat, École Polytechnique de Montréal). Tiré de https://publications.polymtl.ca/1102
    • Desnoyers, M. (2009). Low-impact operating system tracing (Thèse de doctorat, École Polytechnique de Montréal). Tiré de https://publications.polymtl.ca/206
    • 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).
  • Mémoire de maîtrise (51)

    • Bourque Bédard, C. (2022). Message Flow Analysis for Distributed Real-Time Control Systems (Mémoire de maîtrise, Polytechnique Montréal). Tiré de https://publications.polymtl.ca/10366/
    • Tran, Q.-H. (2022). Architecture pour les analyses distribuées et parallèles de traces logicielles (Mémoire de maîtrise, Polytechnique Montréal). Tiré de https://publications.polymtl.ca/10481/
    • 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). Tiré de https://publications.polymtl.ca/9990/
    • Balboul, A. (2020). Points de trace rapides et efficaces par injection adaptative de sauts en x86 (Mémoire de maîtrise, Polytechnique Montréal). Tiré de https://publications.polymtl.ca/5271/
    • Fiorini, A. (2020). Traçage et profilage de systèmes hétérogènes (Mémoire de maîtrise, Polytechnique Montréal). Tiré de https://publications.polymtl.ca/5397/
    • 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). Tiré de https://publications.polymtl.ca/5280/
    • 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). Tiré de https://publications.polymtl.ca/4014/
    • 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). Tiré de https://publications.polymtl.ca/3996/
    • Rezazadeh, M. (2019). Performance Analysis of Complex Multi-Thread Applications Through Critical Path Analysis (Mémoire de maîtrise, Polytechnique Montréal). Tiré de https://publications.polymtl.ca/4094/
    • 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). Tiré de 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 (Mémoire de maîtrise, École Polytechnique de Montréal). Tiré de https://publications.polymtl.ca/3282/
    • 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). Tiré de https://publications.polymtl.ca/3209/
    • Harper-Cyr, C. (2018). Points de trace rapides et flexibles en X86 (Mémoire de maîtrise, École Polytechnique de Montréal). Tiré de https://publications.polymtl.ca/3736/
    • 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). Tiré de 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 (Mémoire de maîtrise, École Polytechnique de Montréal). Tiré de https://publications.polymtl.ca/3242/
    • De Melo Junior, I.F. (2017). Software Tracing Comparison Using Data Mining Techniques (Mémoire de maîtrise, École Polytechnique de Montréal). Tiré de https://publications.polymtl.ca/2733/
    • Margheritta, P. (2017). Traçage logiciel d'applications utilisant un processeur graphique (Mémoire de maîtrise, École Polytechnique de Montréal). Tiré de https://publications.polymtl.ca/2838/
    • 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). Tiré de 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 (Mémoire de maîtrise, École Polytechnique de Montréal). Tiré de https://publications.polymtl.ca/2489/
    • Bationo, Y.J. (2016). Analyse de performance des plateformes infonuagiques (Mémoire de maîtrise, École Polytechnique de Montréal). Tiré de https://publications.polymtl.ca/2367/
    • Bertauld, T. (2016). Traçage de systèmes embarqués hétérogènes (Mémoire de maîtrise, École Polytechnique de Montréal). Tiré de https://publications.polymtl.ca/2244/
    • Biancheri, C. (2016). Analyse de l'exécution de systèmes virtualisés multiniveaux (Mémoire de maîtrise, École Polytechnique de Montréal). Tiré de 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 (Mémoire de maîtrise, École Polytechnique de Montréal). Tiré de https://publications.polymtl.ca/1917/
    • 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). Tiré de 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 (Mémoire de maîtrise, École Polytechnique de Montréal). Tiré de 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 (Mémoire de maîtrise, École Polytechnique de Montréal). Tiré de https://publications.polymtl.ca/1900/
    • 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). Tiré de https://publications.polymtl.ca/1861/
    • 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). Tiré de https://publications.polymtl.ca/1899/
    • 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). Tiré de https://publications.polymtl.ca/1443
    • Marchi, S. (2014). Débogage et traçage de processeurs à grand nombre de coeurs (Mémoire de maîtrise, École Polytechnique de Montréal). Tiré de https://publications.polymtl.ca/1416
    • Rajotte, F. (2014). Analyse de systèmes temps-réel par traçage (Mémoire de maîtrise, École Polytechnique de Montréal). Tiré de https://publications.polymtl.ca/1388
    • Vergé, A. (2014). Traçage logiciel assisté par matériel (Mémoire de maîtrise, École Polytechnique de Montréal). Tiré de https://publications.polymtl.ca/1360
    • Wininger, F. (2014). Conception flexible d'analyses issues d'une trace système (Mémoire de maîtrise, École Polytechnique de Montréal). Tiré de https://publications.polymtl.ca/1359
    • 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). Tiré de https://publications.polymtl.ca/1173
    • Fahem, R. (2012). Points de trace statiques et dynamiques en mode noyau (Mémoire de maîtrise, École Polytechnique de Montréal). Tiré de https://publications.polymtl.ca/849
    • Goulet, D. (2012). Unified Kernel/User-Space Efficient Linux Tracing Architecture (Mémoire de maîtrise, École Polytechnique de Montréal). Tiré de https://publications.polymtl.ca/842
    • 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). Tiré de https://publications.polymtl.ca/731
    • 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). Tiré de https://publications.polymtl.ca/752
    • 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). Tiré de 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 (Mémoire de maîtrise, École Polytechnique de Montréal). Tiré de https://publications.polymtl.ca/117
    • Matni, G. (2009). Detecting problematic execution patterns through automatic Kernel trace analysis (Mémoire de maîtrise, École Polytechnique de Montréal). Tiré de https://publications.polymtl.ca/126
    • 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

NOUVELLES | 25 février 2021
Subventions Alliance du CRSNG: Polytechnique Montréal au premier rang avec 24% des subventions octroyées aux universités québécoises | Lire
NOUVELLES | 30 avril 2018
Recherche et innovation en aérospatiale : des professeurs de Polytechnique Montréal impliqués dans trois projets de démonstration technologique | Lire

Revue de presse concernant Michel Dagenais

3 août 2022, Journal Métro, Voici pourquoi plusieurs pensent qu'ArriveCan doit être retirée Le professeur titulaire en génie logiciel à Polytechnique, Michel Dagenais, partage son expertise sur les coûts associés à la création de l'application ArriveCan.
1 juillet 2020, Huffpost, Lutter contre les changements climatiques, un courriel (de moins) à la fois Les explications de Michel Dagenais, professeur titulaire au Département de génie informatique et génie logiciel de Polytechnique Montréal.
8 juin 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.
19 février 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.
6 novembre 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.
27 mars 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.
13 octobre 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.
13 octobre 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.​