Abstract
Two implementations of an adaptive, wait-free, and long-lived renaming task in the read/write shared memory model are presented. Implementations of long-lived and adaptive objects were previously known only in the much stronger model of load-linked and store-conditional (i.e., read-modify-write) shared memory. In read/write shared-memory only one-shot adaptive objects are known. Presented here are two algorithms that assign a new unique id in the range 1,···, O(k2) to any process whose initial unique name is taken from a set of size N, for an arbitrary N and where k is the number of processors that actually take steps or hold a name while the new name is being acquired. The step complexity of acquiring a new name is respectively O(k2) and O(k2 logk), while the step complexity of releasing a name is 1. The main differences between the two algorithms are in the precise definition of adaptiveness, and in their space complexity. The first algorithm adapts to the interval contention of an operation while requiring a bounded amount of space. The second algorithm adapts to the point contention but requires an unbounded amount of space. The two algorithms use completely different techniques to achieve their goals.
Original language | English |
---|---|
Pages | 91-103 |
Number of pages | 13 |
DOIs | |
State | Published - 1999 |
Event | Proceedings of the 1999 18th Annual ACM Symposium on Principles of Distributed Computing (PODC), FCRC'99 - Atlanta, GA, USA Duration: 3 May 1999 → 6 May 1999 |
Conference
Conference | Proceedings of the 1999 18th Annual ACM Symposium on Principles of Distributed Computing (PODC), FCRC'99 |
---|---|
City | Atlanta, GA, USA |
Period | 3/05/99 → 6/05/99 |