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...
Saved in:
Published in | 2015 IEEE International Parallel and Distributed Processing Symposium Workshop pp. 405 - 414 |
---|---|
Main Authors | , , , |
Format | Conference Proceeding |
Language | English |
Published |
IEEE
01.05.2015
|
Subjects | |
Online Access | Get 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 |