Wed 15 Jun 2022 10:40 - 11:00 at Toucan - Memory Chair(s): Clément Pit-Claudel
Wed 15 Jun 2022 22:40 - 23:00 at Toucan - Memory

Safe memory reclamation (SMR) schemes are an essential tool for lock-free data structures and concurrent programming. However, manual SMR schemes are notoriously difficult to apply correctly, and automatic schemes, such as reference counting, have been argued for over a decade to be too slow for practical purposes. A recent wave of work has disproved this long-held notion and shown that automatic reference counting can be as scalable as hazard pointers, one of the most common manual techniques. Despite these tremendous improvements, there remains a gap of up to 2x or more in performance between these schemes and faster manual techniques such as epoch-based reclamation (EBR).

In this work, we first advance these ideas and show that in most cases, automatic reference counting can in fact be as fast as the fastest manual SMR techniques while using a similar amount of memory. Our technique is based on the recent Concurrent Deferred Reference Counting (CDRC) algorithm of Anderson et al., which we generalize to obtain a method for converting any standard manual SMR technique into an automatic reference counting technique with a similar performance profile. Our second contribution is an extension of this framework that supports weak pointers, reference-counted pointers that automatically break pointer cycles by not contributing to the reference count, thus addressing a common weakness in reference-counted garbage collection.

Our experiments with a C++-library implementation show that our automatic techniques perform in line with their manual counterparts, and that our weak pointer implementation outperforms the best known atomic weak pointer library by up to an order of magnitude on high thread counts. All together, we show that the ease of use of automatic memory management can be achieved without significant cost to the practical performance or general applicability.

Wed 15 Jun

Displayed time zone: Pacific Time (US & Canada) change

10:40 - 12:00
MemoryPLDI at Toucan +12h
Chair(s): Clément Pit-Claudel EPFL, AWS
10:40
20m
Talk
Is it Time to Retire Manual Concurrent Memory Reclamation?
PLDI
Daniel Anderson Carnegie Mellon University, Guy E. Blelloch Carnegie Mellon University, Yuanhao Wei Carnegie Mellon University, USA
11:00
20m
Talk
Low-Latency, High-Throughput Garbage Collection
PLDI
Wenyu Zhao Australian National University, Steve Blackburn Google and Australian National University, Kathryn S McKinley Google
DOI
11:20
20m
Talk
Mako: A Low-Pause, High-Throughput Evacuating Collector for Memory-Disaggregated Datacenters
PLDI
Haoran Ma University of California, Los Angeles, Shi Liu UCLA, Chenxi Wang UCLA, Yifan Qiao UCLA, Michael D. Bond Ohio State University, Steve Blackburn Google and Australian National University, Miryung Kim University of California at Los Angeles, USA, Guoqing Harry Xu University of California at Los Angeles
DOI
11:40
20m
Talk
PaC-trees: Supporting Parallel and Compressed Purely-Functional Collections
PLDI
Laxman Dhulipala Carnegie Mellon University, Guy E. Blelloch Carnegie Mellon University, Yan Gu UC Riverside, Yihan Sun University of California, Riverside
DOI
22:40 - 00:00
MemoryPLDI at Toucan
22:40
20m
Talk
Is it Time to Retire Manual Concurrent Memory Reclamation?
PLDI
Daniel Anderson Carnegie Mellon University, Guy E. Blelloch Carnegie Mellon University, Yuanhao Wei Carnegie Mellon University, USA
23:00
20m
Talk
Low-Latency, High-Throughput Garbage Collection
PLDI
Wenyu Zhao Australian National University, Steve Blackburn Google and Australian National University, Kathryn S McKinley Google
DOI
23:20
20m
Talk
Mako: A Low-Pause, High-Throughput Evacuating Collector for Memory-Disaggregated Datacenters
PLDI
Haoran Ma University of California, Los Angeles, Shi Liu UCLA, Chenxi Wang UCLA, Yifan Qiao UCLA, Michael D. Bond Ohio State University, Steve Blackburn Google and Australian National University, Miryung Kim University of California at Los Angeles, USA, Guoqing Harry Xu University of California at Los Angeles
DOI
23:40
20m
Talk
PaC-trees: Supporting Parallel and Compressed Purely-Functional Collections
PLDI
Laxman Dhulipala Carnegie Mellon University, Guy E. Blelloch Carnegie Mellon University, Yan Gu UC Riverside, Yihan Sun University of California, Riverside
DOI