Abstract
This paper proposes a Restricted Admission Control (RAC) scheme for View-Oriented Transactional Memory. The scheme can control the number of threads concurrently accessing a view in order to reduce the number of aborts of transactions. The RAC scheme has the merits of both the locking mechanism and the transactional memory. A theoretical model is proposed to analyze the performance of the RAC scheme and to provide guidance for dynamic adjustment of the number of concurrent threads accessing the same view. Experimental results demonstrate that theoretical RAC model can mostly provide correct guidance to transactional concurrency control. Our RAC implementation shows that RAC can optimize concurrency control of transactions and performs much better than conventional transactional memory systems such as TinySTM that have no dynamic admission control.
Similar content being viewed by others
References
Ansari M, Kotselidis C, Jarvis K, Luján M, Kirkham C, Watson I (2008) Lee-TM: A non-trivial benchmark for transactional memory. In: Proceedings of the 7th international conference on algorithms and architectures for parallel processing. LNCS. Springer, Berlin
Ansari M, Kotselidis C, Jarvis K, Luján M, Watson I (2007) Adaptive concurrency control for transactional memory. Tech rep, University of Manchester
Attiya H, Epstein L, Shachnai H, Tamir T (2010) Transactional contention management as a non-clairvoyant scheduling problem. Algorithmica 57:44–61. doi:10.1007/s00453-008-9195-x
Bernstein P, Goodman N (1981) Concurrency control in distributed database systems. ACM Comput Surv 13(2):185–221
Bobba J, Moore KE, Volos H, Yen L, Hill MD, Swift MM, Wood DA (2007) Performance pathologies in hardware transactional memory. In: Proceedings of the 34th annual international symposium on Computer architecture. ACM, New York, pp 81–91. http://doi.acm.org/10.1145/1250662.1250674
Cascaval C, Blundell C, Michael M, Cain HW, Wu P, Chiras S, Chatterjee S (2008) Software transactional memory: Why is it only a research toy? ACM Queue 6:46–58. http://doi.acm.org/10.1145/1454456.1454466
Dalessandro L, Spear MF, Scott ML (2010) NOrec: streamlining STM by abolishing ownership records. In: Proceedings of the 15th ACM SIGPLAN symposium on principles and practice of parallel programming. ACM, New York, pp 67–78. http://doi.acm.org/10.1145/1693453.1693464
Dice D, Shalev O, Shavit N (2006) Transactional locking II. In: Proceedings of the 20th international symposium on distributed computing
Dragojević A, Guerraoui R, Singh AV, Singh V (2009) Preventing versus curing: avoiding conflicts in transactional memories. In: Proceedings of the 28th ACM symposium on principles of distributed computing. ACM, New York, pp 7–16. http://doi.acm.org/10.1145/1582716.1582725
Ennals R (2006) Software transactional memory should not be obstruction-free. Tech rep, Intel Corporation
Felber P, Fetzer C, Riegel T (2008) Dynamic performance tuning of word-based software transactional memory. In: Proceedings of the 13th ACM SIGPLAN symposium on principles and practice of parallel programming. ACM, New York, pp 237–246. http://doi.acm.org/10.1145/1345206.1345241
Guerraoui R, Herlihy M, Pochon B (2005) Polymorphic contention management. In: Proceedings of the 19th international symposium on distributed computing. LNCS, Springer, Berlin, pp 26–29
Guerraoui R, Kapalka M (2008) On obstruction-free transactions. In: 20th ACM symposium on parallelism in algorithms and architectures
Herlihy M, Luchangco V, Moir M, Scherer WN III (2003) Software transactional memory for dynamic-sized data structures. In: Proceedings of the 22nd annual symposium on principles of distributed computing. ACM, New York, pp 92–101. http://doi.acm.org/10.1145/872035.872048
Herlihy M, Moss JEB (1993) Transactional memory: architectural support for lock-free data structures. ACM SIGARCH Comput Archit News 21:289–300. http://doi.acm.org/10.1145/173682.165164
Hong S, Oguntebi T, Casper J, Bronson N, Kozyrakis C, Olukotun K (2010) Eigenbench: A simple exploration tool for orthogonal tm characteristics. In: Proceedings of the IEEE international symposium on workload characterization (IISWC’10). IEEE Computer Society, Washington, pp 1–11. doi:10.1109/IISWC.2010.5648812
Huang Z, Cranefield S, Purvis MK, Sun C (2001) View-based consistency and its implementation. In: First IEEE international symposium on cluster computing and the grid, pp 74–81
Huang Z, Purvis M, Werstein P (2005) Performance evaluation of view-oriented parallel programming. In: Proceedings of the 34th international conference on parallel processing. IEEE Computer Society, Oslo, pp 251–258
Kung H, Robinson J (1981) On the optimistic methods for concurrency control. ACM Trans Database Syst 6(2):213–226
Lamport L (1974) A new solution of Dijkstra’s concurrent programming problem. Commun ACM 17(8):453–455. http://doi.acm.org/10.1145/361082.361093
Larus JR, Rajwar R (2007) Transactional memory. Synthesis lectures on computer architecture. Morgan and Claypool
Leung K, Huang Z (2011) View-oriented transactional memory. In: The fourth international workshop on parallel programming models and systems software for high-end computing, in proceedings of the 40th international conference on parallel processing
Lomet DB (1977) Process structuring, synchronization, and recovery using atomic actions. In: ACM conference on language design for reliable software, pp 128–137
Peterson G (1981) Myths about the mutual exclusion problem. Inf Process Lett 12(3):115–116
Pettersson M (2004) The perfctr Linux performance monitoring counters driver. Uppsala University,
Roy A, Hand S, Harris T (2009) A runtime system for software lock elision. In: Proceedings of the 4th ACM European conference on computer systems. ACM, New York, pp 261–274. http://doi.acm.org/10.1145/1519065.1519094
Saha B, Adl-Tabatabai AR, Hudson RL, Minh CC, Hertzberg B (2006) McRT-STM: a high performance software transactional memory system for a multi-core runtime. In: Proceedings of the eleventh ACM SIGPLAN symposium on principles and practice of parallel programming. ACM, New York, pp 187–197. http://doi.acm.org/10.1145/1122971.1123001
Scherer WN III, Scott ML (2005) Advanced contention management for dynamic software transactional memory. In: Aguilera MK, Aspnes J (eds) Proceedings of the twenty-fourth annual ACM symposium on principles of distributed computing. ACM, New York, pp 240–248. http://doi.acm.org/10.1145/1073814.1073861
Tanenbaum A, Steen M (2002) Distributed systems: principles and paradigms. Prentice Hall, New York. Chapter 5
Usui T, Behrends R, Evans J, Smaragdakis Y (2009) Adaptive locks: combining transactions and locks for efficient concurrency. In: Proceedings of the 18th international conference on parallel architecture and compilation techniques. IEEE Computer Society, Washington, DC
Yoo RM, Lee HHS (2008) Adaptive transaction scheduling for transactional memory systems. In: Proceedings of the twentieth annual symposium on parallelism in algorithms and architectures. ACM, New York, pp 169–178. http://doi.acm.org/10.1145/1378533.1378564
Zhang J, Huang Z, Chen W, Huang Q, Zheng W (2008) Maotai: view-oriented parallel programming on CMT processors. In: Proceedings of the 37th international conference on parallel processing, pp 636–643
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Leung, KC., Chen, Y. & Huang, Z. Restricted admission control in view-oriented transactional memory. J Supercomput 63, 348–366 (2013). https://doi.org/10.1007/s11227-011-0733-y
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-011-0733-y