Abstract
Lock-free algorithms guarantee progress by having threads help one another. Complex lock-free operations facilitate helping by creating descriptor objects that describe how other threads should help them. In many lock-free algorithms, a new descriptor is allocated for each operation. After an operation completes, its descriptor must be reclaimed by a memory reclamation scheme. Allocating and reclaiming descriptors introduces significant space and time overhead.
We present a transformation for a class of lock-free algorithms that allows each thread to efficiently reuse a single descriptor. Experiments on a variety of workloads show that our transformation yields significant improvements over implementations that reclaim descriptors.
- T. Brown. Reclaiming memory for lock-free data structures: There has to be a better way. In phPODC '15, pages 261--270.Google Scholar
- T. Brown, F. Ellen, and E. Ruppert. A general technique for non-blocking trees. In phPPoPP '14, pages 329--342.Google Scholar
- F. Ellen, P. Fatourou, E. Ruppert, and F. van Breugel. Non-blocking binary search trees. In phPODC '10, pages 131--140.Google Scholar
- T. L. Harris, K. Fraser, and I. A. Pratt. A practical multi-word compare-and-swap operation. In phDISC '02, pages 265--279.Google Scholar
- S. V. Howley and J. Jones. A non-blocking internal binary search tree. In phSPAA '12, pages 161--171.Google Scholar
- P. E. McKenney and J. D. Slingwine. Read-copy update: Using execution history to solve concurrency problems. In phParallel and Distributed Computing and Systems, pages 509--518, 1998.Google Scholar
- M. M. Michael. Hazard pointers: Safe memory reclamation for lock-free objects. phIEEE Trans. Parallel Distrib. Syst., 15 (6): 491--504, June 2004. Google Scholar
Digital Library
Index Terms
POSTER: Reuse, don't Recycle: Transforming Algorithms that Throw Away Descriptors
Recommendations
POSTER: Reuse, don't Recycle: Transforming Algorithms that Throw Away Descriptors
PPoPP '17: Proceedings of the 22nd ACM SIGPLAN Symposium on Principles and Practice of Parallel ProgrammingLock-free algorithms guarantee progress by having threads help one another. Complex lock-free operations facilitate helping by creating descriptor objects that describe how other threads should help them. In many lock-free algorithms, a new descriptor ...
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 ...
Automatic memory reclamation for lock-free data structures
OOPSLA '15Lock-free data-structures are widely employed in practice, yet designing lock-free memory reclamation for them is notoriously difficult. In particular, all known lock-free reclamation schemes are ``manual'' in the sense that the developer has to ...







Comments