Abstract
We consider the problem of implementing atomic operations on multiple shared memory objects, in systems which directly support only single-object atomic operations. Our motivation is to design algorithms that exhibit both low contention between concurrent operations and a high level of concurrency, by disentangling long chains of conflicting operations. That is, operations that access widely disjoint parts of a data structure, or are widely separated in time, should not interfere with each other. The algorithm reported here extends and is based on the work of Attiya and Dagan [AD96], where a non-blocking solution is presented for two-object atomic operations. For any number, k, we present a wait-free solution for atomically accessing up to k objects. Notions of local contention and local step complexity are defined, and it is shown that the solution has low local contention and local step complexity. Relations between multi-objects and the familiar resource allocation problem are explored-the algorithm presented also provides a solution to the resource allocation problem.
Original language | English |
---|---|
Pages | 111-120 |
Number of pages | 10 |
State | Published - 1997 |
Externally published | Yes |
Event | Proceedings of the 1997 16th Annual ACM Symposium on Principles of Distributed Computing - Santa Barbara, CA, USA Duration: 21 Aug 1997 → 24 Aug 1997 |
Conference
Conference | Proceedings of the 1997 16th Annual ACM Symposium on Principles of Distributed Computing |
---|---|
City | Santa Barbara, CA, USA |
Period | 21/08/97 → 24/08/97 |