To use the computational power of modern computing machines, we have to deal with concurrent programs. Writing efficient concurrent programs is notoriously difficult, primarily due to the need of harnessing synchronization costs. In this thesis, we focus on synchronization costs in parallel programs and concurrent data structures.First, we present a novel granularity control technique for parallel programs designed for the dynamic multithreading environment. Then in the context of concurrent data structures, we consider the notion of concurrency-optimality and propose the first implementation of a concurrency-optimal binary search tree that, intuitively, accepts a concurrent schedule if and only if the schedule is correct. Also, we propose ...
As introduced by Taubenfeld, a contention-sensitive implementation of a concurrent object is an impl...
We present an algorithmic method for the synthesis of concurrent programs that are optimal with resp...
Algorithms for concurrent data structure have gained attention in recent years as multi-core process...
Pour utiliser la puissance de calcul des ordinateurs modernes, nous devons écrire des programmes con...
A parallel batched data structure is designed to process synchronized batches of operations on the d...
The multicore revolution means that programmers have many cores at their disposal in everything from...
Parallelism plays a significant role in high-performance computing systems, from large clusters of c...
Modern concurrent programming benefits from a large variety of synchronization techniques. These inc...
A concurrent program is a composition of several logical blocks: the processes. Each process has its...
The proliferation of multicore processors is having an enormous impact on software design and develo...
Synchronization of concurrent threads is the central problem in order to design efficient concurrent...
Though a majority of current processor architectures relies on shared, cache-coherent memory, curren...
The increase in the number of cores in processors has been an important trend over the past decade. ...
We present an algorithmic method for the synthesis of concurrent programs that are optimal with resp...
AbstractThe design of concurrent data structures is greatly facilitated by the availability of synch...
As introduced by Taubenfeld, a contention-sensitive implementation of a concurrent object is an impl...
We present an algorithmic method for the synthesis of concurrent programs that are optimal with resp...
Algorithms for concurrent data structure have gained attention in recent years as multi-core process...
Pour utiliser la puissance de calcul des ordinateurs modernes, nous devons écrire des programmes con...
A parallel batched data structure is designed to process synchronized batches of operations on the d...
The multicore revolution means that programmers have many cores at their disposal in everything from...
Parallelism plays a significant role in high-performance computing systems, from large clusters of c...
Modern concurrent programming benefits from a large variety of synchronization techniques. These inc...
A concurrent program is a composition of several logical blocks: the processes. Each process has its...
The proliferation of multicore processors is having an enormous impact on software design and develo...
Synchronization of concurrent threads is the central problem in order to design efficient concurrent...
Though a majority of current processor architectures relies on shared, cache-coherent memory, curren...
The increase in the number of cores in processors has been an important trend over the past decade. ...
We present an algorithmic method for the synthesis of concurrent programs that are optimal with resp...
AbstractThe design of concurrent data structures is greatly facilitated by the availability of synch...
As introduced by Taubenfeld, a contention-sensitive implementation of a concurrent object is an impl...
We present an algorithmic method for the synthesis of concurrent programs that are optimal with resp...
Algorithms for concurrent data structure have gained attention in recent years as multi-core process...