An Efficient Long-Lived Adaptive Collect Algorithm [chapter]

Burkhard Englert
2005 Lecture Notes in Computer Science  
Adaptive algorithms, whose step complexity adjusts to the number of actually participating processors, are attractive in distributed systems where the number of processors is highly variable. Long-lived adaptive algorithms moreover enable processors to repeatedly execute operations "from scratch", allowing for stronger forms of adaptiveness. Shared memory collect can be implemented non adaptively with step and memory complexity O(N ). To date, the best known long-lived and adaptive shared
more » ... collect algorithm has worst case step complexity O(k 3 ) and requires O(N 3 ) shared memory registers where k is the interval contention of a collect operation and N the number of processors in the system. Hence, if the interval contention k rises above K such that K 3 >> N this algorithm becomes inefficient. In this paper, we present a new long-lived, efficient, adaptive collect algorithm. Namely, our algorithm adapts to K-contention -it has the property that if during an operation the interval contention k exceeds a predetermined constant K the step complexity is O(N ). If, it falls below K, the processors executions will eventually have adaptive step complexity of O(k 3 ). Moreover, for K such that K 3 ≤ N our algorithm requires only O(N 2 ) shared memory registers. Recently, a number of different adaptive collect algorithms were presented [5, 9, 10, 11, 12] . The algorithm pre-
doi:10.1007/11561927_48 fatcat:fgybjg7qjbh23lafy3qdzq6woy