Frédéric Dabrowski
University of Orléans
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Frédéric Dabrowski.
Future Generation Computer Systems | 2010
Louis Gesbert; Frédéric Gava; Frédéric Loulergue; Frédéric Dabrowski
Bulk Synchronous Parallel ML is a high-level language for programming parallel algorithms. Built upon OCaml and using the BSP model, it provides a safe setting for their implementation, avoiding concurrency related problems (deadlocks, indeterminism). Only a limited set of the features of OCaml can be used in BSML to respect its properties of safety: this paper describes a way to add exception handling to this set by extending and adapting OCamls exceptions. The behaviour of these new exceptions and the syntactic constructs to handle them, together with their implementation, are described in detail, and results over an example are given.
Distributed and Parallel Systems (DAPSYS 2006) | 2006
Louis Gesbert; Frédéric Gava; Frédéric Loulergue; Frédéric Dabrowski
Bulk Synchronous Parallel ML is a high-level language for programming parallel algorithms. Building upon OCaml and using the BSP model, it provides a safe setting for their implementation, avoiding concurrency related problems (deadlocks, indeterminism). Only a limited set of the features of OCaml can be used in BSML to respect its safety: this paper describes a way to add exception handling to this set by extending and adapting OCamls exceptions. The behaviour of these new exceptions and the syntactic constructs to handle them, together with their implementation, are described in detail, and results over an example are given.
parallel and distributed computing applications and technologies | 2013
Frédéric Dabrowski; Frédéric Loulergue; Thomas Pinsard
We consider a simple imperative language with fork/join parallelism and lexically scoped nested atomic sections from which threads can escape. In this context, our contribution is a formal operational semantics of this language that satisfies a specification on execution traces designed in a companion paper.
international conference on computational science | 2017
Arvid Jakobsson; Frédéric Dabrowski; Wadoud Bousdira; Frédéric Loulergue; Gaétan Hains
Abstract The BSP model (Bulk Synchronous Parallel) simplifies the construction and evaluation of parallel algorithms, with its simplified synchronization structure and cost model. Nevertheless, imperative BSP programs can suffer from synchronization errors. Programs with textually aligned barriers are free from such errors, and this structure eases program comprehension. We propose a simplified formalization of barrier inference as data flow analysis, which verifies statically whether an imperative BSP program has replicated synchronization, which is a sufficient condition for textual barrier alignment.
acm symposium on applied computing | 2014
Frédéric Dabrowski; Frédéric Loulergue; Thomas Pinsard
We consider a simple imperative language with fork/join parallelism and lexically scoped nested atomic sections from which threads can escape. In this context, our contribution is the precise definition of atomicity, well-synchronisation and the proof that the latter implies the strong form of the former. A formalisation of our results in the Coq proof assistant is also available.
acm symposium on applied computing | 2018
Frédéric Dabrowski
We propose a formal definition of the notion of textual alignment as is used in programming languages proposing spmd-like collective operations. We argue that this property provides an intuitive programming model that makes it easier to perform program analysis and program optimization. Here, textual alignment is studied in the context of the operational semantics of a basic imperative programming language. This language provides support for global synchronization barriers. The semantics records suitable information concerning the parallel execution flow of programs and identifies textually aligned code segments. We prove that our definition of textual alignment entails the absence of deadlocks.
acm symposium on applied computing | 2015
Frédéric Dabrowski; Frédéric Loulergue; Thomas Pinsard
For the sake of modularity, programming languages with atomic sections should offer nesting and inner parallelism in such sections. The possible escape of a thread created inside a section makes these languages also more expressive. In this paper we address the compilation of such a language towards a language with threads and locks. The design decisions of this compilation pass and of the target language were made with respect to the ultimate goal of a mechanised proof of semantic preservation.
Computer Languages, Systems & Structures | 2015
Frédéric Dabrowski; Frédéric Loulergue; Thomas Pinsard
The multi-core trend is widening the gap between programming languages and hardware. Taking parallelism into account in the programs is necessary to improve performance. Unfortunately, current mainstream programming languages fail to provide suitable abstractions to do so. The most common pattern relies on the use of mutexes to ensure mutual exclusion between concurrent accesses to a shared memory. However, this model is error-prone and scales poorly by lack of modularity. Recent research proposes atomic sections as an alternative. The user simply delimits portions of code that should be free from interference. The responsibility for ensuring interference freedom is left either to the compiler or to the run-time system.In order to provide enough modularity, it is necessary that both atomic sections could be nested and threads could be forked inside an atomic section. In this paper we focus on the semantics of programming languages providing these features. More precisely, without being tied to a specific programming language, we consider program traces satisfying some basic well-formedness conditions. Our main contribution is the precise definition of atomicity, well-synchronisation and the proof that the latter implies the strong form of the former. A formalisation of our results in the Coq proof assistant is described. HighlightsSemantics of languages with nested atomic sections and thread escape.A precise definition of atomicity and well-synchronisation on program traces.A mechanised proof that well-synchonisation implies strong atomicity.
International Journal of Computer and Information Science (IJCIS) | 2004
Frédéric Loulergue; Frédéric Gava; Myrto Arapinis; Frédéric Dabrowski
software engineering, artificial intelligence, networking and parallel/distributed computing | 2003
Myrto Arapinis; Frédéric Loulergue; Frédéric Gava; Frédéric Dabrowski