Proceedings of the 26th ACM Symposium on Parallelism in Algorithms and Architectures 2014
DOI: 10.1145/2612669.2612696
|View full text |Cite
|
Sign up to set email alerts
|

Adaptive integration of hardware and software lock elision techniques

Abstract: Transactional Lock Elision (TLE) and optimistic software execution can both improve scalability of lock-based programs. The former uses hardware transactional memory (HTM) without requiring code changes; the latter involves modest code changes but does not require special hardware support. Numerous factors affect the choice of technique, including: critical section code, calling context, workload characteristics, and hardware support for synchronization.The ALE library integrates these techniques, and collects… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

2
9
0

Year Published

2015
2015
2018
2018

Publication Types

Select...
6
1

Relationship

0
7

Authors

Journals

citations
Cited by 30 publications
(11 citation statements)
references
References 10 publications
2
9
0
Order By: Relevance
“…Since our implementation of ALE uses GCC TM, the transformation is automated by the GCC that generates the necessary code paths and instrumentations. Our first comparisons of ALE to the original Kyoto CacheDB showed that the original read-write lock is a performance bottleneck, which concurs with the results of [13]. We also found that Kyoto performs an excessive amount of explicit thread context switches due to the specific implementation of reader-writer spin locks in the Linux pthreads library.…”
Section: Kyotocabinetsupporting
confidence: 85%
See 1 more Smart Citation
“…Since our implementation of ALE uses GCC TM, the transformation is automated by the GCC that generates the necessary code paths and instrumentations. Our first comparisons of ALE to the original Kyoto CacheDB showed that the original read-write lock is a performance bottleneck, which concurs with the results of [13]. We also found that Kyoto performs an excessive amount of explicit thread context switches due to the specific implementation of reader-writer spin locks in the Linux pthreads library.…”
Section: Kyotocabinetsupporting
confidence: 85%
“…Afek, Matveev and Shavit [4] proposed PLE, an all-software version of HLE for read-write locks that uses a fully pessimistic STM, but still has software-software concurrency that results in using the expensive quiescence mechanism [10,21,22]. A recent paper by Dice et al [13] proposes to integrate both hardware and software into an adaptive scheme, but has a software mode that has software-software concurrency as well, and proposes manual code modifications to avoid software costs.…”
Section: Recent Work Bymentioning
confidence: 99%
“…We conducted a performance analysis of Kyoto Cache DB and concur with [9] that the global reader-writer lock is indeed the problem. However, we also found that Kyoto performs an excessive amount of thread context switches due to the specific implementation of reader-writer spin locks in the Linux pthreads library.…”
Section: % Updatessupporting
confidence: 52%
“…However, Kyoto fails to scale with increasing numbers of threads, and in fact it usually collapses after 3-4 threads. Recent work by Dice et al [9] observed a scalability bottleneck and indicated that the problem is the global reader-writer lock that Kyoto uses to synchronize database operations.…”
Section: % Updatesmentioning
confidence: 99%
“…Finally, recent works [8,4] have investigated the use of online profiling and optimization techniques in a similar spirit to what Seer does, but for a different, complementary purpose: decide the best software fall-back and retry policies.…”
Section: Related Workmentioning
confidence: 99%