• DocumentCode
    3664197
  • Title

    Parallelizing a Real-Time Audio Application -- A Case Study in Multithreaded Software Engineering

  • Author

    Marc Aurel Kiefer;Korbinian Molitorisz;Jochen Bieler;Walter F. Tichy

  • Author_Institution
    Karlsruhe Inst. of Technol., Inst. for Program Struct. &
  • fYear
    2015
  • fDate
    5/1/2015 12:00:00 AM
  • Firstpage
    405
  • Lastpage
    414
  • Abstract
    Multicore hardware is ubiquitous, but billions of lines of code in performance-critical commodity software are still sequential. Although parallel libraries, design patterns, and best practice guidelines are available, thinking parallel is still a big challenge for many software engineers. In this paper we present a case study on parallelizing commodity software using a commercial real-time audio application with over 700,000 lines of code. In contrast to best practice guidelines, our goal is to investigate what parallelization strategy can effectively be used in data stream-intensive applications. Performing an in-depth analysis of the software architecture and its run-time performance, we locate parallelization potential and propose three different parallelization strategies. We evaluate them with respect to their parallel performance impact. Regarding the application´s intrinsic real-time requirement and a very short audio cycle turnaround time, a busy-waiting strategy offers the best audio performance of 327 μs per cycle on an eight-core machine. With an efficiency of 99% this is close to the optimal schedule.
  • Keywords
    "Instruction sets","Hardware","Real-time systems","Optimal scheduling","Mixers","Software architecture"
  • Publisher
    ieee
  • Conference_Titel
    Parallel and Distributed Processing Symposium Workshop (IPDPSW), 2015 IEEE International
  • Type

    conf

  • DOI
    10.1109/IPDPSW.2015.32
  • Filename
    7284339