2003 · 72 citations · 18 references
ComputingComputer ScienceComputer SystemsAlgorithmsDistributed SystemsParallel AlgorithmsDistributed ComputingDistributed Memory SystemsAdaptive AlgorithmsRenamingShared-memory AlgorithmsShared-memory ArchitectureSnapshot AlgorithmsWorst-case Complexity
A distributed algorithm is adaptive if the worst case step complexity of its operations is bounded by a function of the number of processes that are concurrently active during the operation (rather than a function of N, the total number of processes, which is usually much larger). We present long-lived and adaptive algorithms for collect in the read/write shared-memory model. Replacing the reads and writes in long-lived shared memory algorithms with our adaptive collect results in many cases in a corresponding long-lived algorithm which is adaptive. Examples of such applications, which are discussed are atomic-snapshots, and l-exclusion. Following the long-lived and adaptive collect we present a more pragmatic version of collect, called active set. This algorithm is slightly weaker than the collect but has several advantages. We employ this algorithm to transform algorithms, such as the Bakery algorithm, into their corresponding adaptive long-lived version, which is more efficient than the version that was obtained with the collect. Previously, long-lived and adaptive algorithms in this model were presented only for the renaming problem.
18
Maurice Herlihy · ACM Transactions on Programming Languages and Systems · 1991 · 1.8K citations · Full text
A fast mutual exclusion algorithm
Leslie Lamport · ACM Transactions on Computer Systems · 1987 · 487 citations · Full text
Atomic snapshots of shared memory
Yehuda Afek, Hagit Attiya, Danny Dolev et al. · Journal of the ACM · 1993 · 453 citations · Full text