Skip to main content
Top

2019 | OriginalPaper | Chapter

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

Authors : Sathya Peri, Ajay Singh, Archit Somani

Published in: Networked Systems

Publisher: Springer International Publishing

Activate our intelligent search to find suitable subject content or patents.

search-config
loading …

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.

Dont have a licence yet? Then find out more about our products and how to get one now:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Footnotes
1
While some conflicts of lower level do not matter at higher level, some other conflicts do. An example illustrating this is shown in the technical report [8].
 
Literature
1.
go back to reference Herlihy, M., Moss, J.E.B.: Transactional memory: architectural support for lock-free data structures. SIGARCH Comput. Archit. News 21(2), 289–300 (1993)CrossRef Herlihy, M., Moss, J.E.B.: Transactional memory: architectural support for lock-free data structures. SIGARCH Comput. Archit. News 21(2), 289–300 (1993)CrossRef
2.
go back to reference Shavit, N., Touitou, D.: Software transactional memory. In: PODC, pp. 204–213 (1995) Shavit, N., Touitou, D.: Software transactional memory. In: PODC, pp. 204–213 (1995)
3.
go back to reference Harris, T., Marlow, S., Peyton-Jones, S., Herlihy, M.: Composable memory transactions. In: PPOPP, New York, NY, USA, pp. 48–60. ACM (2005) Harris, T., Marlow, S., Peyton-Jones, S., Herlihy, M.: Composable memory transactions. In: PPOPP, New York, NY, USA, pp. 48–60. ACM (2005)
4.
go back to reference Weikum, G., Vossen, G.: Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery. Morgan Kaufmann, Burlington (2002) Weikum, G., Vossen, G.: Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery. Morgan Kaufmann, Burlington (2002)
5.
go back to reference Herlihy, M., Shavit, N.: The Art of Multiprocessor Programming. Elsevier Science, Amsterdam (2012) Herlihy, M., Shavit, N.: The Art of Multiprocessor Programming. Elsevier Science, Amsterdam (2012)
6.
go back to reference 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)MathSciNetCrossRef 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)MathSciNetCrossRef
7.
go back to reference Guerraoui, R., Kapalka, M.: On the correctness of transactional memory. In: PPOPP, pp. 175–184. ACM (2008) Guerraoui, R., Kapalka, M.: On the correctness of transactional memory. In: PPOPP, pp. 175–184. ACM (2008)
8.
go back to reference Peri, S., Singh, A., Somani, A.: Efficient means of achieving composability using transactional memory. CoRR abs/1709.00681 (2017) Peri, S., Singh, A., Somani, A.: Efficient means of achieving composability using transactional memory. CoRR abs/1709.00681 (2017)
9.
go back to reference Harris, T., et al.: Abstract nested transactions (2007) Harris, T., et al.: Abstract nested transactions (2007)
10.
11.
go back to reference Kuznetsov, P., Peri, S.: Non-interference and local correctness in transactional memory. Theory Comput. Sci. 688, 103–116 (2017)MathSciNetCrossRef Kuznetsov, P., Peri, S.: Non-interference and local correctness in transactional memory. Theory Comput. Sci. 688, 103–116 (2017)MathSciNetCrossRef
12.
go back to reference Felber, P., Gramoli, V., Guerraoui, R.: Elastic transactions. J. Parallel Distrib. Comput. 100(C), 103–127 (2017)CrossRef Felber, P., Gramoli, V., Guerraoui, R.: Elastic transactions. J. Parallel Distrib. Comput. 100(C), 103–127 (2017)CrossRef
13.
go back to reference 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) 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)
14.
go back to reference 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) 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)
15.
go back to reference Herlihy, M., Koskinen, E.: Transactional boosting: a methodology for highly-concurrent transactional objects. In: PPOPP, pp. 207–216. ACM (2008) Herlihy, M., Koskinen, E.: Transactional boosting: a methodology for highly-concurrent transactional objects. In: PPOPP, pp. 207–216. ACM (2008)
16.
go back to reference Ni, Y., et al.: Open nesting in software transactional memory. In: PPOPP. ACM (2007) Ni, Y., et al.: Open nesting in software transactional memory. In: PPOPP. ACM (2007)
17.
go back to reference Hassan, A., Palmieri, R., Ravindran, B.: Optimistic transactional boosting. In: Moreira, J.E., Larus, J.R. (eds.) PPOPP, pp. 387–388. ACM (2014) Hassan, A., Palmieri, R., Ravindran, B.: Optimistic transactional boosting. In: Moreira, J.E., Larus, J.R. (eds.) PPOPP, pp. 387–388. ACM (2014)
18.
go back to reference Spiegelman, A., Golan-Gueta, G., Keidar, I.: Transactional data structure libraries. In: PLDI, pp. 682–696. ACM (2016) Spiegelman, A., Golan-Gueta, G., Keidar, I.: Transactional data structure libraries. In: PLDI, pp. 682–696. ACM (2016)
19.
go back to reference Fraser, K., Harris, T.: Concurrent programming without locks. ACM Trans. Comput. Syst. 25(2), 5 (2007)CrossRef Fraser, K., Harris, T.: Concurrent programming without locks. ACM Trans. Comput. Syst. 25(2), 5 (2007)CrossRef
21.
go back to reference Herlihy, M.P., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. 12(3), 463–492 (1990)CrossRef Herlihy, M.P., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. 12(3), 463–492 (1990)CrossRef
Metadata
Title
Efficient Means of Achieving Composability Using Object Based Semantics in Transactional Memory Systems
Authors
Sathya Peri
Ajay Singh
Archit Somani
Copyright Year
2019
DOI
https://doi.org/10.1007/978-3-030-05529-5_11

Premium Partner