Realtime Audio with Garbage Collection
Matheussen, Kjetil Svalastog
acm: Software_PROGRAMMINGLANGUAGES | Software_OPERATINGSYSTEMS | ComputerSystemsOrganization_SPECIAL-PURPOSEANDAPPLICATION-BASEDSYSTEMS
Two non-moving concurrent garbage collectors tailored for realtime audio processing are described.
Both collectors work on copies of the heap to avoid cache misses and audio-disruptive synchronizations.
Both collectors are targeted at multiprocessor personal computers.
The first garbage collector works in uncooperative environments,
and can replace Hans Boehm's conservative garbage collector for C and C++.
The collector does not access the virtual memory system.
Neither does it use a read barrier or a write barrier.
The second garbage collector replicates the heap
using a novel algorithm.
The second collector works in similar environments as the first collector, but it requires a write barrier.
Two variants of the collector are described, each using a different type of write barrier.
Neither of the write barriers should affect audio processing performance.