Research

As a member of the TADaaM team at INRIA Bordeaux Sud-Ouest and the Satanas Team of the LaBRI, I am working on:

AI related research

From August 2024 to January 2026 I worked for DDN, in the Tokyo Japan Branch. I was embedded in the RIKEN R-CCS HPAIS team led by Mohamed Wahib. During that period I worked on several projects and among them:

Storage and I/O

With François Tessier and Guillaume Aupy, I work on the problem of modeling and scheduling I/O for HPC applications. The goal is to efficiently manage data access between the storage and the compute nodes. I am also advising Nicolas Vidal's PhD on scheduling I/O.

Placement of MPI processes on Multicore NUMA architecture

The problem consists in allocating MPI processes in order to minimize the communication cost based on the topology. With Jerome Clet-Ortega, François Tessier and Guillaume Mercier we look at fast and efficient algorithms that, based on the topology and the processes' communication pattern, allocate the process in the most efficient way. This work is also done in the framework of the Joint Laboratory for Extreme-Scale Computing.

Topology-aware load balancing

Programming multicore or manycore architectures is a hard challenge particularly if one wants to fully take advantage of their computing power. Moreover, a hierarchical topology implies that communication performance is heterogeneous and this characteristic should also be exploited. We developed two load balancers for Charm++ that take into account both aspects depending on whether the application is compute-bound or communication-bound. This work is based on our TreeMatch library that computes process placement in order to reduce an application's communication cost based on the hardware topology. We show that the proposed load-balancing scheme manages to improve the execution times for the two classes of parallel applications. This work is also done in the framework of the Joint Laboratory for Extreme-Scale Computing.

Optimizing non-blocking collective communications

Non-blocking collective communications require dedicating some resources to have them progress in the background in order to overlap computation and communication. Which resources do we need to allocate for communication progression, and when, is a central question that lies in the trade-off between computation and communication advancement. This is joint work with Alexandre Denis and the CEA.

TreeMatch/TopoMatch

The above problems are developed using our tool: TopoMatch (previously TreeMatch). MPI process placement can play a determining role concerning application performance. In this project we work on a novel algorithm called TreeMatch that maps processes to resources. We have used it for load balancing and process placement (see above) but we have also used it for malleability in the context of resilience (work with U. of A Coruna). Recently I worked on improving performance of GNN training on Fugaku.

Understanding affinity

Process and thread affinity is an abstraction that tells how two given computing entities should be placed on the resources. High affinity means that they should be mapped closer together. However, measuring the affinity of computing entities is not a trivial task. Communication matrices are often used but they show limitations. The goal of this work is to design new metrics and models to deeply understand the affinity concept.

Advisoring

I was the advisor of several PhD students, postdocs, or engineers:

From 2000 to 2009, at the LORIA and INRIA Nancy Grand-Est, I worked on the following problems:

Scheduling in heterogeneous environments

I was involved in research regarding scheduling tasks for heterogeneous platforms (different processor speeds, network links, and memory sizes). With Bertrand Cirou, I designed an algorithm called triplet that tries to adapt clustering techniques to the heterogeneous case.

I supervised the PhD of Yves Caniou, who worked on scheduling tasks on heterogeneous environments and especially on the grid. We designed several heuristics that use the history of already-scheduled tasks in order to choose the best server. We proposed a multi-criteria approach that aims to optimize several metrics at the same time (makespan, response-time, QoS, etc.).

I worked on scheduling under uncertainties, in particular scheduling stochastic workloads on heterogeneous environments. Joint work with Vandy Berten from Univ. Libre de Bruxelles. Moreover, I worked on scheduling with robustness or reliability constraints, where there is uncertainty in task duration or resource availability. In particular I supervised the PhD thesis of Louis-Claude Canon on this subject.

Data persistence and redistribution

During my postdoc I worked on designing and implementing data management in GridRPC systems. I focused my research on data persistence (how to tell data to stay on the computational server) and data redistribution (how to move data from one server to another).

I did research on data redistribution over a backbone between distant clusters, scheduling messages to optimize the use of the underlying network. This work was done in collaboration with Johanne Cohen, Nicolas Padoy and Frédéric Wagner, and was also part of the redGRID INRIA ARC project.

Recently I worked on decentralized collective communication strategies for MPI. In particular, with Luiz-Angelo Steffenel, we proposed a new algorithm for performing an efficient all-to-all on clusters of clusters.

Grid Computing / Metacomputing

I worked on resource management (scheduling, benchmarking, experiments, etc.) within the FP6 CoreGRID network of excellence.

I worked on emulating a grid platform within the GRID-Explorer project. With Marc Thierry, Louis-Claude Canon and Olivier Dubuisson, I designed a toolset for heterogenizing (downgrading) a homogeneous cluster called Wrekavoc. We later worked on validating this emulator by comparing the execution of applications on a real cluster and a cluster heterogenized by Wrekavoc.

Adaptive Online Compression

With Bjorn Knutsson and Mats Bjorkmann, I designed an algorithm for efficiently transmitting data across a network, using online and adaptive compression: compression is done dynamically and the algorithm automatically adapts the level of compression to the state of the resources. This algorithm was implemented in the AdOC library, available here.

Within the AGIR ACI data masses project, I worked on designing adaptive online compression for medical images, and studied how to perform adaptive lossy online compression of medical images using wavelet transforms.