DISC 2005: Distributed Computing pp 244-259 | Cite as
What Can Be Implemented Anonymously?
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: timestamping, 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.
Preview
Unable to display preview. Download preview PDF.
References
- 1.Afek, Y., Attiya, H., Dolev, D., Gafni, E., Merritt, M., Shavit, N.: Atomic snapshots of shared memory. J. ACM 40(4), 873–890 (1993)MATHGoogle Scholar
- 2.Anderson, J.H.: Composite registers. Distributed Computing 6(3), 141–154 (1993)CrossRefMATHGoogle Scholar
- 3.Angluin, D.: Local and global properties in networks of processors. In: 12th ACM Symp. on Theory of Computing, pp. 82–93 (1980)Google Scholar
- 4.Angluin, D., Aspnes, J., Diamadi, Z., Fischer, M.J., Peralta, R.: Computation in networks of passively mobile finite-state sensors. In: 23rd ACM Symp. on PODC, pp. 290–299 (2004)Google Scholar
- 5.Aspnes, J., Fich, F., Ruppert, E.: Relationships between broadcast and shared memory in reliable anonymous distributed systems. In: Distributed Computing, 18th Intl. Symp., pp. 260–274 (2004)Google Scholar
- 6.Aspnes, J., Herlihy, M.: Wait-free data structures in the asynchronous PRAM model. In: 2nd ACM SPAA, pp. 340–349 (1990)Google Scholar
- 7.Aspnes, J., Shah, G., Shah, J.: Wait-free consensus with infinite arrivals. In: 34th ACM Symp. on Theory of Computing, pp. 524–533 (2002)Google Scholar
- 8.Attiya, H., Gorbach, A., Moran, S.: Computing in totally anonymous asynchronous shared memory systems. Inf. and Computation 173(2), 162–183 (2002)CrossRefMathSciNetMATHGoogle Scholar
- 9.Bazzi, R.A., Ding, Y.: Non-skipping timestamps for byzantine data storage systems. In: Distributed Computing, 18th Intl. Conf., pp. 405–419 (2004)Google Scholar
- 10.Berthold, O., Federrath, H., Köhntopp, M.: Project anonymity and unobservability in the internet. In: 10th Conf. on Computers, Freedom and Privacy, pp. 57–65 (2000)Google Scholar
- 11.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)Google Scholar
- 12.Buhrman, H., Panconesi, A., Silvestri, R., Vitanyi, P.: On the importance of having an identity or, is consensus really universal? In: Herlihy, M.P. (ed.) DISC 2000. LNCS, vol. 1914, pp. 134–148. Springer, Heidelberg (2000)CrossRefGoogle Scholar
- 13.Chandra, T.D.: Polylog randomized wait-free consensus. In: 15th ACM Symp. on PODC, pp. 166–175 (1996)Google Scholar
- 14.Drulă, C.: The totally anonymous shared memory model in which the number of proces ses is known. Personal communicationGoogle Scholar
- 15.Eğecioğlu, O., Singh, A.K.: Naming symmetric processes using shared variables. Distributed Computing 8(1), 19–38 (1994)CrossRefGoogle Scholar
- 16.Goldschlag, D., Reed, M., Syverson, P.: Onion routing. Commun. ACM 42(2), 39–41 (1999)CrossRefGoogle Scholar
- 17.Guerraoui, R., Ruppert, E.: What can be implmented anonymously? Technical Report 200496, School of Computer and Communications Sciences, EPFL (2004)Google Scholar
- 18.Herlihy, M.: Wait-free synchronization. ACM TOPLAS 13(1), 124–149 (1991)CrossRefGoogle Scholar
- 19.Herlihy, M., Luchangco, V., Moir, M.: Obstruction-free synchronization: Double-ended queues as an example. In: 23rd IEEE Intl Conf. on Distributed Computing Systems, pp. 522–529 (2003)Google Scholar
- 20.Herlihy, M., Shavit, N.: The topological structure of asynchronous computability. J. ACM 46(6), 858–923 (1999)MathSciNetMATHGoogle Scholar
- 21.Herlihy, M.P., Wing, J.M.: Linearizability: A correctness condition for concurrent objects. ACM TOPLAS 12(3), 463–492 (1990)CrossRefGoogle Scholar
- 22.Jayanti, P., Toueg, S.: Wakeup under read/write atomicity. In: van Leeuwen, J., Santoro, N. (eds.) WDAG 1990. LNCS, vol. 486, pp. 277–288. Springer, Heidelberg (1991)Google Scholar
- 23.Johnson, R.E., Schneider, F.B.: Symmetry and similarity in distributed systems. In: 4th ACM Symp. on PODC, pp. 13–22 (1985)Google Scholar
- 24.Kutten, S., Ostrovsky, R., Patt-Shamir, B.: The Las-Vegas processor identity problem (How and when to be unique). J. Algs 37(2), 468–494 (2000)CrossRefMathSciNetMATHGoogle Scholar
- 25.Lipton, R.J., Park, A.: The processor identity problem. Inf. Process. Lett. 36(2), 91–94 (1990)CrossRefMathSciNetMATHGoogle Scholar
- 26.Loui, M.C., Abu-Amara, H.H.: Memory requirements for agreement among unreliable asynchronous processes. In: Preparata, F.P. (ed.) Advances in Computing Research, vol. 4, pp. 163–183. JAI Press, Greenwich (1987)Google Scholar
- 27.Neiger, G.: Set-linearizability. In: 13th ACM Symp. on PODC, p. 396 (1994)Google Scholar
- 28.Panconesi, A., Papatriantafilou, M., Tsigas, P., Vitányi, P.: Randomized naming using wait-free shared variables. Distributed Computing 11(3), 113–124 (1998)CrossRefGoogle Scholar
- 29.Reiter, M.K., Rubin, A.D.: Crowds: Anonymity for web transactions. ACM Trans. on Inf. and System Security 1(1), 66–92 (1998)CrossRefGoogle Scholar
- 30.Teng, S.-H.: Space efficient processor identity protocol. Inf. Process. Lett. 34(3), 147–154 (1990)CrossRefMATHGoogle Scholar