Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Speculative linearizability

Published: 11 June 2012 Publication History

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.
[2]
M. Bickford, C. Kreitz, R. v. Renesse, and X. Liu. Proving hybrid protocols correct. In TPHOLs '01, 2001.
[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.
[4]
M. Burrows. The Chubby lock service for loosely-coupled distributed systems. In Proc. OSDI. USENIX Assoc., 2006.
[5]
M. Castro and B. Liskov. A correctness proof for a practical byzantine-fault-tolerant replication algorithm. Technical report, MIT, 1999.
[6]
M. Castro and B. Liskov. Practical Byzantine fault tolerance. In OSDI, 1999.
[7]
E. Gafni and L. Lamport. Disk paxos. Distributed Computing, 16(1):1--20, 2003.
[8]
R. Guerraoui, N. Knezevic, V. Quema, and M. Vukolic. The Next 700 BFT Protocols. In EUROSYS, 2010.
[9]
R. Guerraoui, V. Kuncak, and G. Losa. Speculative Linearizability. Technical Report 170038, EPFL, 2011.
[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.
[11]
M. Herlihy. Wait-free synchronization. ACM Trans. Program. Lang. Syst., 13:124--149, January 1991.
[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.
[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.
[14]
P. Jayanti. Adaptive and efficient abortable mutual exclusion. In PODC, 2003.
[15]
R. Kotla, L. Alvisi, M. Dahlin, A. Clement, and E. Wong. Zyzzyva: speculative Byzantine fault tolerance. In SOSP, 2007.
[16]
L. Lamport. The implementation of reliable distributed multiprocess systems. Computer Networks, 2:95--114, 1978.
[17]
L. Lamport. On interprocess communication. part I: Basic formalism. Distributed Computing, 1(2):77--85, 1986.
[18]
L. Lamport. On interprocess communication. part II: Algorithms. Distributed Computing, 1(2):86--101, 1986.
[19]
L. Lamport. A fast mutual exclusion algorithm. ACM Trans. Comput. Syst., 5(1):1--11, 1987.
[20]
N. Lynch and F. Vaandrager. Forward and backward simulations I: untimed systems. Inf. Comput., 121:214--233, September 1995.
[21]
N. A. Lynch and M. R. Tuttle. An introduction to input/output automata. CWI Quarterly, 2:219--246, 1989.
[22]
O. Müller. I/O automata and beyond: Temporal logic and abstraction in Isabelle. In TPHOLs, pages 331--348, 1998.
[23]
F. Pedone. Boosting system performance with optimistic distributed protocols. Computer, 34(12):80--86, 2001.
[24]
A. Singh, T. Das, P. Maniatis, P. Druschel, and T. Roscoe. BFT protocols under fire. In NSDI, 2008.
[25]
M. M. V. Luchangco and N. Shavit. On the uncontended complexity of consensus. In ICDCS, pages 45--59, 2003.
[26]
M. Wenzel. Isar - a generic interpretative approach to readable formal proof documents. In TPHOLs, pages 167--184, 1999.

Cited By

View all
  • (2019)From high-level modeling toward efficient and trustworthy circuitsInternational Journal on Software Tools for Technology Transfer (STTT)10.1007/s10009-017-0462-521:2(143-163)Online publication date: 1-Apr-2019
  • (2020)Taming the Contention in Consensus-based Distributed SystemsIEEE Transactions on Dependable and Secure Computing10.1109/TDSC.2020.2970186(1-1)Online publication date: 2020
  • (2018)Unifying Concurrent Objects and Distributed TasksJournal of the ACM10.1145/326645765:6(1-42)Online publication date: 19-Nov-2018
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

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
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 11 June 2012
Published in SIGPLAN Volume 47, Issue 6

Check for updates

Author Tags

  1. distributed systems
  2. modularity
  3. speculation

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)17
  • Downloads (Last 6 weeks)3
Reflects downloads up to 31 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2019)From high-level modeling toward efficient and trustworthy circuitsInternational Journal on Software Tools for Technology Transfer (STTT)10.1007/s10009-017-0462-521:2(143-163)Online publication date: 1-Apr-2019
  • (2020)Taming the Contention in Consensus-based Distributed SystemsIEEE Transactions on Dependable and Secure Computing10.1109/TDSC.2020.2970186(1-1)Online publication date: 2020
  • (2018)Unifying Concurrent Objects and Distributed TasksJournal of the ACM10.1145/326645765:6(1-42)Online publication date: 19-Nov-2018
  • (2016)Automated FPGA implementations of BIP designs2016 11th IEEE Symposium on Industrial Embedded Systems (SIES)10.1109/SIES.2016.7509424(1-6)Online publication date: May-2016
  • (2016)Making Fast Consensus Generally Faster2016 46th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN)10.1109/DSN.2016.23(156-167)Online publication date: Jun-2016
  • (2016)Verification of Component-Based Systems via Predicate Abstraction and Simultaneous Set ReductionTrustworthy Global Computing10.1007/978-3-319-28766-9_10(147-162)Online publication date: 5-Jan-2016
  • (2015)Separation of concerns for hardware components of embedded systems in BIPSixteenth International Symposium on Quality Electronic Design10.1109/ISQED.2015.7085449(337-344)Online publication date: Mar-2015
  • (2014)Symbolic Resource Bound Inference for Functional ProgramsProceedings of the 16th International Conference on Computer Aided Verification - Volume 855910.1007/978-3-319-08867-9_51(762-778)Online publication date: 18-Jul-2014
  • (2013)Introducing speculation in self-stabilizationProceedings of the 2013 ACM symposium on Principles of distributed computing10.1145/2484239.2484246(290-298)Online publication date: 22-Jul-2013
  • (2012)On the cost of composing shared-memory algorithmsProceedings of the twenty-fourth annual ACM symposium on Parallelism in algorithms and architectures10.1145/2312005.2312057(298-307)Online publication date: 25-Jun-2012

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media