Abstract
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.
Similar content being viewed by others
References
Afek Y., Attiya H., Dolev D., Gafni E., Merritt M. and Shavit N. (1993). Atomic snapshots of shared memory. J. ACM 40(4): 873–890
Anderson J.H. (1993). Composite registers. Distrib. Comput. 6(3): 141–154
Angluin, D.: Local and global properties in networks of processors. In: Proceedings of 12th ACM Symposium on Theory of Computing, pp. 82–93 (1980)
Angluin D., Aspnes J., Diamadi Z., Fischer M.J. and Peralta R. (2006). Computation in networks of passively mobile finite-state sensors. Distrib. Comput. 18(4): 235–253
Aspnes J., Fich F.E. and Ruppert E. (2006). Relationships between broadcast and shared memory in reliable anonymous distributed systems. Distrib. Comput. 18(3): 209–219
Aspnes, J., Herlihy, M.: Wait-free data structures in the asynchronous PRAM model. In: Proceedings of 2nd ACM Symposium on Parallel Algorithms and Architectures, pp. 340–349 (1990)
Aspnes, J., Shah, G., Shah, J.: Wait-free consensus with infinite arrivals. In: Proceedings of 34th ACM Symposium on Theory of Computing, pp. 524–533 (2002)
Attiya H., Gorbach A. and Moran S. (2002). Computing in totally anonymous asynchronous shared memory systems. Inf. Comput. 173(2): 162–183
Attiya, H., Guerraoui, R., Kouznetsov, P.: Computing with reads and writes in the absence of step contention. In: Distributed Computing, 19th International Conference, vol. 3724 of LNCS, pp. 122–136 (2005)
Bazzi, R.A., Ding, Y.: Non-skipping timestamps for Byzantine data storage systems. In: Distributed Computing, 18th International Conference, vol. 3274 of LNCS, pp. 405–419 (2004)
Berthold, O., Federrath, H., Köhntopp, M.: Project “anonymity and unobservability in the internet”. In: Proceedings of 10th Conference on Computers, Freedom and Privacy, pp. 57–65 (2000)
Bono, S.C., Soghoian, C.A., Monrose, F.: Mantis: A lightweight, server-anonymity preserving, searchable P2P network. Technical Report TR-2004-01-B-ISI-JHU, Information Security Institute, Johns Hopkins University (2004)
Buhrman H., Panconesi A., Silvestri R. and Vitanyi P. (2006). On the importance of having an identity or, is consensus really universal?. Distrib. Comput. 18(3): 167–176
Chandra, T.D.: Polylog randomized wait-free consensus. In: Proceedings of 15th ACM Symposium on Principles of Distributed Computing, pp. 166–175 (1996)
Drulă, C.: The totally anonymous shared memory model in which the number of processes is known. Personal communication
Ellen, F., Fatourou, P., Ruppert, E.: The space complexity of unbounded timestamps. In: Proceedings of 21st International Symposium on Distributed Computing (2007, to appear)
Eğecioğlu O. and Singh A.K. (1994). Naming symmetric processes using shared variables. Distrib. Comput. 8(1): 19–38
Fatourou, P., Fich, F.E., Ruppert, E.: Time-space tradeoffs for implementations of snapshots. In: Proceedings of 38th ACM Symposium on Theory of Computing (2006)
Goldschlag D., Reed M. and Syverson P. (1999). Onion routing. Commun. ACM 42(2): 39–41
Guerraoui, R., Ruppert, E.: What can be implemented anonymously? In: Distributed Computing, 19th International Conference, vol. 3724 of LNCS, pp. 244–259 (2005)
Herlihy M. (1991). Wait-free synchronization. ACM Trans. Program. Lang. Syst. 13(1): 124–149
Herlihy, M., Luchangco, V., Moir, M.: Obstruction-free synchronization: double-ended queues as an example. In: Proceedings of 23rd IEEE International Conference on Distributed Computing Systems, pp. 522–529 (2003)
Herlihy M. and Shavit N. (1999). The topological structure of asynchronous computability. J. ACM 46(6): 858–923
Herlihy M.P. and Wing J.M. (1990). Linearizability: a correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. 12(3): 463–492
Jayanti, P., Toueg, S.: Wakeup under read/write atomicity. In: Distributed Algorithms, 4th International Workshop, vol. 486 of LNCS, pp. 277–288 (1990)
Johnson, R.E., Schneider, F.B.: Symmetry and similarity in distributed systems. In: Proceedings of 4th ACM Symposium on Principles of Distributed Computing, pp. 13–22 (1985)
Kutten S., Ostrovsky R. and Patt-Shamir B. (2000). The Las-Vegas processor identity problem (How and when to be unique). J. Algorithms 37(2): 468–494
Lipton R.J. and Park A. (1990). The processor identity problem. Inf. Process. Lett. 36(2): 91–94
Loui M.C. and Abu-Amara H.H. (1987). Memory requirements for agreement among unreliable asynchronous processes. In: Preparata, F.P. (eds) Advances in Computing Research, vol. 4., pp 163–183. JAI Press, Greenwich
Neiger, G.: Set-linearizability. In: Proceedings of 13th ACM Symposium on Principles of Distributed Computing, pp. 396 (1994)
Panconesi A., Papatriantafilou M., Tsigas P. and Vitányi P. (1998). Randomized naming using wait-free shared variables. Distrib. Comput. 11(3): 113–124
Reiter M.K. and Rubin A.D. (1998). Crowds: anonymity for web transactions. ACM Trans. Inf. Syst. Secur. 1(1): 66–92
Ruppert, E.: The anonymous consensus hierarchy and naming problems. Technical Report CSE-2006-11, Department of Computer Science and Engineering, York University (2006)
Teng S.-H. (1990). Space efficient processor identity protocol. Inf. Process. Lett. 34(3): 147–154
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Guerraoui, R., Ruppert, E. Anonymous and fault-tolerant shared-memory computing. Distrib. Comput. 20, 165–177 (2007). https://doi.org/10.1007/s00446-007-0042-0
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00446-007-0042-0