Anonymous and fault-tolerant shared-memory computing

The vast majority of papers on distributed computing assume that processes are assigned unique identifiers before computation begins. But is this assumption necessary? What if processes do not have unique identifiers or do not wish to divulge them for reasons of privacy? We consider asynchronous shared-memory systems that are anonymous. The shared memory contains only the most common type of shared objects, read/write registers. We investigate, for the first time, what can be implemented deterministically in this model when processes can fail. We give anonymous algorithms for some fundamental problems: time-stamping, snapshots and consensus. Our solutions to the first two are wait-free and the third is obstruction-free. We also show that a shared object has an obstruction-free implementation if and only if it satisfies a simple property called idempotence. To prove the sufficiency of this condition, we give a universal construction that implements any idempotent object.

[1]  Maurice Herlihy,et al.  The topological structure of asynchronous computability , 1999, JACM.

[2]  Ambuj K. Singh,et al.  Naming symmetric processes using shared variables , 2005, Distributed Computing.

[3]  Nir Shavit,et al.  Atomic snapshots of shared memory , 1990, JACM.

[4]  Rachid Guerraoui,et al.  What Can Be Implemented Anonymously? , 2005, DISC.

[5]  Sam Toueg,et al.  Wakeup under Read/Write Atomicity , 1990, WDAG.

[6]  Faith Ellen,et al.  Relationships between broadcast and shared memory in reliable anonymous distributed systems , 2004, Distributed Computing.

[7]  Ralph E. Johnson,et al.  Symmetry and similarity in distributed systems , 1985, PODC '85.

[8]  Marina Papatriantafilou,et al.  Randomized naming using wait-free shared variables , 1998, Distributed Computing.

[9]  Hannes Federrath,et al.  Anonymity and Unobservability in the Internet , 1999 .

[10]  Maurice Herlihy,et al.  Obstruction-free synchronization: double-ended queues as an example , 2003, 23rd International Conference on Distributed Computing Systems, 2003. Proceedings..

[11]  Maurice Herlihy,et al.  Wait-free synchronization , 1991, TOPL.

[12]  James Aspnes,et al.  Wait-free consensus with infinite arrivals , 2002, STOC '02.

[13]  Rachid Guerraoui,et al.  Computing with Reads and Writes in the Absence of Step Contention , 2005, DISC.

[14]  Tushar Deepak Chandra Polylog randomized wait-free consensus , 1996, PODC '96.

[15]  Maurice Herlihy,et al.  Linearizability: a correctness condition for concurrent objects , 1990, TOPL.

[16]  Hannes Federrath,et al.  Project “anonymity and unobservability in the Internet” , 2000, CFP '00.

[17]  Faith Ellen,et al.  The space complexity of unbounded timestamps , 2008, Distributed Computing.

[18]  Hagit Attiya,et al.  Computing in Totally Anonymous Asynchronous Shared Memory Systems , 1998, DISC.

[19]  Boaz Patt-Shamir,et al.  The Las-Vegas Processor Identity Problem (How and When to Be Unique) , 2000, J. Algorithms.

[20]  Shang-Hua Teng Space Efficient Processor Identity Protocol , 1990, Inf. Process. Lett..

[21]  Maurice Herlihy,et al.  Wait-free data structures in the asynchronous PRAM model , 1990, SPAA '90.

[22]  Eric Ruppert,et al.  The Anonymous Consensus Hierarchy and Naming Problems , 2007, OPODIS.

[23]  Gil Neiger,et al.  Set-linearizability , 1994, PODC '94.

[24]  Dana Angluin,et al.  Local and global properties in networks of processors (Extended Abstract) , 1980, STOC '80.

[25]  Alessandro Panconesi,et al.  On the importance of having an identity or, is consensus really universal? , 2005, Distributed Computing.

[26]  Michael K. Reiter,et al.  Crowds: anonymity for Web transactions , 1998, TSEC.

[27]  Stephen C. Bono,et al.  Mantis: A Lightweight, Server-Anonymity Preserving, Searchable P2P Network , 2004 .

[28]  Arvin Park,et al.  The Processor Identity Problem , 1990, Inf. Process. Lett..

[29]  Paul F. Syverson,et al.  Onion routing , 1999, CACM.

[30]  Faith Ellen,et al.  Time-space tradeoffs for implementations of snapshots , 2006, STOC '06.

[31]  James H. Anderson,et al.  Composite registers , 1990, PODC '90.

[32]  Rida A. Bazzi,et al.  Non-skipping Timestamps for Byzantine Data Storage Systems , 2004, DISC.

[33]  Michael J. Fischer,et al.  Computation in networks of passively mobile finite-state sensors , 2004, PODC '04.