Abstract
For software transactional memory (STM) to be usable in large applications such as databases, it needs to be robust, i.e., live, efficient, tolerant of crashed and non-terminating transactions, and practical. In this paper, we study the question of whether one can implement a robust software transactional memory in an asynchronous system. To that end, we introduce a system model – the multicore system model (MSM) – which captures the properties provided by mainstream multicore systems. We show how to implement a robust software transactional memory (RobuSTM) in MSM. Our experimental evaluation indicates that RobuSTM compares well against existing blocking and nonblocking software transactional memories in terms of performance while providing a much higher degree of robustness.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Aguilera, M., Walfish, M.: No time for asynchrony. In: HotOS 2009: Proceedings of the 12th Workshop on Hot Topics in Operating Systems. USENIX (2009)
Cao Minh, C., Chung, J., Kozyrakis, C., Olukotun, K.: STAMP: Stanford transactional applications for multi-processing. In: IISWC 2008: Proceedings of The IEEE International Symposium on Workload Characterization (2008)
Christie, D., Chung, J.-W., Diestelhorst, S., Hohmuth, M., Pohlack, M., Fetzer, C., Nowack, M., Riegel, T., Felber, P., Marlier, P., Riviere, E.: Evaluation of AMD’s advanced synchronization facility within a complete transactional memory stack. In: EuroSys 2010 (2010)
Dice, D., Shalev, O., Shavit, N.: Transactional locking II. In: Dolev, S. (ed.) DISC 2006. LNCS, vol. 4167, pp. 194–208. Springer, Heidelberg (2006)
Ennals, R.: Software transactional memory should not be obstruction-free. Technical report, Intel Research (2006)
Felber, P., Fetzer, C., Riegel, T.: Dynamic performance tuning of word-based software transactional memory. In: PPoPP 2008: Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming. ACM, New York (2008)
Fich, F., Luchangco, V., Moir, M., Shavit, N.: Obstruction-Free Algorithms can be Practically Wait-Free. LNCS. Springer, Heidelberg (2005)
Guerraoui, R., Herlihy, M., Kapalka, M., Pochon, B.: Robust contention management in software transactional memory. In: Workshop on Synchronization and Concurrency in Object-Oriented Languages (2005)
Guerraoui, R., Herlihy, M., Pochon, B.: Toward a theory of transactional contention managers. In: PODC 2005: Proceedings of the twenty-fourth annual ACM symposium on Principles of distributed computing. ACM, New York (2005)
Guerraoui, R., Kapalka, M.: How Live Can a Transactional Memory Be? Technical report, EPFL (2009)
Herlihy, M., Luchangco, V., Moir, M., William, I., Scherer, N.: Software-transactional memory for dynamic-sized data structures. In: Proceedings of the 22nd annual symposium on Principles of distributed computing. ACM, New York (2003)
Lahiri, T., Ganesh, A., Weiss, R., Joshi, A.: Fast-start: quick fault recovery in oracle. SIGMOD Rec. (2001)
Lamport, L.: A new solution of dijkstra’s concurrent programming problem. Commun. ACM 17(8), 453–455 (1974)
Maldonado, W., Marlier, P., Felber, P., Suissa, A., Hendler, D., Fedorova, A., Lawall, J., Muller, G.: Scheduling support for transactional memory contention management. In: Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPoPP 2010) (January 2010)
Marathe, V.J., Moir, M.: Efficient nonblocking software transactional memory. Technical report, Department of Computer Science, University of Rochester (2008)
Marathe, V.J., Moir, M.: Toward high performance nonblocking software transactional memory. In: PPoPP 2008: Proceedings of the 13th ACM SIGPLAN Symposium on Principles and practice of parallel programming. ACM, New York (2008)
Riegel, T., Felber, P., Fetzer, C.: A lazy snapshot algorithm with eager validation. In: Dolev, S. (ed.) DISC 2006. LNCS, vol. 4167, Springer, Heidelberg (2006)
Scherer III, W.N., Scott, M.L.: Advanced contention management for dynamic software transactional memory. In: PODC 2005: Proceedings of the twenty-fourth annual ACM symposium on Principles of distributed computing. ACM, New York (2005)
Scherer III, W., Scott, M.: Contention Management in Dynamic Software Transactional Memory. In: PODC Workshop on Concurrency and Synchronization in Java programs (2004)
Spear, M.F., Dalessandro, L., Marathe, V.J., Scott, M.L.: A comprehensive strategy for contention management in software transactional memory. In: Proceedings of the 14th ACM SIGPLAN symposium on Principles and practice of parallel programming. ACM, New York (2008)
Tabba, F., Moir, M., Goodman, J.R., Hay, A.W., Wang, C.: NZTM: Nonblocking zero-indirection transactional memory. In: Proceedings of the twenty-first annual symposium on Parallelism in algorithms and architectures. ACM, New York (2009)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Wamhoff, JT., Riegel, T., Fetzer, C., Felber, P. (2010). RobuSTM: A Robust Software Transactional Memory. In: Dolev, S., Cobb, J., Fischer, M., Yung, M. (eds) Stabilization, Safety, and Security of Distributed Systems. SSS 2010. Lecture Notes in Computer Science, vol 6366. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-16023-3_32
Download citation
DOI: https://doi.org/10.1007/978-3-642-16023-3_32
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-16022-6
Online ISBN: 978-3-642-16023-3
eBook Packages: Computer ScienceComputer Science (R0)