Skip to main content

Abort Free SemanticTM by Dependency Aware Scheduling of Transactional Instructions

  • Conference paper
  • First Online:
Networked Systems (NETYS 2014)

Part of the book series: Lecture Notes in Computer Science ((LNCCN,volume 8593))

Included in the following conference series:

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).

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Computation on local variables can be included in the code of function \(f\). For this reason, such a function may also be maintained for read instructions.

References

  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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  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. 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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  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. 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)

    Chapter  Google Scholar 

  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)

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  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)

    Chapter  Google Scholar 

  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. 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. 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)

    Chapter  Google Scholar 

  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. 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. 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. 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. Matveev, A., Shavit, N.: Towards a fully pessimistic stm model. In: 7th ACM SIGPLAN Workshop on Transactional Computing, TRANSACT’12 (2012)

    Google Scholar 

  19. Motwani, R., Phillips, S., Torng, E.: Non-clairvoyant scheduling. Theor. Comput. Sci. 130(1), 17–47 (1994)

    Article  MATH  MathSciNet  Google Scholar 

  20. Pandis, I., Johnson, R., Hardavellas, N., Ailamaki, A.: Data-oriented transaction execution. Proc. VLDB Endow. 3(1–2), 928–939 (2010)

    Article  Google Scholar 

  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. 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. Riegel, T.: Software transactional memory building blocks. Ph.D. thesis, Technische Universität Dresden, Dresden, 01062 Dresden, Germany (2013)

    Google Scholar 

  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. 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. 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)

    Article  Google Scholar 

  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 

Download references

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).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Shlomi Dolev .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Avni, H., Dolev, S., Fatourou, P., Kosmas, E. (2014). Abort Free SemanticTM by Dependency Aware Scheduling of Transactional Instructions. In: Noubir, G., Raynal, M. (eds) Networked Systems. NETYS 2014. Lecture Notes in Computer Science(), vol 8593. Springer, Cham. https://doi.org/10.1007/978-3-319-09581-3_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-09581-3_3

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-09580-6

  • Online ISBN: 978-3-319-09581-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics