Anonymous Processors with Synchronous Shared Memory
- LRM

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 parametrized by the number of processors and the number of shared memory cells. We consider the problem to assign a unique integer name from the interval [1,n] to each among the n 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 is allowed or it is not, (2) the number of shared variables is unlimited or it is a constant independent of n, and (3) the number of processors n is known or it is unknown. Our algorithms terminate almost surely, they are Las Vegas when n is known, they are Monte Carlo when n is unknown, and they always use the 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 do not produce duplicate names with probabilities that are 1-n^{-Omega(1)}, which is best possible when terminating almost surely and using O(n log n) random bits.
View on arXiv