skip to main content
research-article

Speculative linearizability

Authors Info & Claims
Published:11 June 2012Publication History
Skip Abstract Section

Abstract

Linearizability is a key design methodology for reasoning about implementations of concurrent abstract data types in both shared memory and message passing systems. It provides the illusion that operations execute sequentially and fault-free, despite the asynchrony and faults inherent to a concurrent system, especially a distributed one. A key property of linearizability is inter-object composability: a system composed of linearizable objects is itself linearizable. However, devising linearizable objects is very difficult, requiring complex algorithms to work correctly under general circumstances, and often resulting in bad average-case behavior. Concurrent algorithm designers therefore resort to speculation: optimizing algorithms to handle common scenarios more efficiently. The outcome are even more complex protocols, for which it is no longer tractable to prove their correctness.

To simplify the design of efficient yet robust linearizable protocols, we propose a new notion: speculative linearizability. This property is as general as linearizability, yet it allows intra-object composability: the correctness of independent protocol phases implies the correctness of their composition. In particular, it allows the designer to focus solely on the proof of an optimization and derive the correctness of the overall protocol from the correctness of the existing, non-optimized one.

Our notion of protocol phases allows processes to independently switch from one phase to another, without requiring them to reach agreement to determine the change of a phase. To illustrate the applicability of our methodology, we show how examples of speculative algorithms for shared memory and asynchronous message passing naturally fit into our framework.

We rigorously define speculative linearizability and prove our intra-object composition theorem in a trace-based as well as an automaton-based model. To obtain a further degree of confidence, we also formalize and mechanically check the theorem in the automaton-based model, using the I/O automata framework within the Isabelle interactive proof assistant. We expect our framework to enable, for the first time, scalable specifications and mechanical proofs of speculative implementations of linearizable objects.

References

  1. M. K. Aguilera, S. Frolund, V. Hadzilacos, S. L. Horn, and S. Toueg. Abortable and query-abortable objects and their efficient implementation. In PODC, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. M. Bickford, C. Kreitz, R. v. Renesse, and X. Liu. Proving hybrid protocols correct. In TPHOLs '01, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. W. J. Bolosky, D. Bradshaw, R. B. Haagens, N. P. Kusters, and P. Li. Paxos replicated state machines as the basis of a high-performance data store. In Proc. NSDI. USENIX Assoc., 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. M. Burrows. The Chubby lock service for loosely-coupled distributed systems. In Proc. OSDI. USENIX Assoc., 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. M. Castro and B. Liskov. A correctness proof for a practical byzantine-fault-tolerant replication algorithm. Technical report, MIT, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. M. Castro and B. Liskov. Practical Byzantine fault tolerance. In OSDI, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. E. Gafni and L. Lamport. Disk paxos. Distributed Computing, 16(1):1--20, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. R. Guerraoui, N. Knezevic, V. Quema, and M. Vukolic. The Next 700 BFT Protocols. In EUROSYS, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. R. Guerraoui, V. Kuncak, and G. Losa. Speculative Linearizability. Technical Report 170038, EPFL, 2011.Google ScholarGoogle Scholar
  10. R. Guerraoui, V. Kuncak, and G. Losa. Abortable linearizable modules. In G. Klein, T. Nipkow, and L. Paulson, editors, The Archive of Formal Proofs. http://afp.sf.net/entries/Abortable_Linearizable_Modules.shtml, 2012. Formal proof development.Google ScholarGoogle Scholar
  11. M. Herlihy. Wait-free synchronization. ACM Trans. Program. Lang. Syst., 13:124--149, January 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. M. P. Herlihy and J. M. Wing. Linearizability: a correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst., 12(3):463--492, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. M. Jaskelioff and S. Merz. Proving the correctness of Disk Paxos. In G. Klein, T. Nipkow, and L. Paulson, editors, The Archive of Formal Proofs. http://afp.sf.net/entries/DiskPaxos.shtml, June 2005. Formal proof development.Google ScholarGoogle Scholar
  14. P. Jayanti. Adaptive and efficient abortable mutual exclusion. In PODC, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. R. Kotla, L. Alvisi, M. Dahlin, A. Clement, and E. Wong. Zyzzyva: speculative Byzantine fault tolerance. In SOSP, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. L. Lamport. The implementation of reliable distributed multiprocess systems. Computer Networks, 2:95--114, 1978.Google ScholarGoogle Scholar
  17. L. Lamport. On interprocess communication. part I: Basic formalism. Distributed Computing, 1(2):77--85, 1986.Google ScholarGoogle ScholarCross RefCross Ref
  18. L. Lamport. On interprocess communication. part II: Algorithms. Distributed Computing, 1(2):86--101, 1986.Google ScholarGoogle ScholarCross RefCross Ref
  19. L. Lamport. A fast mutual exclusion algorithm. ACM Trans. Comput. Syst., 5(1):1--11, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. N. Lynch and F. Vaandrager. Forward and backward simulations I: untimed systems. Inf. Comput., 121:214--233, September 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. N. A. Lynch and M. R. Tuttle. An introduction to input/output automata. CWI Quarterly, 2:219--246, 1989.Google ScholarGoogle Scholar
  22. O. Müller. I/O automata and beyond: Temporal logic and abstraction in Isabelle. In TPHOLs, pages 331--348, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. F. Pedone. Boosting system performance with optimistic distributed protocols. Computer, 34(12):80--86, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. A. Singh, T. Das, P. Maniatis, P. Druschel, and T. Roscoe. BFT protocols under fire. In NSDI, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. M. M. V. Luchangco and N. Shavit. On the uncontended complexity of consensus. In ICDCS, pages 45--59, 2003.Google ScholarGoogle ScholarCross RefCross Ref
  26. M. Wenzel. Isar - a generic interpretative approach to readable formal proof documents. In TPHOLs, pages 167--184, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Speculative linearizability

      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 SIGPLAN Notices
        ACM SIGPLAN Notices  Volume 47, Issue 6
        PLDI '12
        June 2012
        534 pages
        ISSN:0362-1340
        EISSN:1558-1160
        DOI:10.1145/2345156
        Issue’s Table of Contents
        • cover image ACM Conferences
          PLDI '12: Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and Implementation
          June 2012
          572 pages
          ISBN:9781450312059
          DOI:10.1145/2254064

        Copyright © 2012 ACM

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 11 June 2012

        Check for updates

        Qualifiers

        • research-article

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader
      About Cookies On This Site

      We use cookies to ensure that we give you the best experience on our website.

      Learn more

      Got it!