Skip to main content

A Theory of Nested Speculative Execution

  • Conference paper
Coordination Models and Languages (COORDINATION 2007)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4467))

Included in the following conference series:

  • 320 Accesses

Abstract

Implementing distributed applications is a challenging task. Developers are confronted with issues like fault-tolerance, efficient synchronization mechanisms, and the correctness of the distributed code. Transactions are a simple and powerful mechanism for establishing fault-tolerance. To allow multiple processes to cooperate in a transaction we relax the isolation property. We call the new abstraction a speculation. This paper introduces a new programming model based on speculative execution. Speculations provide distributed coordinated rollback and enable optimistic execution of synchronization points. We present an operational semantics for nested speculative execution that specifies distributed speculations precisely. We also discuss two approaches to implementing support for speculations.

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. Gray, J., Reuter, A.: Transaction Processing: Concepts and Techniques. Morgan Kaufmann, San Francisco (1994)

    Google Scholar 

  2. Ţăpuş, C., Smith, J.D., Hickey, J.: Kernel level speculative DSM. Workshop on Distributed Shared Memory (DSM). In: CCGRID 2003. IEEE International Symposium on Cluster Computing and the Grid, Tokyo, Japan, IEEE Computer Society Press, Los Alamitos (2003)

    Google Scholar 

  3. Garcia-Molina, H., Salem, K.: Sagas. In: SIGMOD ’87. Proceedings of the 1987 ACM SIGMOD international conference on Management of data, pp. 249–259. ACM Press, New York (1987)

    Chapter  Google Scholar 

  4. Ţăpuş, C.: Distributed Speculations: Providing Fault-tolerance and Improving Performance. PhD thesis, California Institute of Technology, Pasadena, CA (June 2006)

    Google Scholar 

  5. Smith, J.D., Ţăpuş, C., Hickey, J.: The mojave compiler: Providing language primitives for whole-process migration and speculation for distributed applications. To be presented at the HIPS/TOPMoDelS workshop (at IPDPS 2007) (2007)

    Google Scholar 

  6. McVoy, L., Staelin, C.: lmbench: Portable tools for performance analysis. Usenix (1996)

    Google Scholar 

  7. Prinz, A., Thalheim, B.: Operational semantics of transactions. In: CRPITS’17. Proceedings of the Fourteenth Australasian database conference on Database technologies 2003, Australian Computer Society, Inc., pp. 169–179 (2003)

    Google Scholar 

  8. Black, A.P., Cremet, V., Guerraoui, R., Odersky, M.: An equational theory for transactions. In: FST TCS 2003. Foundations of Software Technology and Theoretical Computer Science. Australian Computer Society, Inc., pp. 38–49 (2003)

    Google Scholar 

  9. Haines, N., Kindred, D., Morrisett, J.G., Nettles, S.M., Wing, J.M.: Composing first-class transactions. ACM Transactions on Programming Languages and Systems. Short Communication (1994)

    Google Scholar 

  10. Harris, T., Fraser, K.: Language support for lightweight transactions. In: Object-Oriented Programming, Systems, Languages, and Applications, pp. 388–402 (October 2003)

    Google Scholar 

  11. Ringenburg, M.F., Grossman, D.: Atomcaml: first-class atomicity via rollback. In: ICFP ’05. Proceedings of the tenth ACM SIGPLAN international conference on Functional programming, pp. 92–104. ACM Press, New York (2005)

    Chapter  Google Scholar 

  12. Strom, R., Yemini, S.: Optimistic recovery in distributed systems. ACM Trans. Comput. Syst. 3(3), 204–226 (1985)

    Article  Google Scholar 

  13. Jefferson, D.R.: Virtual time. ACM Trans. Program. Lang. Syst. 7(3), 404–425 (1985)

    Article  MathSciNet  Google Scholar 

  14. Qin, F., Tucek, J., Sundaresan, J., Zhou, Y.: Rx: treating bugs as allergies—a safe method to survive software failures. In: SOSP ’05. Proceedings of the twentieth ACM symposium on Operating systems principles, pp. 235–248. ACM Press, New York (2005)

    Chapter  Google Scholar 

  15. Chang, F., Gibson, G.A.: Automatic i/o hint generation through speculative execution. In: OSDI ’99. Proceedings of the third symposium on Operating systems design and implementation (1999)

    Google Scholar 

  16. Thain, D., Livny, M.: The ethernet approach to grid computing. In: HPDC ’03. Proceedings of the 12th IEEE International Symposium on High Performance Distributed Computing, IEEE Computer Society Press, Los Alamitos (2003)

    Google Scholar 

  17. Lai, A.C., Falsafi, B.: Memory sharing predictor: the key to a speculative coherent dsm. In: Proceedings of the 26th annual international symposium on Computer architecture, pp. 172–183. IEEE Computer Society Press, Los Alamitos (1999)

    Google Scholar 

  18. Oplinger, J., et al.: Software and hardware for exploiting speculative parallelism with a multiprocessor. Technical report, Stanford, CA (1997)

    Google Scholar 

  19. Nightingale, E.B., Chen, P.M., Flinn, J.: Speculative execution in a distributed file system. In: SOSP ’05. Proceedings of the twentieth ACM symposium on Operating systems principles, pp. 191–205. ACM Press, New York (2005)

    Chapter  Google Scholar 

  20. Hoare, C.: Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs (1985)

    MATH  Google Scholar 

  21. Hickey, J.J.: The MetaPRL Logical Programming Environment. PhD thesis, Cornell University, Ithaca, NY (January 2001)

    Google Scholar 

  22. Ţăpuş, C., Noblet, D.: Fixd: Fault detection, bug reporting, and recoverability for distributed applications. To be presented at the HIPS/TOPMoDelS workshop (at IPDPS 2007) (2007)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Amy L. Murphy Jan Vitek

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer Berlin Heidelberg

About this paper

Cite this paper

Ţăpuş, C., Hickey, J. (2007). A Theory of Nested Speculative Execution. In: Murphy, A.L., Vitek, J. (eds) Coordination Models and Languages. COORDINATION 2007. Lecture Notes in Computer Science, vol 4467. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-72794-1_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-72794-1_9

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-72793-4

  • Online ISBN: 978-3-540-72794-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics