Welcome to Loïc Cudennec Website

  • Kalray MPPA-256 Many-core Processor
  • Intel Itanium Processor
  • Tera 100 / TGCC / Curie
  • Smart Manufacturing
  • Adapteva Parallella 64 Many-core Processor
  • Christmann RECS 3 Micro-server

Short Selection

LearnToShare.

Research Prototype, L-GPL3, 2023.

Peer-to-peer (P2P) overlay, Remote procedure call (RPC) middleware and Distributed shared memory (DSM) testbed. Written in Python using ZeroMQ (0MQ). Applications to operational research and hyperparameters optimization extending the Optuna distributed layout.

DECOV: Artificial Intelligence-based tool for the COVID-19-lockdown measures liftings..

Industrial Prototype, L-GPL3, 2020.

DECOV is a software tool for helping political leaders to make the best decisions regarding the lifting of lockdown measures after the COVID-19 crisis. It uses different methods of Artificial Intelligence and Operational Research to search and optimize tradeoffs between sanitary and economy objectives. The project has been initiated by engineers of the French MoD Ministère des Armées and supported by the Agence de l'innovation de défense. As a state-based initiative, it does not seek to make a profit from the resulting project software.

EEProbe: Energy Efficient Probe for MPI.

Research Prototype, L-GPL3, 2019-2020.

Autonomous vehicles, smart manufacturing, heterogeneous systems and new high-performance embedded computing (HPEC) applications can benefit from the reuse of code coming from the high-performance computing world. However, unlike for HPC, energy efficiency is critical in embedded systems, especially when running on battery power. Code base from HPC mostly relies on the MPI message passing runtime to deal with distributed systems. MPI has been designed primarily for performance and not for energy efficiency. One drawback is the way messages are received, in an energy-consuming busy-wait fashion. In this work we study a simple approach in which receiving processes are put to sleep instead of constantly polling. We implement this strategy at the user level to be transparent to the MPI runtime and the application.

Software-Distributed Shared Memory (S-DSM).

Research Prototype, 2013-2019.

The Software-Distributed Shared Memory (S-DSM) interfaces user applications relying on the shared memory programming model to a given hardware architecture in which physical memories can be distributed. With this system, the application is written as a set of threads/tasks from which it is possible to allocate and access shared data. An event-based publish-subscribe programming model is also proposed, merged with the shared memory model. In this project I have designed and implemented a full software-distributed shared memory (S-DSM) on top of a message passing runtime. The runtime is able to deploy several coherence protocols at the same time. This S-DSM has been deployed over the Christmann RECS3 heterogeneous micro-server (Intel i7 and ARM Cortex processors), running several parallel applications.

CEA Sigma-C Compilation Toolchain / Kalray MPPA AccessCore IDE.

Industrial Software, 2009-2012.

The Sigma-C dataflow programming language has been introduced to ease the development of massively parallel and distributed architectures, with a focus on manycore processors. It has been designed by CEA LIST, in collaboration with the Kalray fabless company, and is now part of the MPPA AccessCore development toolkit. In this project I was part of the design and implementation of several steps of the Sigma-C compilation toolchain: parallelism instantiating and checking, parallelism reduction, system agent compilation for data reorganisation and memory access patterns, and large graph visualization. I was also in charge of the toolchain integration.

Co-Deployment and Re-Deployment of Distributed Applications over Computing Grids.

Research Prototype, L-GPL, 2007-2009.

CoRDAGe is a co-deployment and re-deployment tool for grid applications. It interfaces distributed applications with grid middlewares in charge of node reservation and deployment to bring dynamicity during the whole execution time. CoRDAGe is currently able to (re)deploy the JuxMem data sharing service using the OAR reservation tool and the ADAGE deployment tool. Interactions between grid applications and CoRDAGe are made thanks to the XML-RPC protocol specification. A set of specific actions have to be written in C++ following the CoRDAGe framework, to provide support for your applications.

Tree Automata Browsing Interface.

Research Prototype, L-GPL, 2003.

TABI is a Tree Automata Browsing Interface for visual automata inspection. This tool permits to build interactively and graphically some representatives of the language recognized by a tree automaton.