KIT | KIT-Bibliothek | Impressum | Datenschutz

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

Kiefer, Marc Aurel; Molitorisz, Korbinian; Bieler, Jochen; Tichy, Walter F. ORCID iD icon

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.


Zugehörige Institution(en) am KIT Institut für Programmstrukturen und Datenorganisation (IPD)
Publikationstyp Proceedingsbeitrag
Publikationsjahr 2015
Sprache Englisch
Identifikator ISBN: 978-1-4673-7684-6
KITopen-ID: 1000051693
Erschienen in 17th Workshop on Advances in Parallel and Distributed Computational Models (APDCM) : May 25-29, 2015, Hyderabad, India
Verlag Institute of Electrical and Electronics Engineers (IEEE)
Seiten 405-414
KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft
KITopen Landing Page