Can Software Transactional Memory Make Concurrent Programs Simple and Safe?

Ketil Malde

Abstract

Parallel programs are key to exploiting the performance of modern computers, but traditional facilities for synchronizing threads of execution are notoriously difficult to use correctly, especially for problems with a non-trivial structure. Software transactional memory is a different approach to managing the complexity of interacting threads. By eliminating locking, many of the complexities of concurrency is eliminated, and the resulting programs are composable, and thus simplifies refactoring and other modifications. Here, we investigate STM in the context of genome assembly, and demonstrate that a program using STM is able to successfully parallelize the genome scaffolding process with a near linear speedup.

References

  1. Boetzer, M., Henkel, C. V., Jansen, H. J., Butler, D., and Pirovano, W. (2011). Scaffolding pre-assembled contigs using SSPACE. Bioinformatics, 27:578-579.
  2. Bonfield, J. K., Smith, K. F., and Staden, R. (1995). A new DNA sequence assembly program. Nucleic Acids Research, 23:4992-4999.
  3. Brevnov, E., Dolgov, Y., Kuznetsov, B., Yershov, D., Shakin, V., Chen, D.-Y., Menon, V., and Srinivas, S. (2008). Practical experiences with java software transactional memory. In Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming, PPoPP 7808, pages 287-288, New York, NY, USA. ACM.
  4. Harris, T., Marlow, S., Peyton-Jones, S., and Herlihy, M. (2005). Composable memory transactions. In Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming, PPoPP 7805, pages 48-60, New York, NY, USA. ACM.
  5. Lee, E. A. (2006). The problem with threads. Technical Report UCB/EECS-2006-1, EECS Department, University of California, Berkeley. The published version of this paper is in IEEE Computer 39(5):33-42, May 2006.
  6. Li, H. and Durbin, R. (2009). Fast and accurate short read alignment with Burrows-Wheeler transform. Bioinformatics, 25:1754-1760.
  7. Margulies, M., Egholm, M., Altman, W. E., Attiya, S., Bader, J. S., et al. (2005). Genome sequencing in microfabricated high-density picolitre reactors. Nature, 437:376-380.
  8. Myers, E. W., Sutton, G. G., Delcher, A. L., Dew, I. M., Fasulo, D. P., Flanigan, M. J., et al. (2000). A whole-genome assembly of drosophila. Science, 287(5461):2196-2204.
  9. Ni, Y., Welc, A., Adl-Tabatabai, A.-R., Bach, M., Berkowits, S., Cownie, J., Geva, R., Kozhukow, S., Narayanaswamy, R., Olivier, J., Preis, S., Saha, B., Tal, A., and Tian, X. (2008). Design and implementation of transactional constructs for c/c++. In Proceedings of the 23rd ACM SIGPLAN conference on Objectoriented programming systems languages and applications, OOPSLA 7808, pages 195-212, New York, NY, USA. ACM.
  10. Pevzner, P. A., Tang, H., and Waterman, M. S. (2001). An eulerian path approach to dna fragment assembly. Proceedings of the National Academy of Sciences, 98(17):9748-9753.
  11. Shavit, N. and Touitou, D. (1995). Software transactional memory. In Proceedings of the fourteenth annual ACM symposium on Principles of distributed computing, PODC 7895, pages 204-213, New York, NY, USA. ACM.
Download


Paper Citation


in Harvard Style

Malde K. (2013). Can Software Transactional Memory Make Concurrent Programs Simple and Safe? . In Proceedings of the International Conference on Bioinformatics Models, Methods and Algorithms - Volume 1: BIOINFORMATICS, (BIOSTEC 2013) ISBN 978-989-8565-35-8, pages 223-228. DOI: 10.5220/0004326702230228


in Bibtex Style

@conference{bioinformatics13,
author={Ketil Malde},
title={Can Software Transactional Memory Make Concurrent Programs Simple and Safe?},
booktitle={Proceedings of the International Conference on Bioinformatics Models, Methods and Algorithms - Volume 1: BIOINFORMATICS, (BIOSTEC 2013)},
year={2013},
pages={223-228},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0004326702230228},
isbn={978-989-8565-35-8},
}


in EndNote Style

TY - CONF
JO - Proceedings of the International Conference on Bioinformatics Models, Methods and Algorithms - Volume 1: BIOINFORMATICS, (BIOSTEC 2013)
TI - Can Software Transactional Memory Make Concurrent Programs Simple and Safe?
SN - 978-989-8565-35-8
AU - Malde K.
PY - 2013
SP - 223
EP - 228
DO - 10.5220/0004326702230228