Brief announcement: resettable objects and efficient memory reclamation for concurrent algorithms

  • Authors:
  • Zahra Aghazadeh;Wojciech Golab;Philipp Woelfel

  • Affiliations:
  • University of Calgary, Calgary, AB, Canada;University of Waterloo, Waterloo, ON, Canada;University of Calgary, Calgary, AB, Canada

  • Venue:
  • Proceedings of the 2013 ACM symposium on Principles of distributed computing
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

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.