Elastic transactions
This paper presents elastic transactions, an appealing alternative to traditional transactions, in particular to implement search structures in shared memory multicore architectures. Upon conflict detection, an elastic transaction might drop what it did so far within a separate transaction that imme...
Gespeichert in:
Veröffentlicht in: | Journal of parallel and distributed computing 2017-02, Vol.100, p.103-127 |
---|---|
Hauptverfasser: | , , |
Format: | Artikel |
Sprache: | eng |
Schlagworte: | |
Online-Zugang: | Volltext |
Tags: |
Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
|
Zusammenfassung: | This paper presents elastic transactions, an appealing alternative to traditional transactions, in particular to implement search structures in shared memory multicore architectures. Upon conflict detection, an elastic transaction might drop what it did so far within a separate transaction that immediately commits, and resume its computation within a new transaction which might itself be elastic.
We present the elastic transaction model and an implementation of it, then we illustrate its simplicity and performance on various concurrent data structures, namely double-ended queue, hash table, linked list, and skip list. Elastic transactions outperform classical ones on various workloads, with an improvement of 35% on average. They also exhibit competitive performance compared to lock-based techniques and are much simpler to program with than lock-free alternatives.
•Elastic transaction is a new relaxed transactional model.•Elastic transaction offers better performance than classic transaction when used instead.•Elastic transaction is especially suited for search structures. |
---|---|
ISSN: | 0743-7315 1096-0848 |
DOI: | 10.1016/j.jpdc.2016.10.010 |