Advertisement

Abort Free SemanticTM by Dependency Aware Scheduling of Transactional Instructions

  • Hillel Avni
  • Shlomi DolevEmail author
  • Panagiota Fatourou
  • Eleftherios Kosmas
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8593)

Abstract

We present a TM system that executes transactions without ever causing any aborts. The system uses a set of t-var lists, one for each transactional variable. The instructions of each transaction are placed in the appropriate t-var lists based on which t-variable each of them accesses. A set of worker threads are responsible to execute these instructions. Because of the way instructions are inserted in and removed from the lists, by the way the worker threads work, and by the fact that all the instructions of a transaction are placed in the appropriate t-var lists before doing so for the instructions of any subsequent transaction, it follows that no conflict will ever occur. Parallelism is fine-grained since it is achieved at the level of transactional instructions instead of transactions themselves (i.e., the instructions of a transaction may be executed concurrently).

Keywords

Data Dependency Read Instruction Transactional Memory Control Dependency Rendezvous Point 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Notes

Acknowledgements

This work has been supported by the project “IRAKLITOS II - University of Crete” of the Operational Programme for Education and Lifelong Learning 2007–2013 (E.P.E.D.V.M.) of the NSRF (2007–2013), co-funded by the European Union (European Social Fund) and National Resources. It has also been supported by the European Commission under the 7th Framework Program through the TransForm (FP7-MC-ITN-238639) project and by the ARISTEIA Action of the Operational Programme Education and Lifelong Learning which is co-funded by the European Social Fund (ESF) and National Resources through the GreenVM project.

The research has also been partially supported by the Rita Altura Trust Chair in Computer Sciences, Lynne and William Frankel Center for Computer Sciences, and Israel Science Foundation (grant number 428/11).

References

  1. 1.
    Afek, Y., Matveev, A., Shavit, N.: Pessimistic software lock-elision. In: Aguilera, M.K. (ed.) DISC 2012. LNCS, vol. 7611, pp. 297–311. Springer, Heidelberg (2012) CrossRefGoogle Scholar
  2. 2.
    Ansari, M., Luján, M., Kotselidis, C., Jarvis, K., Kirkham, C., Watson, I.: Steal-on-abort: improving transactional memory performance through dynamic transaction reordering. In: Seznec, A., Emer, J., O’Boyle, M., Martonosi, M., Ungerer, T. (eds.) HiPEAC 2009. LNCS, vol. 5409, pp. 4–18. Springer, Heidelberg (2009) CrossRefGoogle Scholar
  3. 3.
    Attiya, H., Epstein, L., Shachnai, H., Tamir, T.: Transactional contention management as a non-clairvoyant scheduling problem. In: Proceedings of the 25th Annual ACM Symposium on Principles of Distributed Computing, PODC ’06, ACM, New York, pp. 308–315 (2006)Google Scholar
  4. 4.
    Attiya, H., Hillel, E.: Single-version STMs can be multi-version permissive (extended abstract). In: Aguilera, M.K., Yu, H., Vaidya, N.H., Srinivasan, V., Choudhury, R.R. (eds.) ICDCN 2011. LNCS, vol. 6522, pp. 83–94. Springer, Heidelberg (2011) CrossRefGoogle Scholar
  5. 5.
    Attiya, H., Milani, A.: Brief announcement: transactional scheduling for read-dominated workloads. In: Keidar, I. (ed.) DISC 2009. LNCS, vol. 5805, pp. 108–110. Springer, Heidelberg (2009) CrossRefGoogle Scholar
  6. 6.
    Attiya, H., Sainz, D.: Relstm: a proactive transactional memory scheduler. In: Proceedings of the 8th ACM SIGPLAN Workshop on Transactional Computing, TRANSACT ’13 (2013)Google Scholar
  7. 7.
    Barreto, J., Dragojevic, A., Ferreira, P., Filipe, R., Guerraoui, R.: Unifying thread-level speculation and transactional memory. In: Narasimhan, P., Triantafillou, P. (eds.) Middleware 2012. LNCS, vol. 7662, pp. 187–207. Springer, Heidelberg (2012) CrossRefGoogle Scholar
  8. 8.
    Cintra, M., Llanos, D.R.: Design space exploration of a software speculative parallelization scheme. IEEE Trans. Parallel Distrib. Syst. 16(6), 562–576 (2005)CrossRefGoogle Scholar
  9. 9.
    Cintra, M., Martínez, J.F., Torrellas, J.: Architectural support for scalable speculative parallelization in shared-memory multiprocessors. SIGARCH Comput. Archit. News 28(2), 13–24 (2000)CrossRefGoogle Scholar
  10. 10.
    Dice, D., Shalev, O., Shavit, N.N.: Transactional locking II. In: Dolev, S. (ed.) DISC 2006. LNCS, vol. 4167, pp. 194–208. Springer, Heidelberg (2006) CrossRefGoogle Scholar
  11. 11.
    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 ’08, pp. 125–134. ACM, New York (2008)Google Scholar
  12. 12.
    Dragojević, A., Guerraoui, R., Singh, A.V., Singh, V.: Preventing versus curing: avoiding conflicts in transactional memories. In: Proceedings of the 28th ACM Symposium on Principles of Distributed Computing, PODC ’09, pp. 7–16. ACM, New York (2009)Google Scholar
  13. 13.
    Guerraoui, R., Henzinger, T.A., Singh, V.: Permissiveness in transactional memories. In: Taubenfeld, G. (ed.) DISC 2008. LNCS, vol. 5218, pp. 305–319. Springer, Heidelberg (2008) CrossRefGoogle Scholar
  14. 14.
    Guerraoui, R., Herlihy, M., Kapalka, M., Pochon, B.: Robust contention management in software transactional memory. In: OOPSLA ’05 Workshop on Synchronization and Concurrency in Object-Oriented Languages (SCOOL ’05) (2005)Google Scholar
  15. 15.
    Guerraoui, R., Herlihy, M., Pochon, B.: Toward a theory of transactional contention managers. In: Proceedings of the 24th Annual ACM Symposium on Principles of Distributed Computing, PODC ’05, pp. 258–264. ACM, New York (2005)Google Scholar
  16. 16.
    Guerraoui, R., Kapalka, M.: On the correctness of transactional memory. In: Proceedings of the 13th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP ’08, pp. 175–184. ACM, New York (2008)Google Scholar
  17. 17.
    Guerraoui, R., Kapalka, M., Vitek, J.: Stmbench7: a benchmark for software transactional memory. In: Proceedings of the 2nd ACM SIGOPS/EuroSys European Conference on Computer Systems 2007, EuroSys ’07, pp. 315–324. ACM, New York (2007)Google Scholar
  18. 18.
    Matveev, A., Shavit, N.: Towards a fully pessimistic stm model. In: 7th ACM SIGPLAN Workshop on Transactional Computing, TRANSACT’12 (2012)Google Scholar
  19. 19.
    Motwani, R., Phillips, S., Torng, E.: Non-clairvoyant scheduling. Theor. Comput. Sci. 130(1), 17–47 (1994)CrossRefzbMATHMathSciNetGoogle Scholar
  20. 20.
    Pandis, I., Johnson, R., Hardavellas, N., Ailamaki, A.: Data-oriented transaction execution. Proc. VLDB Endow. 3(1–2), 928–939 (2010)CrossRefGoogle Scholar
  21. 21.
    Perelman, D., Fan, R., Keidar, I.: On maintaining multiple versions in stm. In: Proceedings of the 29th ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing, PODC ’10, pp. 16–25. ACM, New York (2010)Google Scholar
  22. 22.
    Ramadan, H.E., Roy, I., Herlihy, M., Witchel, E.: Committing conflicting transactions in an stm. In: Proceedings of the 14th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP ’09, pp. 163–172. ACM, New York (2009)Google Scholar
  23. 23.
    Riegel, T.: Software transactional memory building blocks. Ph.D. thesis, Technische Universität Dresden, Dresden, 01062 Dresden, Germany (2013)Google Scholar
  24. 24.
    Scherer III, W.N., Scott, M.L.: Advanced contention management for dynamic software transactional memory. In: Proceedings of the 24th Annual ACM Symposium on Principles of Distributed Computing, PODC ’05, pp. 240–248. ACM, New York (2005)Google Scholar
  25. 25.
    Welc, A., Saha, B., Adl-Tabatabai, A.-R.: Irrevocable transactions and their applications. In: Proceedings of the 20th Annual Symposium on Parallelism in Algorithms and Architectures, SPAA ’08, pp. 285–296. ACM, New York (2008)Google Scholar
  26. 26.
    Yiapanis, P., Rosas-Ham, D., Brown, G., Luján, M.: Optimizing software runtime systems for speculative parallelization. ACM Trans. Archit. Code Optim. 9(4), 391–3927 (2013)CrossRefGoogle Scholar
  27. 27.
    Yoo, R.M., Lee, H.-H.S.: Adaptive transaction scheduling for transactional memory systems. In: Proceedings of the 20th Annual Symposium on Parallelism in Algorithms and Architectures, SPAA ’08, pp. 169–178. ACM, New York (2008)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Hillel Avni
    • 1
  • Shlomi Dolev
    • 2
    Email author
  • Panagiota Fatourou
    • 3
  • Eleftherios Kosmas
    • 3
  1. 1.Tel-Aviv UniversityTel AvivIsrael
  2. 2.Ben-Gurion University of the NegevBeershebaIsrael
  3. 3.FORTH-ICSUniversity of CreteRethymnoGreece

Personalised recommendations