Publication | Open Access
Concurrent deferred reference counting with constant-time overhead
23
Citations
43
References
2021
Year
Unknown Venue
Concurrent ReferenceEngineeringComputer ArchitectureSoftware EngineeringComputational ComplexityConcurrent SystemMemory Model (Programming)Software AnalysisFormal VerificationHardware SecurityConstant-time OverheadParallel ComputingMemory ManagementConcurrent ProgrammingComputer EngineeringComputer ScienceConcurrent ProgramsProgram AnalysisConcurrency TheoryFormal MethodsParallel ProgrammingConcurrent Data StructureReference CountsGarbage CollectionSystem Software
We present a safe automatic memory reclamation approach for concurrent programs, and show that it is both theoretically and practically efficient. Our approach combines ideas from referencing counting and hazard pointers in a novel way to implement concurrent reference counting with wait-free, constant-time overhead. It overcomes the limitations of previous approaches by significantly reducing modifications to, and hence contention on, the reference counts. Furthermore, it is safer and easier to use than manual approaches. Our technique involves using a novel generalization of hazard pointers to defer reference-count decrements until no other process can be incrementing them, and to defer or elide reference-count increments for short-lived references.
| Year | Citations | |
|---|---|---|
Page 1
Page 1