TY - GEN
T1 - Brief announcement
T2 - 35th International Symposium on Distributed Computing, DISC 2021
AU - Assa, Gal
AU - Meir, Hagar
AU - Golan-Gueta, Guy
AU - Keidar, Idit
AU - Spiegelman, Alexander
N1 - Publisher Copyright: © Gal Assa, Hagar Meir, Guy Golan-Gueta, Idit Keidar, and Alexander Spiegelman; licensed under Creative Commons License CC-BY 4.0
PY - 2021/10/1
Y1 - 2021/10/1
N2 - Transactional data structure libraries (TDSL) combine the ease-of-programming of transactions with the high performance and scalability of custom-tailored concurrent data structures. They can be very efficient thanks to their ability to exploit data structure semantics in order to reduce overhead, aborts, and wasted work compared to general-purpose software transactional memory. However, TDSLs were not previously used for complex use-cases involving long transactions and a variety of data structures. In this paper, we boost the performance and usability of a TDSL, towards allowing it to support complex applications. A key idea is nesting. Nested transactions create checkpoints within a longer transaction, so as to limit the scope of abort, without changing the semantics of the original transaction. We build a Java TDSL with built-in support for nested transactions over a number of data structures. We conduct a case study of a complex network intrusion detection system that invests a significant amount of work to process each packet. Our study shows that our library outperforms publicly available STMs twofold without nesting, and by up to 16x when nesting is used.
AB - Transactional data structure libraries (TDSL) combine the ease-of-programming of transactions with the high performance and scalability of custom-tailored concurrent data structures. They can be very efficient thanks to their ability to exploit data structure semantics in order to reduce overhead, aborts, and wasted work compared to general-purpose software transactional memory. However, TDSLs were not previously used for complex use-cases involving long transactions and a variety of data structures. In this paper, we boost the performance and usability of a TDSL, towards allowing it to support complex applications. A key idea is nesting. Nested transactions create checkpoints within a longer transaction, so as to limit the scope of abort, without changing the semantics of the original transaction. We build a Java TDSL with built-in support for nested transactions over a number of data structures. We conduct a case study of a complex network intrusion detection system that invests a significant amount of work to process each packet. Our study shows that our library outperforms publicly available STMs twofold without nesting, and by up to 16x when nesting is used.
KW - Transactional Libraries
UR - http://www.scopus.com/inward/record.url?scp=85118116386&partnerID=8YFLogxK
U2 - https://doi.org/10.4230/LIPIcs.DISC.2021.45
DO - https://doi.org/10.4230/LIPIcs.DISC.2021.45
M3 - منشور من مؤتمر
T3 - Leibniz International Proceedings in Informatics, LIPIcs
BT - 35th International Symposium on Distributed Computing, DISC 2021
A2 - Gilbert, Seth
Y2 - 4 October 2021 through 8 October 2021
ER -