We introduce lock allocation, an automatic technique that takes a multi-threaded program annotated with atomic sections (that must be executed atomically), and infers a lock assignment from global variables to locks and a lock instrumentation that determines where each lock should be acquired and released such that the result-ing instrumented program is guaranteed to preserve atomicity and deadlock freedom (provided all shared state is accessed only within atomic sections). Our algorithm works in the presence of pointers and procedures, and sets up the lock allocation problem as a 0-1 ILP which minimizes the conflict cost between atomic sections while simultaneously minimizing the number of locks. We have imple-mented our algorithm for both...
Concurrent object-oriented programming languages coordinate conflicting memory accesses through lock...
Locks are a frequently used synchronisation mechanism in shared memory concurrent programs. They ar...
We present a new decision procedure for detecting property violations in pushdown models for concur...
Abstract We introduce lock allocation, an automatic technique that takes amulti-threaded program ann...
The choice of lock objects in concurrent programs can affect both performance and correctness, a bur...
Abstract. In this paper we propose a lock assignment technique to sim-plify the mutual exclusion enf...
One of the major productivity issues in parallel programming arises from the use of lock/unlock oper...
Atomic sections are a recent and popular idiom to support the development of concurrent programs. Up...
From the introduction to concurrency, we saw one of the fundamental problems in concurrent programmi...
One of the major performance and productivity issues in parallel programming arises from the use of ...
Atomicity is a technique that is important for concurrent applications because it can strongly guara...
With the introduction of multi-core CPUs, multi-threaded programming is becoming significantly more ...
The paper studies the impact of several lock manager designs on the overhead imposed to a persistent...
The movement to multi-core processors increases the need for simpler, more robust parallel programmi...
The performance of locking is critical, as programming languages with built-in thread support come i...
Concurrent object-oriented programming languages coordinate conflicting memory accesses through lock...
Locks are a frequently used synchronisation mechanism in shared memory concurrent programs. They ar...
We present a new decision procedure for detecting property violations in pushdown models for concur...
Abstract We introduce lock allocation, an automatic technique that takes amulti-threaded program ann...
The choice of lock objects in concurrent programs can affect both performance and correctness, a bur...
Abstract. In this paper we propose a lock assignment technique to sim-plify the mutual exclusion enf...
One of the major productivity issues in parallel programming arises from the use of lock/unlock oper...
Atomic sections are a recent and popular idiom to support the development of concurrent programs. Up...
From the introduction to concurrency, we saw one of the fundamental problems in concurrent programmi...
One of the major performance and productivity issues in parallel programming arises from the use of ...
Atomicity is a technique that is important for concurrent applications because it can strongly guara...
With the introduction of multi-core CPUs, multi-threaded programming is becoming significantly more ...
The paper studies the impact of several lock manager designs on the overhead imposed to a persistent...
The movement to multi-core processors increases the need for simpler, more robust parallel programmi...
The performance of locking is critical, as programming languages with built-in thread support come i...
Concurrent object-oriented programming languages coordinate conflicting memory accesses through lock...
Locks are a frequently used synchronisation mechanism in shared memory concurrent programs. They ar...
We present a new decision procedure for detecting property violations in pushdown models for concur...