Comment on Many Core Computing and Real Time Audio Software

Preview:

DESCRIPTION

Comment on Many Core Computing and Real Time Audio Software

Citation preview

  • A COMMENT ONMANY-CORE COMPUTINGAND REAL-TIME AUDIO SOFTWARE SYSTEMS (2008)

    Ge WangCenter for Computer Research in Music and Acoustics (CCRMA)

    Stanford Universityge@ccrma.stanford.edu

    While much remains to be seen in the ongoing shift to-wards massively many-core computing, one perhaps piv-otal point of focus lies at the intersection of low-level im-plementation languages (e.g., C/C++) and runtime oper-ating system support. Here, we briefly discuss one issuein this area: concurrent programming models and whatmay need to happen to languages and operating systemsto effectively support audio programming on many-coresystems such that existing and future audio softwarescan take advantage of these systems.

    The up-to-now dominant model of using preemptivethreading to distribute computation among multiple coresis rapidly becoming less solvent for time-critical, high-throughput systems, such as real-time audio engines (themodel was never ideal from a programming point of view,and many-core computing further accentuates its short-comings). Due to their nondeterministic nature, preemp-tive threads are inherently difficult to reason about, debug,and maintain. Also, the preemptive nature and computa-tional overhead of threads make it hard to synchronize par-allel computations in predictable and time-sensitive ways.Furthermore, it is often unclear (to programmers) whetherparallelization via threads are beneficial to a particularsituation the decision depends on many complex factorssuch as the nature of the algorithm, timing and synchro-nization needs, as well as the number of available cores- too few threads will fail to take advantage, too manythreads can introduce significant overhead due to unneces-sary thread management, context-switching, and schedul-ing. This can make it extremely challenging to re-architectexisting, sequential systems for many-core.

    Adopting a developer-centric point of view, it seemsimperative that the computing community should producean agreed-upon, generalized lower-level concurrent pro-gramming paradigm (e.g., language extensions at the C/C++level, plus integrated OS support) that can flexibly specifysynchronous, multi-core friendly programs. Such a pro-gramming model should allow concurrent code to operateand synchronize with minimal overhead, while leveragingunderlying operating system support to abstract the under-lying core configuration/availability.

    One potentially promising approach lies in Apples up-coming 10.6 (Snow Leopard) release of the OS X oper-ating system [1], which is to offer both the addition ofblocks (parallelizable segments of code) as an under-

    lying programming language feature, along with a cen-tralized mechanism in the operating system kernel, calledGrand Central Dispatch (GCD). In short, GCD interpretsthe blocks specified by the programmer in real-time, andallocates them across available cores (and potentially theGPU). This approach eliminates the need for program-mers to account for exactly how many cores are present,while reducing thread-allocation overheads by centraliz-ing blocks and dynamically deciding when to spawn newparallel entities as beneficial. Also importantly, this ap-proach seems to be potentially scalable. Of course, it re-mains to be seen how this approach actually works, in par-ticular with a wide array of audio systems. At the sametime, it is encouraging that a major OS platform has takenconcrete, developer-centric steps to try and address themany-core problem.

    Hopefully other platforms (e.g., Linux and Windows)will follow suit, and the community can produce a portable,industry-wide many-core programming standard. As de-signers and implementors of real-time computer music soft-ware, it is crucial for us to experiment early and freelywith technology as they become available, and to cham-pion audio-friendly solutions at every level.

    1. REFERENCES

    [1] Apple Inc. 2008. Mac OS X State of theUnion, Keynote, Apple World Wide Devel-oper Conference.

    IndexICMC 2008 HomeConference InfoWelcome from the ICMA PresidentICMA OfficersWelcome from the ICMC 2008 Organising CommitteeICMC 2008Previous ICMCsICMC 2008 Paper Panel & Music CuratorsICMC 2008 ReviewersICMC 2008 Best Paper Award

    SessionsMonday, 25 August 2008Languages and Environments 1Interaction and Improvisation 1Sound SynthesisComputational Modeling of MusicDemos 1Posters 1Interaction and Improvisation 2Aesthetics, History, and Philosophy 1

    Tuesday, 26 August 2008MiscellaneousAlgorithmic Composition Tools 1Network PerformanceComputational Music Analysis 1Panel 1: Reinventing Audio and Music Computation fo ...Panel 2: Towards an Interchange Format for Spatial ...

    Wednesday, 27 August 2008Studio Reports 1Mobile Computer Ensemble PlayDemos 2Posters 2Algorithmic Composition Tools 2Interface, Gesture, and Control 1

    Thursday, 28 August 2008Interface, Gesture, and Control 2Languages and Environments 2Spatialization 1Computational Music Analysis 2Panel 3: Network PerformanceDemos 3Posters 3

    Friday, 29 August 2008Sound ProcessingAesthetics, History, and Philosophy 2Interface, Gesture, and Control 3Spatialization 2Algorithmic Composition Tools 3Studio Reports 2

    AuthorsAll authorsABCDEFGHIJKLMNOPQRSTUVWYZ

    PapersAll papersPapers by Sessions

    Topicscritical theory/philosophy of technology, postmodern cy ...sociology/anthropology of everyday sounds, situated per ...history of computer music, women and gender studies, ed ...philosophy/culture/psychology, music information retrie ...electroacoustic music composition, aesthetics of music, ...singing analysis/synthesis, music analysis/synthesis, v ...interactive and real-time systems and languages, music ...human-computer interaction, sound synthesis/analysis, i ...interaction design, computer music, performance art, el ...physical interface design, performance systems, gesture ...language/education/history/sociology of computer music, ...composition systems and techniques, languages for compu ...programming languages/systems, audio synthesis/analysis ...composition, music cognition, music informatics, human- ...music information retrieval, audio signal processing, p ...computational musicology, music cognition, music and AI ...music cognition, rhythm/meter/timing/tempo, computation ...music information retrieval, audio content analysis, to ...spatial audio, audio signal processing, auditory percep ...physical modelling, spatial audio, room acoustics, aura ...sonic interaction design, physics-based sound synthesis ...audio signal processing, sound synthesis, acoustics of ...audio signal processing, acoustics, software systemsphysics-based sound synthesis, virtual room acousticscomposition, music analysis, software for pedagogyPANEL: Towards an Interchange Format for Spatial audio ...PANEL: Network PerformancePANEL: Reinventing Audio and Music Computation for Many ...

    SearchHelpBrowsing the Conference ContentThe Search FunctionalityAcrobat Query LanguageUsing the Acrobat ReaderConfiguration and Limitations

    AboutCurrent paperPresentation sessionAbstractAuthorsGe Wang

Recommended