ABSTRACT
We present a new technique for reclaiming memory in concurrent shared memory algorithms with n asynchronous processes. Our methodology can be applied in the same settings as hazard pointers [10], but provides better worst-case guarantees: For the same tasks for which hazard pointers have expected constant amortized complexity, our technique guarantees constant time in the worst-case.
We use our technique to implement efficient randomized long-lived test-and-set (TAS) objects from registers, based on known constructions of randomized one-time TAS objects [2, 9]. One of our constructions uses O(n) space (which is optimal), and the reset() and Test&Set() operations have expected step complexity O(log log n) against the oblivious adversary.
We also present a general method of augmenting shared objects with a reset() operation which can be used to reset the object into its initial state at any time. In many cases the transformation is optimal with respect to the time complexity of the resulting object. E.g., an object implemented from m registers can be augmented with a reset() operation which has O(1) time complexity and without affecting the asymptotic time complexity of other operations; the resulting object uses O(n2 ⋅ m) unbounded registers.
- Y. Afek, E. Gafni, J. Tromp, and P. M. B. Vitányi. Wait-free test-and-set. In Proc. of 6th WDAG, pages 85--94, 1992. Google ScholarDigital Library
- D. Alistarh and J. Aspnes. Sub-logarithmic test-and-set against a weak adversary. In Proc. of 25th DISC, pages 97--109, 2011. Google ScholarDigital Library
- D. Alistarh, H. Attiya, S. Gilbert, A. Giurgiu, and R. Guerraoui. Fast randomized test-and-set and renaming. In Proc. of 24th DISC, pages 94--108, 2010. Google ScholarDigital Library
- S. M. Blackburn, P. Cheng, and K. S. McKinley. Myths and realities: the performance impact of garbage collection. SIGMETRICS Perform. Eval. Rev., 32(1):25--36, June 2004. Google ScholarDigital Library
- T. Brown, F. Ellen, and E. Ruppert. Pragmatic primitives for non-blocking data structures. In Proc. of 32th PODC, 2013. To appear. Google ScholarDigital Library
- J. E. Burns and N. A. Lynch. Bounds on shared memory for mutual exclusion. Information and Computation, 107(2):171--184, 1993. Google ScholarDigital Library
- F. Ellen and P. Woelfel. An optimal implementation of fetch-and-increment. Manuscript, 2013.Google Scholar
- H. Gao, J. F. Groote, and W. H. Hesselink. Lock-free parallel and concurrent garbage collection by mark&sweep. Sci. Comput. Program., 64(3):341--374, Feb. 2007. Google ScholarDigital Library
- G. Giakkoupis and P. Woelfel. On the time and space complexity of randomized test-and-set. In Proc. of 31th PODC, pages 19--28, 2012. Google ScholarDigital Library
- M. M. Michael. Hazard pointers: Safe memory reclamation for lock-free objects. IEEE Trans. Parallel Distrib. Syst., 15(6):491--504, 2004. Google ScholarDigital Library
Index Terms
- Brief announcement: resettable objects and efficient memory reclamation for concurrent algorithms
Recommendations
Making objects writable
PODC '14: Proceedings of the 2014 ACM symposium on Principles of distributed computingWe devise a technique for augmenting shared objects in the standard n-process shared memory model with a linearizable Write{} operation, using bounded space and optimal worst-case step complexity. We provide a transformation of any shared object SW ...
Brief Announcement: An Exponential Separation Between Randomized and Deterministic Complexity in the LOCAL Model
PODC '16: Proceedings of the 2016 ACM Symposium on Principles of Distributed ComputingOver the past 30 years numerous algorithms have been designed for symmetry breaking problems in the LOCAL model, such as maximal matching, MIS, vertex coloring, and edge-coloring. For most problems the best randomized algorithm is at least exponentially ...
Efficient and Reliable Lock-Free Memory Reclamation Based on Reference Counting
We present an efficient and practical lock-free method for semiautomatic (application-guided) memory reclamation based on reference counting, aimed for use with arbitrary lock-free dynamic data structures. The method guarantees the safety of local as ...
Comments