Modern concurrent programming benefits from a large variety of synchronization techniques. These include conventional pessimistic locking, as well as optimistic techniques based on conditional synchronization primitives or transactional memory. Yet, it is unclear which of these approaches better leverage the concurrency inherent to multi-cores. In this paper, we compare the level of concurrency one can obtain by converting a sequential program into a concurrent one using optimistic or pessimistic techniques. To establish fair com-parison of such implementations, we introduce a new correctness criterion for concurrent programs, defined independently of the synchronization techniques they use. We treat a program’s concurrency as its ability t...
Various concurrency control algorithms differ in the time when conflicts are detected, and in the wa...
Synchronization, consistency and scalability are important issues in the design of concurrent comput...
In this thesis, we investigate some of the options programmers have when writing a concurrent progra...
Concurrency control in modern programming languages is typically managed using mechanisms based on m...
Optimism is a powerful technique for increasing concurrency. To date, use of optimism has been restr...
International audienceMulticore applications require highly concurrent data structures. Yet, the ver...
The recent development of multi-core computer architectures has largely affected the creation of eve...
The authors consider that, in spite of their advantage in removing the overhead of lock maintenance ...
In this paper, we propose a new class of Concurrency Control Algorithms that is especially suited fo...
Multicore architectures are an inflection point in mainstream software development because they forc...
There is a broad design space for concurrent computer processors: they can be optimized for low powe...
The multicore revolution means that programmers have many cores at their disposal in everything from...
This document is presented in fulfilment of the degree of \emph{Habilitation \`{a} Diriger des Reche...
The promise of software transactional memory (STM) is to combine an easy-to-use pro-gramming interfa...
To use the computational power of modern computing machines, we have to deal with concurrent program...
Various concurrency control algorithms differ in the time when conflicts are detected, and in the wa...
Synchronization, consistency and scalability are important issues in the design of concurrent comput...
In this thesis, we investigate some of the options programmers have when writing a concurrent progra...
Concurrency control in modern programming languages is typically managed using mechanisms based on m...
Optimism is a powerful technique for increasing concurrency. To date, use of optimism has been restr...
International audienceMulticore applications require highly concurrent data structures. Yet, the ver...
The recent development of multi-core computer architectures has largely affected the creation of eve...
The authors consider that, in spite of their advantage in removing the overhead of lock maintenance ...
In this paper, we propose a new class of Concurrency Control Algorithms that is especially suited fo...
Multicore architectures are an inflection point in mainstream software development because they forc...
There is a broad design space for concurrent computer processors: they can be optimized for low powe...
The multicore revolution means that programmers have many cores at their disposal in everything from...
This document is presented in fulfilment of the degree of \emph{Habilitation \`{a} Diriger des Reche...
The promise of software transactional memory (STM) is to combine an easy-to-use pro-gramming interfa...
To use the computational power of modern computing machines, we have to deal with concurrent program...
Various concurrency control algorithms differ in the time when conflicts are detected, and in the wa...
Synchronization, consistency and scalability are important issues in the design of concurrent comput...
In this thesis, we investigate some of the options programmers have when writing a concurrent progra...