EN FR
EN FR


Section: New Results

Miscellaneous

  • A. Charguéraud worked together with Umut Acar, Mike Rainey, and Filip Sieczkowski, as part of the ERC project DeepSea, on the development of efficient data structures and algorithms targeting modern, shared memory multicore architectures. A. Charguéraud was involved in two major results obtained this year.

    The first result is the development of fast and robust parallel graph traversal algorithms based on depth-first-search. This algorithm leverages a new sequence data structure for representing the set of edges remaining to be visited. This sequence itself builds on prior work on bootstrapped chunked sequences  [35] . In particular, the edge sequence structure uses a balanced split operation for partitioning the edges of a graph among the several processors involved in the computation. Compared with prior work, the new algorithm is designed and proved to be efficient not just for particular classes of graphs, but for all input graphs. This work has been published in the ACM/IEEE Conference on High Performance Computing (SC) [20] .

    Another result by A. Charguéraud and his co-authors is the development of a calculus for parallel computing on shared memory computers. Many languages for writing parallel programs have been developed. These languages offer several different abstractions for parallelism, such as fork-join, async-finish, futures, etc. While they may seem similar, these abstractions lead to different semantics, language design and implementation decisions. In this work, we consider the question of whether it would be possible to unify different approaches to parallelism. To this end, we propose a calculus, called DAG-calculus that can encode existing approaches to parallelism based on fork-join, async-finish, and futures paradigms and possibly others. We have shown that the approach is realistic by presenting an implementation in C++ and by performing an empirical evaluation. This work has been submitted for publication.

  • A. Charguéraud developed a patch to the OCaml compiler for improving type error messages, in particular to make the language more accessible to beginners. The problem of improving type error messages in ML has received quite a bit of attention over the past two decades, and many different strategies have been considered. The challenge is not only to produce error messages that are both sufficiently concise and systematically useful to the programmer, but also to handle a full-blown programming language and to cope with large-sized programs efficiently. A. Charguéraud's novel approach consists of a slight modification to the traditional ML type inference algorithm implemented in OCaml that, by significantly reducing the left-to-right bias, produces error messages that are more helpful to the programmer. This work was published this year in the journal Electronic Proceedings in Theoretical Computer Science [15] .