Skip to main content

Lock Free Data Structures Using STM in Haskell

  • Conference paper
Functional and Logic Programming (FLOPS 2006)

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

Included in the following conference series:

Abstract

This paper explores the feasibility of re-expressing concurrent algorithms with explicit locks in terms of lock free code written using Haskell’s implementation of software transactional memory. Experimental results are presented which show that for multi-processor systems the simpler lock free implementations offer superior performance when compared to their corresponding lock based implementations.

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. Carlstrom, B.D., Chung, J., Chafi, H., McDonald, A., Minh, C., Hammond, L., Kozyrakis, C., Olukotun, K.: Transactional Execution of Java Programs. In: SCOOL 2005 (2005)

    Google Scholar 

  2. Harris, T., Marlow, S., Jones, S.P., Herlihy, M.: Composable Memory Transactions. In: PPoPP 2005 (2005)

    Google Scholar 

  3. Hammond, L., Carlstrom, B.D., Wong, V., Hertzberg, B., Chen, M., Kozyrakis, C., Olukotun, K.: Programming with transactional coherence and consistency. In: Proceedings of the 11th International Conference on Architecture Support for Programming Languages and Operating Systems (October 2004)

    Google Scholar 

  4. Harris, T., Fraser, K.: Language support for lightweight transactions. In: OOPSLA 2003: Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications, pp. 388–402. ACM Press, New York (2003)

    Chapter  Google Scholar 

  5. Herlihy, M.P., Luchangco, V., Moir, M., Scherer, W.M.: Software transactional memory for dynamic-sized data structures. In: Proceedings of the 22nd Annual Symposium on Principles of Distributed Computing (July 2003)

    Google Scholar 

  6. Herlihy, M., Moss, J.E.B.: Transactional memory: Architectural support for lock-free data structures. In: Proceedings of the 20th International Symposium on Computer Architecture (1993)

    Google Scholar 

  7. Itzstein, G.S., Kearney, D.: Join Java: An alternative concurrency semantics for Java. Tech. Rep. ACRC-01-001, University of South Australia (2001)

    Google Scholar 

  8. Jones, S.P., Gordon, A., Finne, S.: Concurrent Haskell. In: 23rd ACM Symposium on Principles of Programming Languages (POPL 1996), pp. 295–308 (1996)

    Google Scholar 

  9. Jones, S.P., Wadler, P.: Imperative functional programming. In: 20th ACM Symposium on Principles of Programming Languages (POPL 1993), pp. 71–84 (1993)

    Google Scholar 

  10. Shavit, N., Touitou, S.: Software transactional memory. In: Proc. of the 14th Annual ACM Symposium on Principles of Distributed Computing, Ottawa, Canada (August 1995)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Discolo, A., Harris, T., Marlow, S., Jones, S.P., Singh, S. (2006). Lock Free Data Structures Using STM in Haskell. In: Hagiya, M., Wadler, P. (eds) Functional and Logic Programming. FLOPS 2006. Lecture Notes in Computer Science, vol 3945. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11737414_6

Download citation

  • DOI: https://doi.org/10.1007/11737414_6

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-33438-5

  • Online ISBN: 978-3-540-33439-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics