Polytechnique > Research > Directory > A professor or researcher

Directory of Expertises

Photo of 
          Michel R.

Michel R. Dagenais

Department of Computer Engineering


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.

Research unit(s)

NSERC subjects

  • 2720 Computer systems software
  • 2705 Software and development
  • 2704 Distributed and parallel processing
  • 2701 Computer hardware
  • 2713 Algorithms
  • 2719 Computer architecture and design


© École Polytechnique de Montréal
Find Peoble or units | Site plan | Key word search | Conditions(*) this link leads to a section in french.