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

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 p...

Full description

Saved in:
Bibliographic Details
Published in2015 IEEE International Parallel and Distributed Processing Symposium Workshop pp. 405 - 414
Main Authors Kiefer, Marc Aurel, Molitorisz, Korbinian, Bieler, Jochen, Tichy, Walter F.
Format Conference Proceeding
LanguageEnglish
Published IEEE 01.05.2015
Subjects
Online AccessGet full text

Cover

Loading…
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.
AbstractList 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.
Author Kiefer, Marc Aurel
Bieler, Jochen
Molitorisz, Korbinian
Tichy, Walter F.
Author_xml – sequence: 1
  givenname: Marc Aurel
  surname: Kiefer
  fullname: Kiefer, Marc Aurel
  email: kiefer@kit.edu
  organization: Karlsruhe Inst. of Technol., Inst. for Program Struct. & Data Organ., Karlsruhe, Germany
– sequence: 2
  givenname: Korbinian
  surname: Molitorisz
  fullname: Molitorisz, Korbinian
  email: molitorisz@kit.edu
  organization: Karlsruhe Inst. of Technol., Inst. for Program Struct. & Data Organ., Karlsruhe, Germany
– sequence: 3
  givenname: Jochen
  surname: Bieler
  fullname: Bieler, Jochen
  email: jochen.bieler@student.kit.edu
  organization: Karlsruhe Inst. of Technol., Inst. for Program Struct. & Data Organ., Karlsruhe, Germany
– sequence: 4
  givenname: Walter F.
  surname: Tichy
  fullname: Tichy, Walter F.
  email: walter.tichy@kit.edu
  organization: Karlsruhe Inst. of Technol., Inst. for Program Struct. & Data Organ., Karlsruhe, Germany
BookMark eNotzM1Kw0AUQOERFLS1Wzdu5gUS5y8z6TLUqoWKxVRclpvJTb0wnYQkRerTW9DVWRz4JuwythEZu5MilVLMH1abx035mSohs1SrCzaRxjrtbG7kNZsNA1VCWWfNXLkbBhvoIQQM9ENxz4G_I4RkSwfkxbGmlhddF8jDSG3kScILvoABeTke6xOnyF-PYaTxq0eoseZl24zf0CNfxj1FxP5s3rKrBsKAs_9O2cfTcrt4SdZvz6tFsU5IiXxMfO6slk5YXysJGRhANFmVe6EQhfSgnXLC1EprWxlhpPY6a3zmjZAV5EZP2f2fS4i463o6QH_aOXVeeq5_AU1OU6U
CODEN IEEPAD
ContentType Conference Proceeding
DBID 6IE
6IL
CBEJK
RIE
RIL
DOI 10.1109/IPDPSW.2015.32
DatabaseName IEEE Electronic Library (IEL) Conference Proceedings
IEEE Proceedings Order Plan All Online (POP All Online) 1998-present by volume
IEEE Xplore All Conference Proceedings
IEEE Electronic Library Online
IEEE Proceedings Order Plans (POP All) 1998-Present
DatabaseTitleList
Database_xml – sequence: 1
  dbid: RIE
  name: IEEE Electronic Library Online
  url: https://proxy.k.utb.cz/login?url=https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
EISBN 1467376841
9781467376846
EndPage 414
ExternalDocumentID 7284339
Genre orig-research
GroupedDBID 6IE
6IL
ALMA_UNASSIGNED_HOLDINGS
CBEJK
RIB
RIC
RIE
RIL
ID FETCH-LOGICAL-i208t-c87631706cd21a5a4aee45b8c02ee01ca372704d2336b40413c35fc5c401ba843
IEDL.DBID RIE
IngestDate Wed Dec 20 05:18:51 EST 2023
IsPeerReviewed false
IsScholarly false
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-i208t-c87631706cd21a5a4aee45b8c02ee01ca372704d2336b40413c35fc5c401ba843
PageCount 10
ParticipantIDs ieee_primary_7284339
PublicationCentury 2000
PublicationDate 20150501
PublicationDateYYYYMMDD 2015-05-01
PublicationDate_xml – month: 05
  year: 2015
  text: 20150501
  day: 01
PublicationDecade 2010
PublicationTitle 2015 IEEE International Parallel and Distributed Processing Symposium Workshop
PublicationTitleAbbrev IPDPSW
PublicationYear 2015
Publisher IEEE
Publisher_xml – name: IEEE
SSID ssib026764927
Score 1.6118904
Snippet Multicore hardware is ubiquitous, but billions of lines of code in performance-critical commodity software are still sequential. Although parallel libraries,...
SourceID ieee
SourceType Publisher
StartPage 405
SubjectTerms Hardware
Instruction sets
Mixers
Multicore
Optimal scheduling
Parallelization
Real-time systems
Software architecture
Software Engineering
Study
Title Parallelizing a Real-Time Audio Application -- A Case Study in Multithreaded Software Engineering
URI https://ieeexplore.ieee.org/document/7284339
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV3PS8MwFA7bTp5UNvE3OXg0XZsfTXsc0zGFSXEOdxtp8gpF6WS0iPvrTdrNDfHgLSSHtHnpey_N930PoRsdRDKLORDGo4xYL5kSldGYMGChCIyySYk7KE6ewvGMP87FvIVuf7gwAFCDz8Bzzfou3yx15X6V9aX1pYzFbdSWcdxwtbZ7h4Yy5DGVG13GwI_7D8ldMn116C3hueoie9VT6uAxOkST7bQNZuTNq8rU0-tfioz_fa4j1NvR9HDyE4COUQuKLlKJWrn6KO_52nZihZ9tKkgc0wMPKpMv8WB3ZY0JwQM8tIEMOzzhF84L3DByrYWVAYOn1kt_qhXgPd3CHpqN7l-GY7Kpo0By6kcl0U51zsnkaEMDJRRXAFykkfYpgB9oxWwS43NDGQtT7luDaSYyLbQ9e6XKvtoJ6hTLAk4RBhEZI2QQp9KOCqqYzri0KZ-0H3eowjPUdcuz-GikMhablTn_u_sCHTjrNPjBS9QpVxVc2Rhfpte1cb8B6dmmcA
link.rule.ids 310,311,783,787,792,793,799,27937,55086
linkProvider IEEE
linkToHtml http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV3PT8IwFG4QD3pSA8bf9uDRjm1t9-NIUAIKZBGI3EjXdsmiGYZsMfLX-7oBEuPB29IdtvVt731dv-97CN1JJ_CTkGlCWZAQyJIxEYkbEqqpxx0lAJSYheJw5PWm7GnGZzV0v9XCaK1L8pm2zGG5l68WsjC_ylo-5FJKwz20D7g68Cq11ubtcT3fY6Hrr50ZHTts9aOHaPxq-FvcMv1FdvqnlOWje4SGmwtXrJE3q8hjS65-eTL-986OUfNHqIejbQk6QTWdNZCIxNJ0SHlPVzCIBX4BMEiM1gO3C5UucPtn0xoTgtu4A6UMG0bhF04zXGlyIcZCaYXHkKc_xVLjHefCJpp2HyedHll3UiCpawc5kcZ3zhjlSOU6ggsmtGY8DqTtam07UlCAMTZTLqVezGwImaQ8kVzC6isW8GinqJ4tMn2GsOaBUtx3wtiHs9wVVCbMB9Dnw-ftCe8cNcz0zD8qs4z5emYu_h6-RQe9yXAwH_RHz5fo0ESqYhNeoXq-LPQ1VPw8vikD_Q3NNKm7
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=proceeding&rft.title=2015+IEEE+International+Parallel+and+Distributed+Processing+Symposium+Workshop&rft.atitle=Parallelizing+a+Real-Time+Audio+Application+--+A+Case+Study+in+Multithreaded+Software+Engineering&rft.au=Kiefer%2C+Marc+Aurel&rft.au=Molitorisz%2C+Korbinian&rft.au=Bieler%2C+Jochen&rft.au=Tichy%2C+Walter+F.&rft.date=2015-05-01&rft.pub=IEEE&rft.spage=405&rft.epage=414&rft_id=info:doi/10.1109%2FIPDPSW.2015.32&rft.externalDocID=7284339