Abstract
State teleportation is a new technique for exploiting hardware transactional memory (HTM) to improve existing synchronization and memory management schemes for highly-concurrent data structures. When applied to fine-grained locking, a thread holding the lock for a node launches a hardware transaction that traverses multiple successor nodes, acquires the lock for the last node reached, and releases the lock on the starting node, skipping lock acquisitions for intermediate nodes. When applied to lock-free data structures, a thread visiting a node protected by a hazard pointer launches a hardware transaction that traverses multiple successor nodes, and publishes the hazard pointer only for the last node reached, skipping the memory barriers needed to publish intermediate hazard pointers. Experimental results show that these applications of state teleportation can substantially increase the performance of both lock-based and lock-free data structures.
- Bayer, R., and Schkolnick, M. Concurrency of operations on b-trees. Acta Informatica (1977). Google Scholar
Digital Library
- Harris, T. A pragmatic implementation of non-blocking linked-lists. In DISC'01 (2001). Google Scholar
Cross Ref
- Heller, S., Herlihy, M., Luchangco, V., Moir, M., III, W. N. S., andShavit, N. A lazy concurrent list-based set algorithm. In OPODIS'05.Google Scholar
- Herlihy, M., and Moss, J. E. B. Transactional memory: architectural support for lock-free data structures. In ISCA'93. Google Scholar
Digital Library
- Intel Corporation. Transactional Synchronization in Haswell, 2012.Google Scholar
- Michael, M. M. Hazard pointers: Safe memory reclamation for lock-free objects. IEEE Trans. Parallel Distrib. Syst. (2004).Google Scholar
Index Terms
POSTER: State Teleportation via Hardware Transactional Memory
Recommendations
POSTER: State Teleportation via Hardware Transactional Memory
PPoPP '17: Proceedings of the 22nd ACM SIGPLAN Symposium on Principles and Practice of Parallel ProgrammingState teleportation is a new technique for exploiting hardware transactional memory (HTM) to improve existing synchronization and memory management schemes for highly-concurrent data structures. When applied to fine-grained locking, a thread holding the ...
Efficient Memory Management for Lock-Free Data Structures with Optimistic Access
SPAA '15: Proceedings of the 27th ACM symposium on Parallelism in Algorithms and ArchitecturesLock-free data structures achieve high responsiveness, aid scalability, and avoid deadlocks and livelocks. But providing memory management support for such data structures without foiling their progress guarantees is difficult. Often, designers employ ...
Brief Announcement: Hazard Eras - Non-Blocking Memory Reclamation
SPAA '17: Proceedings of the 29th ACM Symposium on Parallelism in Algorithms and ArchitecturesFor non-blocking data-structures, only memory reclamation with pointer-based techniques can maintain non-blocking progress, but there can be high overhead associated to these techniques, with the most notable example being Hazard Pointers. We present a ...







Comments