Internal Prototype, 2013-2017.
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. 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.
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.
Free Software, LGPL License, 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.
Free Software, LGPL License.
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.