Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/2695664.2695816acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
research-article

Composable memory transactions with eager version management

Published: 13 April 2015 Publication History

Abstract

STM Haskell extends the Haskell functional programming language with a set of primitives for writing composable memory transactions. STM Haskell employs lazy version management and lazy conflict detection algorithms. This paper describes a new implementation of STM Haskell, completely implemented in Haskell, the LSTM. Different of all previous implementations of the library, it uses eager version management and early conflict detection. It is possible to avoid unnecessary computation using eager versioning by early conflict detection. Preliminary experiments of our prototype applied to the Haskell STM Benchmark suite show that our prototype provides similar speedup behavior to those provided by the native C implementation of STM Haskell. We also compare the performance of our prototype with an STM Haskell implementation using the TL2 algorithm, noticing an effective gain in terms of performance.

References

[1]
Heterogenous collections in Haskell. http://www.haskell.org/haskellwiki/Heterogenous_collections, October 2010.
[2]
The Haskell STM Benchmark. WWW page, http://www.bscmsrc.eu/software/haskell-stmbenchmark, October 2010.
[3]
Twilight STM for Haskell. WWW page, http://proglang.informatik.uni-freiburg.de/projects/twilight/, October 2010.
[4]
A. Bieniusa, A. Middelkoop, and P. Thiermann. Twilight in Haskell: Software Transactional Memory with Safe I/O and Typed Conict Management. In Preprocedings of IFL 2010, sep 2010.
[5]
A. R. Du Bois. An implementation of composable memory transactions in haskell. In Software Composition, volume 6708 of Lecture Notes in Computer Science, pages 34--50. Springer Berlin Heidelberg, 2011.
[6]
R. Ennals. Software transactional memory should not be obstruction-free. Technical Report IRC-TR-06-052, Intel Research Cambridge Tech Report, Jan 2006.
[7]
P. Felber, C. Fetzer, and T. Riegel. Dynamic performance tuning of word-based software transactional memory. In Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming, pages 237--246. ACM, 2008.
[8]
T. Harris, J. Larus, and R. Rajwar. Transactional memory (synthesis lectures on computer architecture). Synthesis Lectures on Computer Architecture. Morgan and Claypool, 2010.
[9]
T. Harris, S. Marlow, S. P. Jones, and M. Herlihy. Composable memory transactions. Commun. ACM, 51:91--100, August 2008.
[10]
T. Harris, S. Marlow, and S. Peyton Jones. Haskell on a shared-memory multiprocessor. In Haskell Workshop 2005, pages 49--61. ACM Press, September 2005.
[11]
F. Huch and F. Kupke. A high-level implementation of composable memory transactions in concurrent haskell. In IFL, pages 124--141, 2005.
[12]
E. A. Lee. The problem with threads. Computer, 39:33--42, May 2006.
[13]
C. Perfumo, N. Sönmez, S. Stipic, O. Unsal, A. Cristal, T. Harris, and M. Valero. The limits of software transactional memory (stm): dissecting haskell stm applications on a many-core environment. In CF '08, pages 67--78. ACM Press, 2008.
[14]
N. Sonmez, C. Perfumo, S. Stipic, A. Cristal, O. S. Unsal, and M. Valero. Unreadtvar: Extending Haskell software transactional memory for performance. In Trends in Functional Programming, volume 8. Intellect Books, 2008.

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
SAC '15: Proceedings of the 30th Annual ACM Symposium on Applied Computing
April 2015
2418 pages
ISBN:9781450331968
DOI:10.1145/2695664
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 13 April 2015

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. concurrent programming
  2. functional programming
  3. haskell
  4. software transactional memories

Qualifiers

  • Research-article

Conference

SAC 2015
Sponsor:
SAC 2015: Symposium on Applied Computing
April 13 - 17, 2015
Salamanca, Spain

Acceptance Rates

SAC '15 Paper Acceptance Rate 291 of 1,211 submissions, 24%;
Overall Acceptance Rate 1,650 of 6,669 submissions, 25%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 64
    Total Downloads
  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 27 Nov 2024

Other Metrics

Citations

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