Skip to main content

Anonymous Agreement: The Janus Algorithm

  • Conference paper
Principles of Distributed Systems (OPODIS 2011)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 7109))

Included in the following conference series:

Abstract

We consider the consensus problem in an n-process shared-memory distributed system when processes are anonymous, i.e., they have no identities and are programmed identically.

We present Janus, a new anonymous consensus algorithm that reaches decision after \(O(\sqrt{n})\) writes in every solo execution. The set of values that can be proposed is unbounded and the algorithm tolerates an arbitrary number of crash failures. The algorithm relies on an anonymous eventual leader election mechanism. Furthermore, during solo executions in which a non-faulty process is elected since the beginning, the individual step complexity of Janus is O(n), matching a recent lower bound by Aspnes and Ellen (SPAA 2011).

The algorithm is then extended to the case of homonymous system in which c, 1 ≤ c ≤ n, identities are available. In every solo execution, the modified algorithm achieves \(O(\sqrt{n-c+1} + \frac{\log{c}}{\log{\log{c}}})\) individual write complexity and \(O(n-c+\frac{\log{c}}{\log{\log{c}}})\) individual step complexity.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Abrahamson, K.: On achieving consensus using a shared memory. In: Proc. of the 17th Symp. on Principles of Distributed Computing (PODC), pp. 291–302. ACM (1988)

    Google Scholar 

  2. Angluin, D., Aspnes, J., Diamadi, Z., Fischer, M.J., Peralta, R.: Computation in networks of passively mobile finite-state sensors. Distributed Computing 18(4), 235–253 (2006)

    Article  MATH  Google Scholar 

  3. Aspnes, J.: A modular approach to shared-memory consensus, with applications to the probabilistic-write model. In: Proc. of the 29th Symp. on Principles of Distributed Computing (PODC), pp. 460–467. ACM (2010)

    Google Scholar 

  4. Aspnes, J., Ellen, F.: Tight bounds for anonymous adopt-commit objects. In: Proc. of the 23rd Symp. on Parallelism in Algorithms and Architectures (SPAA), pp. 317–324. ACM (2011)

    Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

  6. Ben-Or, M.: Another advantage of free choice: Completely asynchronous agreement protocols (extended abstract). In: Proc. of the 2nd Symp. on Principles of Distributed Computing (PODC), pp. 27–30. ACM (1983)

    Google Scholar 

  7. Bonnet, F., Raynal, M.: The Price of Anonymity: Optimal Consensus Despite Asynchrony, Crash and Anonymity. In: Keidar, I. (ed.) DISC 2009. LNCS, vol. 5805, pp. 341–355. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  8. Bonnet, F., Raynal, M.: Anonymous Asynchronous Systems: The Case of Failure Detectors. In: Lynch, N.A., Shvartsman, A.A. (eds.) DISC 2010. LNCS, vol. 6343, pp. 206–220. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  9. Bouzid, Z., Sutra, P., Travers, C.: Anonymous Agreement: The Janus Algorithm. Technical report, http://hal.inria.fr/inria-00625704/en/

  10. Buhrman, H., Panconesi, A., Silvestri, R., Vitányi, P.M.B.: On the importance of having an identity or, is consensus really universal? Distributed Computing 18(3), 167–176 (2006)

    Article  MATH  Google Scholar 

  11. Chandra, T.D., Hadzilacos, V., Toueg, S.: The weakest failure detector for solving consensus. J. ACM 43(4), 685–722 (1996)

    Article  MathSciNet  MATH  Google Scholar 

  12. Chandra, T.D., Toueg, S.: Unreliable failure detectors for reliable distributed systems. J. ACM 43(2), 225–267 (1996)

    Article  MathSciNet  MATH  Google Scholar 

  13. Chothia, T., Chatzikokolakis, K.: A Survey of Anonymous Peer-to-Peer File-Sharing. In: Enokido, T., Yan, L., Xiao, B., Kim, D.Y., Dai, Y.-S., Yang, L.T. (eds.) EUC-WS 2005. LNCS, vol. 3823, pp. 744–755. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  14. Delporte-Gallet, C., Fauconnier, H.: Two Consensus Algorithms with Atomic Registers and Failure Detector Ω. In: Garg, V., Wattenhofer, R., Kothapalli, K. (eds.) ICDCN 2009. LNCS, vol. 5408, pp. 251–262. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  15. Delporte-Gallet, C., Fauconnier, H., Guerraoui, R., Kermarrec, A.M., Ruppert, E., Tran-The, H.: Byzantine agreement with homonyms. In: Proc. of the 30th Symp. on Principles of Distributed Computing (PODC), pp. 21–30. ACM (2011)

    Google Scholar 

  16. Delporte-Gallet, C., Fauconnier, H., Tielmann, A.: Fault-tolerant consensus in unknown and anonymous networks. In: Proc. of the 29th Int’l Conference on Distributed Computing Systems (ICDCS), pp. 368–375. IEEE (2009)

    Google Scholar 

  17. Dutta, P., Guerraoui, R.: The inherent price of indulgence. Distributed Computing 18(1), 85–98 (2005)

    Article  MATH  Google Scholar 

  18. Dwork, C., Lynch, N., Stockmeyer, L.: Consensus in the presence of partial synchrony. J. ACM 35(2), 288–323 (1988)

    Article  MathSciNet  Google Scholar 

  19. Federrath, H. (ed.): Designing Privacy Enhancing Technologies. LNCS, vol. 2009. Springer, Heidelberg (2001)

    MATH  Google Scholar 

  20. Fischer, M.J., Lynch, N.A., Paterson, M.: Impossibility of distributed consensus with one faulty process. J. ACM 32(2), 374–382 (1985)

    Article  MathSciNet  MATH  Google Scholar 

  21. Gafni, E.: Round-by-round fault detectors: unifying synchrony and asynchrony. In: Proc. of the 17th Symp. on Principles of Distributed Computing (PODC), pp. 143–152. ACM (1998)

    Google Scholar 

  22. Guerraoui, R., Ruppert, E.: What can be implemented anonymously? In: Fraigniaud, P. (ed.) DISC 2005. LNCS, vol. 3724, pp. 244–259. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  23. Guerraoui, R., Lynch, N.A.: A general characterization of indulgence. TAAS 3(4) (2008)

    Google Scholar 

  24. Guerraoui, R., Ruppert, E.: Anonymous and fault-tolerant shared-memory computing. Distributed Computing 20(3), 165–177 (2007)

    Article  MATH  Google Scholar 

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

    Article  Google Scholar 

  26. Herlihy, M., Luchangco, V., Moir, M.: Obstruction-free synchronization: Double-ended queues as an example. In: Proc. of the 23rd Int’l Conference on Distributed Computing Systems (ICDCS), pp. 522–529. IEEE (2003)

    Google Scholar 

  27. Herlihy, M., Wing, J.: Linearizability: a correcteness condition for concurrent objects. ACM Trans. on Prog. Lang. 12(3), 463–492 (1990)

    Article  Google Scholar 

  28. Loui, M., Abu-Amara, H.: Memory requirements for agreement among unreliable asynchronous processes. Advances in Computing Research 4, 163–183 (1987)

    MathSciNet  Google Scholar 

  29. Ruppert, E.: The Anonymous Consensus Hierarchy and Naming Problems. In: Tovar, E., Tsigas, P., Fouchal, H. (eds.) OPODIS 2007. LNCS, vol. 4878, pp. 386–400. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  30. Yamashita, M., Kameda, T.: Leader election problem on networks in which processor identity numbers are not distinct. IEEE Transactions on Parallel and Distributed Systems 10(9), 878–887 (1999)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Bouzid, Z., Sutra, P., Travers, C. (2011). Anonymous Agreement: The Janus Algorithm. In: Fernàndez Anta, A., Lipari, G., Roy, M. (eds) Principles of Distributed Systems. OPODIS 2011. Lecture Notes in Computer Science, vol 7109. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-25873-2_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-25873-2_13

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-25872-5

  • Online ISBN: 978-3-642-25873-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics