Abstract
Software Transactional Memory (STM) is one promising abstraction to simplify the task of writing highly parallel applications. Nonetheless, in workloads lacking enough parallelism, STM’s optimistic approach to concurrency control can adversely degrade performance as transactions abort and restart often.
In this paper, we describe a new scheduling-based solution to improve STM’s performance in high-contention scenarios. Our Progressively Pessimistic Scheduler (ProPS) uses a fine-grained scheduling mechanism that controls the amount of concurrency in the system gradually as transactions abort and commit with success.
Experimental results with the STMBench7 benchmark and the STAMP benchmark suite showed that current coarse-grained, conservative transaction schedulers are not suitable for workloads with long transactions, whereas ProPS is up to 40% faster than all other scheduling alternatives.
This work was supported by national funds through FCT - Fundação para a Ciência e a Tecnologia, under project PEst-OE/EEI/LA0021/2013.
Chapter PDF
Similar content being viewed by others
References
Cascaval, C., Blundell, C., Michael, M., Cain, H., Wu, P., Chiras, S., Chatterjee, S.: Software transactional memory: Why is it only a research toy? Queue 6, 46–58 (2008)
Dolev, S., Hendler, D., Suissa, A.: CAR-STM: Scheduling-based collision avoidance and resolution for software transactional memory. In: Proceedings of the 27th ACM Symposium on Principles of Distributed Computing, PODC 2008, pp. 125–134 (2008)
Dragojević, A., Felber, P., Gramoli, V., Guerraoui, R.: Why STM can be more than a research toy. Commun. ACM 54, 70–77 (2011)
Dragojević, A., Guerraoui, R., Singh, A., Singh, V.: Preventing versus curing: Avoiding conflicts in transactional memories. In: Proceedings of the 28th ACM Symposium on Principles of Distributed Computing, PODC 2009, pp. 7–16 (2009)
Fernandes, S., Cachopo, J.: Lock-free and scalable multi-version software transactional memory. In: Proceedings of the 16th ACM Symposium on Principles and Practice of Parallel Programming, PPoPP 2011, pp. 179–188. ACM (2011)
Guerraoui, R., Kapalka, M., Vitek, J.: STMBench7: A benchmark for software transactional memory. SIGOPS Oper. Syst. Rev. 41, 315–324 (2007)
McKenney, P., Michael, M., Triplett, J., Walpole, J.: Why the grass not be greener on the other side: A comparison of locking vs. transactional memory. SIGOPS Oper. Syst. Rev. 44, 93–101 (2010)
Minh, C., Chung, J., Kozyrakis, C., Olukotun, K.: STAMP: Stanford transactional applications for multi-processing. In: IEEE International Symposium on Workload Characterization, IISWC 2008, pp. 35–46. IEEE (2008)
Rito, H., Cachopo, J.: Memoization of methods using software transactional memory to track internal state dependencies. In: Proceedings of the 8th International Conference on the Principles and Practice of Programming in Java, PPPJ 2010(2010)
Rito, H., Cachopo, J.: FlashbackSTM: Improving STM performance by remembering the past. In: Kasahara, H., Kimura, K. (eds.) LCPC 2012. LNCS, vol. 7760, pp. 266–267. Springer, Heidelberg (2013)
Shavit, N., Touitou, D.: Software transactional memory. In: Proceedings of the 14th Annual ACM Symposium on Principles of Distributed Computing, PODC 1995, pp. 204–213. ACM (1995)
Yoo, R., Lee, H.: Adaptive transaction scheduling for transactional memory systems. In: Proceedings of the 20th Annual Symposium on Parallelism in Algorithms and Architectures, SPAA 2008, pp. 169–178. ACM (2008)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this paper
Cite this paper
Rito, H., Cachopo, J. (2014). ProPS: A Progressively Pessimistic Scheduler for Software Transactional Memory. In: Silva, F., Dutra, I., Santos Costa, V. (eds) Euro-Par 2014 Parallel Processing. Euro-Par 2014. Lecture Notes in Computer Science, vol 8632. Springer, Cham. https://doi.org/10.1007/978-3-319-09873-9_13
Download citation
DOI: https://doi.org/10.1007/978-3-319-09873-9_13
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-09872-2
Online ISBN: 978-3-319-09873-9
eBook Packages: Computer ScienceComputer Science (R0)