skip to main content
research-article

Using lightweight modeling to understand chord

Published:29 March 2012Publication History
Skip Abstract Section

Abstract

Correctness of the Chord ring-maintenance protocol would mean that the protocol can eventually repair all disruptions in the ring structure, given ample time and no further disruptions while it is working. In other words, it is "eventual reachability." Under the same assumptions about failure behavior as made in the Chord papers, no published version of Chord is correct. This result is based on modeling the protocol in Alloy and analyzing it with the Alloy Analyzer. By combining the right selection of pseudocode and textual hints from several papers, and fixing flaws revealed by analysis, it is possible to get a version that may be correct. The paper also discusses the significance of these results, describes briefly how Alloy is used to model and reason about Chord, and compares Alloy analysis to model-checking.

References

  1. M. J. Freedman, K. Lakshminarayanan, S. Rhea, and I. Stoica. Non-transitive connectivity and DHTs. In Proceedings of the 2nd Conference on Real, Large, Distributed Systems, pages 55--60. USENIX, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. L. Glendenning, I. Beschastnikh, A. Krishnamurthy, and T. Anderson. Scalable consistency in Scatter. In Proceedings of the 23rd ACM Symposium on Operating Systems Principles. ACM, October 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. G. J. Holzmann. The Spin Model Checker: Primer and Reference Manual. Addison-Wesley, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. D. Jackson. Software Abstractions: Logic, Language, and Analysis. MIT Press, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. C. Killian, J. A. Anderson, R. Jhala, and A. Vahdat. Life, death, and the critical transition: Finding liveness bugs in systems code. In Proceedings of the 4th USENIX Symposium on Networked System Design and Implementation, pages 243--256, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. S. Krishnamurthy, S. El-Ansary, E. Aurell, and S. Haridi. A statistical theory of Chord under churn. In Peer-to-Peer Systems IV. Springer-Verlag LNCS 3640, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. D. Liben-Nowell, H. Balakrishnan, and D. Karger. Analysis of the evolution of peer-to-peer systems. In Proceedings of the 21st ACM Symposium on Principles of Distributed Computing, pages 233--242. ACM, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. B. T. Loo, T. Condie, J. M. Hellerstein, P. Maniatis, T. Roscoe, and I. Stoica. Implementing declarative overlays. In Proceedings of the 20th ACM Symposium on Operating System Principles, pages 75--90. ACM, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. I. Stoica, R. Morris, D. Karger, M. F. Kaashoek, and H. Balakrishnan. Chord: A scalable peer-to-peer lookup service for Internet applications. In Proceedings of SIGCOMM. ACM, August 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. I. Stoica, R. Morris, D. Liben-Nowell, D. Karger, M. F. Kaashoek, F. Dabek, and H. Balakrishnan. Chord: A scalable peer-to-peer lookup service for Internet applications. MIT LCS Technical Report 819, www.pdos.lcs.mit.edu/chord/papers/chord-tn, 2001.Google ScholarGoogle Scholar
  11. I. Stoica, R. Morris, D. Liben-Nowell, D. Karger, M. F. Kaashoek, F. Dabek, and H. Balakrishnan. Chord: A scalable peer-to-peer lookup protocol for Internet applications. IEEE/ACM Transactions on Networking, 11(1), February 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. M. Yabandeh, A. Anand, M. Canini, and D. Kosti . Almost-invariants: From bugs in distributed systems to invariants. Technical report, EPFL NSL-REPORT-2009-007, 2009.Google ScholarGoogle Scholar
  13. M. Yabandeh, N. Knezevi , D. Kosti , and V. Kuncak. CrystalBall: Predicting and preventing inconsistencies in deployed distributed systems. In Proceedings of the 6th USENIX Symposium on Networked Systems Design and Implementation. USENIX, April 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. P. Zave. Lightweight modeling of network protocols: The case of Chord. Technical report, AT&T Laboratories|Research, January 2010.Google ScholarGoogle Scholar
  15. P. Zave. Experiences with protocol description. Technical report, AT&T Laboratories|Research, June 2011. Presented at the 1st International Workshop on Rigorous Protocol Engineering, October 2011, Vancouver, British Columbia.Google ScholarGoogle Scholar

Index Terms

  1. Using lightweight modeling to understand chord

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image ACM SIGCOMM Computer Communication Review
      ACM SIGCOMM Computer Communication Review  Volume 42, Issue 2
      April 2012
      108 pages
      ISSN:0146-4833
      DOI:10.1145/2185376
      Issue’s Table of Contents

      Copyright © 2012 Author

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 29 March 2012

      Check for updates

      Qualifiers

      • research-article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader