Répertoire des expertises

Vous êtes ici

Retour aux résultats de recherche
Michel Dagenais
B.Ing. (Poly), Ph.D. (McGill)

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
Communication de conférence
Nemati, H., Sharma, S.D. & Dagenais, M.R. (2017). Fine-grained nested virtual machine performance analysis through first level hypervisor tracing. Communication présentée à 17th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGRID 2014), Madrid, Spain (p. 84-89). Tiré de https://doi.org/10.1109/CCGRID.2017.20
Article de revue
Verge, A., Ezzati-Jivan, N. & Dagenais, M.R. (2017). Hardware-assisted software event tracing. Concurrency and Computation: Practice and Experience, 29(10), 9 pages. Tiré de https://doi.org/10.1002/cpe.4069
Article de revue
Bertauld, T. & Dagenais, M.R. (2017). Low-level trace correlation on heterogeneous embedded systems. EURASIP Journal on Embedded Systems, 2017(1), 14 pages. Tiré de https://doi.org/10.1186/s13639-016-0067-1
Article de revue
Ezzati-Jivan, N. & Dagenais, M.R. (2017). Multi-scale navigation of large trace data: A survey. Concurrency and Computation: Practice & Experience, 29(10), 20 pages. Tiré de https://doi.org/10.1002/cpe.4068

Enseignement

Systèmes informatiques parallèles (OpenMP, OpenCL, MPI) INF8601

Systèmes répartis et infonuagique INF4410

Encadrement à Polytechnique

TERMINÉ

  • Thèse de doctorat (7)

    • 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 http://publications.polymtl.ca/2485/
    • 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 http://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 http://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 http://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 http://publications.polymtl.ca/1102
    • Desnoyers, M. (2009). Low-impact operating system tracing (Thèse de doctorat, École Polytechnique de Montréal). Tiré de http://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 (32)

    • 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 http://publications.polymtl.ca/2489/
    • 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 http://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 http://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 http://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 http://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 http://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 http://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 http://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 http://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 http://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 http://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 http://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 http://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 http://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 http://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 http://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 http://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 http://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 http://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 http://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 http://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 http://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).

Revue de presse concernant Michel Dagenais

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