Is it Time to Retire Manual Concurrent Memory Reclamation?
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 JunDisplayed time zone: Pacific Time (US & Canada) change
10:40 - 12:00 | |||
10:40 20mTalk | 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 20mTalk | Low-Latency, High-Throughput Garbage CollectionDistinguished Paper Award PLDI Wenyu Zhao Australian National University, Steve Blackburn Google and Australian National University, Kathryn S McKinley Google DOI | ||
11:20 20mTalk | 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 20mTalk | 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 | |||
22:40 20mTalk | 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 20mTalk | Low-Latency, High-Throughput Garbage CollectionDistinguished Paper Award PLDI Wenyu Zhao Australian National University, Steve Blackburn Google and Australian National University, Kathryn S McKinley Google DOI | ||
23:20 20mTalk | 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 20mTalk | 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 |