Advertisement

Efficient Means of Achieving Composability Using Object Based Semantics in Transactional Memory Systems

  • Sathya PeriEmail author
  • Ajay SinghEmail author
  • Archit SomaniEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11028)

Abstract

Composing together the individual atomic methods of concurrent data-structures (cds) pose multiple design and consistency challenges. In this context composition provided by transactions in software transaction memory (STM) can be handy. However, most of the STMs offer read/write primitives to access shared cds. These read/write primitives result in unnecessary aborts. Instead, semantically rich higher-level methods of the underlying cds like lookup, insert or delete (in case of hash-table or lists) aid in ignoring unimportant lower level read/write conflicts and allow better concurrency.

In this paper, we adapt transaction tree model in databases to propose OSTM which enables efficient composition in cds. We extend the traditional notion of conflicts and legality to higher level methods of cds using STMs and lay down detailed correctness proof to show that it is co-opaque. We implement OSTM with concurrent closed addressed hash-table (HT-OSTM) and list (list-OSTM ) which exports the higher-level operations as transaction interface.

In our experiments with varying workloads and randomly generated transaction operations, HT-OSTM shows speedup of 3 to 6 times and w.r.t aborts HT-OSTM is 3 to 7 times better than ESTM and read/write based STM, respectively. Where as, list-OSTM outperforms state of the art lock-free transactional list, NOrec STM list and boosted list by 30% to 80% across all workloads and scenarios. Further, list-OSTM incurred negligible aborts in comparison to other techniques considered in the paper.

Keywords

Concurrent data structures Composability Software transactional memory Opacity Co-opacity 

Notes

Acknowledgment

We extend our thanks to Dr. Roy Friedman and anonymous reviewers for careful reading of the draft and suggestions. This research is partially supported by the grant from Board of Research in Nuclear Sciences (BRNS), India with project number- 36(3)/14/19/2016-BRNS/36019.

References

  1. 1.
    Herlihy, M., Moss, J.E.B.: Transactional memory: architectural support for lock-free data structures. SIGARCH Comput. Archit. News 21(2), 289–300 (1993)CrossRefGoogle Scholar
  2. 2.
    Shavit, N., Touitou, D.: Software transactional memory. In: PODC, pp. 204–213 (1995)Google Scholar
  3. 3.
    Harris, T., Marlow, S., Peyton-Jones, S., Herlihy, M.: Composable memory transactions. In: PPOPP, New York, NY, USA, pp. 48–60. ACM (2005)Google Scholar
  4. 4.
    Weikum, G., Vossen, G.: Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery. Morgan Kaufmann, Burlington (2002)Google Scholar
  5. 5.
    Herlihy, M., Shavit, N.: The Art of Multiprocessor Programming. Elsevier Science, Amsterdam (2012)Google Scholar
  6. 6.
    Heller, S., Herlihy, M., Luchangco, V., Moir, M., Scherer, W.N., Shavit, N.: A lazy concurrent list-based set algorithm. Parallel Process. Lett. 17(4), 411–424 (2007)MathSciNetCrossRefGoogle Scholar
  7. 7.
    Guerraoui, R., Kapalka, M.: On the correctness of transactional memory. In: PPOPP, pp. 175–184. ACM (2008)Google Scholar
  8. 8.
    Peri, S., Singh, A., Somani, A.: Efficient means of achieving composability using transactional memory. CoRR abs/1709.00681 (2017)Google Scholar
  9. 9.
    Harris, T., et al.: Abstract nested transactions (2007)Google Scholar
  10. 10.
    Papadimitriou, C.H.: The serializability of concurrent database updates. J. ACM 26(4), 631–653 (1979)MathSciNetCrossRefGoogle Scholar
  11. 11.
    Kuznetsov, P., Peri, S.: Non-interference and local correctness in transactional memory. Theory Comput. Sci. 688, 103–116 (2017)MathSciNetCrossRefGoogle Scholar
  12. 12.
    Felber, P., Gramoli, V., Guerraoui, R.: Elastic transactions. J. Parallel Distrib. Comput. 100(C), 103–127 (2017)CrossRefGoogle Scholar
  13. 13.
    Zhang, D., Dechev, D.: Lock-free transactions without rollbacks for linked data structures. In: SPAA 2016, New York, NY, USA, pp. 325–336. ACM (2016)Google Scholar
  14. 14.
    Dalessandro, L., Spear, M.F., Scott, M.L.: NOrec: streamlining STM by abolishing ownership records. In: Govindarajan, R., Padua, D.A., Hall, M.W., (eds.) PPOPP, pp. 67–78. ACM (2010)Google Scholar
  15. 15.
    Herlihy, M., Koskinen, E.: Transactional boosting: a methodology for highly-concurrent transactional objects. In: PPOPP, pp. 207–216. ACM (2008)Google Scholar
  16. 16.
    Ni, Y., et al.: Open nesting in software transactional memory. In: PPOPP. ACM (2007)Google Scholar
  17. 17.
    Hassan, A., Palmieri, R., Ravindran, B.: Optimistic transactional boosting. In: Moreira, J.E., Larus, J.R. (eds.) PPOPP, pp. 387–388. ACM (2014)Google Scholar
  18. 18.
    Spiegelman, A., Golan-Gueta, G., Keidar, I.: Transactional data structure libraries. In: PLDI, pp. 682–696. ACM (2016)Google Scholar
  19. 19.
    Fraser, K., Harris, T.: Concurrent programming without locks. ACM Trans. Comput. Syst. 25(2), 5 (2007)CrossRefGoogle Scholar
  20. 20.
    Kuznetsov, P., Ravi, S.: On the cost of concurrency in transactional memory. In: Fernàndez Anta, A., Lipari, G., Roy, M. (eds.) OPODIS 2011. LNCS, vol. 7109, pp. 112–127. Springer, Heidelberg (2011).  https://doi.org/10.1007/978-3-642-25873-2_9CrossRefGoogle Scholar
  21. 21.
    Herlihy, M.P., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. 12(3), 463–492 (1990)CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.Department of Computer Science and EngineeringIIT HyderabadHyderabadIndia

Personalised recommendations