Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to main content

Advertisement

Anonymous and fault-tolerant shared-memory computing

  • Published:
Distributed Computing Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. 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

    Article  MATH  Google Scholar 

  2. Anderson J.H. (1993). Composite registers. Distrib. Comput. 6(3): 141–154

    Article  MATH  Google Scholar 

  3. Angluin, D.: Local and global properties in networks of processors. In: Proceedings of 12th ACM Symposium on Theory of Computing, pp. 82–93 (1980)

  4. 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

    Article  Google Scholar 

  5. 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

    Article  Google Scholar 

  6. 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)

  7. 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)

  8. Attiya H., Gorbach A. and Moran S. (2002). Computing in totally anonymous asynchronous shared memory systems. Inf. Comput. 173(2): 162–183

    Article  MATH  MathSciNet  Google Scholar 

  9. 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)

  10. 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)

  11. 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)

  12. 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)

  13. 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

    Article  Google Scholar 

  14. Chandra, T.D.: Polylog randomized wait-free consensus. In: Proceedings of 15th ACM Symposium on Principles of Distributed Computing, pp. 166–175 (1996)

  15. Drulă, C.: The totally anonymous shared memory model in which the number of processes is known. Personal communication

  16. Ellen, F., Fatourou, P., Ruppert, E.: The space complexity of unbounded timestamps. In: Proceedings of 21st International Symposium on Distributed Computing (2007, to appear)

  17. Eğecioğlu O. and Singh A.K. (1994). Naming symmetric processes using shared variables. Distrib. Comput. 8(1): 19–38

    Article  Google Scholar 

  18. 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)

  19. Goldschlag D., Reed M. and Syverson P. (1999). Onion routing. Commun. ACM 42(2): 39–41

    Article  Google Scholar 

  20. Guerraoui, R., Ruppert, E.: What can be implemented anonymously? In: Distributed Computing, 19th International Conference, vol. 3724 of LNCS, pp. 244–259 (2005)

  21. Herlihy M. (1991). Wait-free synchronization. ACM Trans. Program. Lang. Syst. 13(1): 124–149

    Article  Google Scholar 

  22. 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)

  23. Herlihy M. and Shavit N. (1999). The topological structure of asynchronous computability. J. ACM 46(6): 858–923

    Article  MATH  MathSciNet  Google Scholar 

  24. Herlihy M.P. and Wing J.M. (1990). Linearizability: a correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. 12(3): 463–492

    Article  Google Scholar 

  25. Jayanti, P., Toueg, S.: Wakeup under read/write atomicity. In: Distributed Algorithms, 4th International Workshop, vol. 486 of LNCS, pp. 277–288 (1990)

  26. 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)

  27. 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

    Article  MATH  MathSciNet  Google Scholar 

  28. Lipton R.J. and Park A. (1990). The processor identity problem. Inf. Process. Lett. 36(2): 91–94

    Article  MATH  MathSciNet  Google Scholar 

  29. 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

    Google Scholar 

  30. Neiger, G.: Set-linearizability. In: Proceedings of 13th ACM Symposium on Principles of Distributed Computing, pp. 396 (1994)

  31. Panconesi A., Papatriantafilou M., Tsigas P. and Vitányi P. (1998). Randomized naming using wait-free shared variables. Distrib. Comput. 11(3): 113–124

    Article  Google Scholar 

  32. Reiter M.K. and Rubin A.D. (1998). Crowds: anonymity for web transactions. ACM Trans. Inf. Syst. Secur. 1(1): 66–92

    Article  Google Scholar 

  33. Ruppert, E.: The anonymous consensus hierarchy and naming problems. Technical Report CSE-2006-11, Department of Computer Science and Engineering, York University (2006)

  34. Teng S.-H. (1990). Space efficient processor identity protocol. Inf. Process. Lett. 34(3): 147–154

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Rachid Guerraoui.

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00446-007-0042-0

Keywords