The One Pass (OP) Compactor: An Intellectual Abstract
Compaction algorithms alleviate fragmentation by relocating heap objects to compacted areas. A full heap compaction eliminates fragmentation by compacting all objects into the lower addresses of the heap. Following a marking phase that marks all reachable (live) objects, the compactor needs to copy all marked objects to the beginning of the address space and fix all pointers to reference the new object locations. Initially, this process required three heap passes (beyond the marking phase). However, modern algorithms, culminating in the Compressor, have reduced this cost to a single heap pass plus a single pass over an auxiliary table, that is smaller than (yet proportional to) the size of the heap. In this paper, we introduce the One Pass (OP) Compactor: a novel combination of existing compactors that reduces the complexity of compaction to a single heap pass. This represents arguably the best possible complexity for a compaction algorithm. Additionally, we extend the OP compactor with a parallel version, enabling scalability on a multicore platform.
This paper is classified as an intellectual abstract because it introduces the new algorithm but does not provide an accompanying implementation and evaluation.
Tue 25 JunDisplayed time zone: Windhoek change
14:40 - 15:40 | ISMM: Session 3 - Intellectual AbstractsISMM 2024 at Iceland Chair(s): Michael D. Bond Ohio State University | ||
14:40 20mTalk | The One Pass (OP) Compactor: An Intellectual Abstract ISMM 2024 DOI | ||
15:00 20mTalk | BatchIt: Optimizing Message-Passing Allocators for Producer-Consumer Workloads: An Intellectual Abstract ISMM 2024 DOI Pre-print | ||
15:20 20mTalk | Reference Counting Deeply Immutable Data Structures with Cycles: An Intellectual Abstract ISMM 2024 Matthew J. Parkinson Microsoft Azure Research, Sylvan Clebsch Microsoft Azure Research, Tobias Wrigstad Uppsala University DOI Pre-print |