Albert Cohen

Abstract - Semantics and Concurrent Data Structures for Dynamic Streaming Constructs.

Stream computing is often associated with regular, data-intensive applications, and more specifically with the family of cyclo-static data-flow models. The term has also refers to bulk-synchronous data parallelism overlapping computations and communications. Both interpretations are valid but incomplete: streams underline the formal definition of Kahn process networks for 4 decades, a foundation for a much more general class of deterministic concurrency in languages and systems with a solid heritage. Stream computing is a semantical framework for parallel languages and as a model for pipelined, task-parallel execution. Supporting research on parallel languages with dynamic, nested task creation and first-class streams, we are developing a generic stream-computing execution environment combining expressiveness, efficiency and strong correctness guarantees. In particular, we propose a new lock-free algorithm for stalling and waking-up tasks in a user-space scheduler according to changes in the state of the corresponding queues. The algorithm is portable and proven correct against the C11 weak memory model.

Short bio

Albert Cohen is a senior research scientist at INRIA and a part-time associate professor at École Polytechnique, Paris, France. He graduated from École Normale Supérieure de Lyon, and received his PhD from the University of Versailles in 1999 (awarded two national prizes). He has been a visiting scholar at the University of Illinois in 2000 and 2001, and an invited professor at Philips Research (then NXP Semiconductors), Eindhoven in 2006 and 2007. Albert Cohen works on optimizing compilers for high-performance and embedded systems, automatic parallelization, data-flow and synchronous programming. Several research projects initiated or led by Albert Cohen resulted in the transfer of advanced compilation techniques to production compilers.