Realtime Audio with Garbage Collection

Master thesis English OPEN
Matheussen, Kjetil Svalastog (2010)
  • Subject:
    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.
  • References (9)

    Dominique Fober, Yann Orlarey, and Stephane Letz. Lock-Free Techniques for Concurrent Access to Shared Objects. Actes des Journes dInformatique Musicale JIM2002, Marseille, pages 143- 150, 2002.

    Syst., 28(1):1-69, 2006.

    [MRR+08] M. Masmano, I. Ripoll, J. Real, A. Crespo, and A. J. Wellings.

    Softw. Pract. Exper., 38(10):995-1026, 2008.

    Norman R. Nielsen. Dynamic memory allocation in computer simulation. Commun. ACM, 20(11):864-873, 1977.

    Scott Nettles and James O'Toole. Real-time replication garbage collection. SIGPLAN Not., 28(6):217-226, 1993.

    James O'Toole and Scott Nettles. Concurrent replicating garbage collection. In LFP '94: Proceedings of the 1994 ACM conference on LISP and functional programming, pages 34-42, New York, NY, USA, 1994. ACM.

    Tian Tian and Chiu-Pi Shih. Software Techniques for Shared-Cache Multi-Core Systems, Intel Knowledge Base, http://software.intel.com/en-us/articles/ software-techniques-for-shared-cache-multi-core-systems/, 2008.

    Melvin E. Conway. 1963. Design of a separable transition-diagram compiler. Communications of the ACM, 6(7):396-408.

  • Metrics
    No metrics available
Share - Bookmark