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:
- UMRS (Unified Multimodal Requests Service) is an AI-driven workflow orchestration framework designed for scientific computing environments, enabling the integration of heterogeneous data sources, AI models, HPC resources, and scientific instruments within unified multimodal pipelines. Its goal is to support AI-assisted scientific discovery by coordinating distributed computation, multimodal data processing, and human-in-the-loop scientific workflows under real operational constraints.
- Serving LLM requests with deadline. The project develops a concurrency-aware scheduling and admission-control framework for serving Large Language Models (LLMs) under deadline constraints on GPU clusters. It combines runtime prediction, KV-cache-aware resource management, and advanced scheduling policies to maximize throughput and deadline satisfaction while avoiding GPU memory overload and unstable execution. In addition to RIKEN this was done in collaboration with Bogdan Nicolae and Avinash Kumar Maurya from Argonne National Lab.
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:
- Richard Sartori (2021-2024), PhD: Automatic tuning of MPI launch-time parameters.
- Clément Gavoille (2021-2024), PhD: Performance projection on ARM architecture.
- Clément Barthélemy (2021-2024): Design and conception of the Admire Intelligent Controller.
- Philippe Swartvagher (2019-2022), PhD: System support for large-scale high-performance communication, with Alexandre Denis.
- Adrien Guilbaud (2018-2021), Engineer: task-based software stack optimisation.
- Florian Reynier (2019-2022), PhD: task-based communication progression. In collaboration with CEA DAM (Julien Jeagger), and Alexandre Denis.
- Nicolas Vidal (2018-2022), PhD: I/O scheduling. Theoretical multicriteria algorithms. Storage coordination. Collaboration with University Carlos III de Madrid (Jesus Carretero and David Singh).
- Benjamin Lorendeau (2015-2019), PhD: with EDF (Yvan Fournier) we worked on optimizing Code Saturne for new generation computers, especially taking into account topology and memory constraints.
- Hugo Taboada (2015-2018), PhD: Cross-layer thread placement in MPC. In collaboration with CEA DAM (Marc Perrache, Julien Jeagger), and Alexandre Denis. The goal is to take into account the role of the threads in an application to schedule and map them according to its role (progress thread vs. computation thread vs. OpenMP thread).
- Nicolas Denoyelle (2015-2018), PhD: New memory model and performance modeling. With Brice Goglin, Guillaume Papaure (ATOS/Bull). We work on new abstractions and models for memory systems of modern architectures (KNL-like). We also work on performance monitoring of parallel and multithreaded applications.
- Farouk Mansouri (2015-2017), Postdoc: Research project about implementing parallelism of image processing applications on clusters of multi-cores based on the ORWL model, with Jens Gustedt.
- Thomas Ropars (2014-2015), Postdoc: Affinity management of multithreaded applications.
- François Tessier (2011-2014), PhD: Topology-aware process placement and load-balancing.
- Paul-Antoine Arras (2011-2014), PhD: Flexible Runtime for System on Chip. The goal is to define a programming model and to design a runtime system for programming and executing applications on the P2012 SoC prototype of STMicroelectronics.
- Louis-Claude Canon (2007-2010), PhD: Scheduling under uncertainty.
- Frédéric Wagner (2002-2005), PhD: data redistribution.
- Yves Caniou (2001-2004), PhD: meta-computing scheduling.
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.