44
2

Anonymous Processors with Synchronous Shared Memory

Abstract

We investigate anonymous processors computing in a synchronous manner and communicating via read-write shared memory. This system is known as a parallel random access machine (PRAM). It is parameterized by a number of processors~nn and a number of shared memory cells. We consider the problem of assigning unique integer names from the interval [1,n][1,n] to all nn processors of a PRAM. We develop algorithms for each of the eight specific cases determined by which of the following independent properties hold: (1) concurrently attempting to write distinct values into the same memory cell either is allowed or not, (2) the number of shared variables either is unlimited or it is a constant independent of nn, and (3) the number of processors~nn either is known or it is unknown. Our algorithms terminate almost surely, they are Las Vegas when nn is known, they are Monte Carlo when nn is unknown, and they always use the O(nlogn)O(n\log n) expected number of random bits. We show lower bounds on time, depending on whether the amounts of shared memory are constant or unlimited. In view of these lower bounds, all the Las Vegas algorithms we develop are asymptotically optimal with respect to their expected time, as determined by the available shared memory. Our Monte Carlo algorithms are correct with probabilities that are 1nΩ(1)1-n^{-\Omega(1)}, which is best possible when terminating almost surely and using O(nlogn)O(n\log n) random bits.

View on arXiv
Comments on this paper