Real-time Musical Applications on an Experimental Operating System for Multi-Core Processors

A natural approach to increasing the performance of musical applications is to exploit their inherent parallel structure on general-purpose multi-core architectures. In this paper, we discuss opportunities for exploiting parallelism in audio DSP graphs as well as within select audio processing components. We describeTessellation OS, an experimental operating system structured around resource distribution, performance isolation, and QoS guarantees, andLithe, a user-level runtime framework that enables construction of composable, application-specific schedulers. We present the design and implementation of a realtime parallelmusical application on topof Tessellation OS and conclude with some preliminary experimental results.

[1]  Kevin Klues,et al.  Tessellation: space-time partitioning in a manycore client OS , 2009 .

[2]  Yang Zhang,et al.  Corey: An Operating System for Many Cores , 2008, OSDI.

[3]  John K. Ousterhout,et al.  Scheduling Techniques for Concurrent Systems , 1982, ICDCS.

[4]  Rushby John,et al.  Partitioning in Avionics Architectures: Requirements, Mechanisms, and Assurance , 1999 .

[5]  Ulrich Reiter,et al.  Multi Core / Multi Thread Processing in Object Based Real Time Audio Rendering: Approaches and Solutions for an Optimization Problem , 2007 .

[6]  J. Kubiatowicz,et al.  Resource Management in the Tessellation Manycore OS ∗ , 2010 .

[7]  Edward A. Lee,et al.  The Parallel Computing Laboratory at U.C. Berkeley: A Research Agenda Based on the Berkeley View , 2008 .

[8]  K. H. Kim,et al.  Efficient Adaptations of the Non-Blocking Buffer for Event Message Communication between Real-Time Threads , 2007, 10th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC'07).

[9]  Leslie Lamport,et al.  Proving the Correctness of Multiprocess Programs , 1977, IEEE Transactions on Software Engineering.

[10]  Steven G. Johnson,et al.  The Design and Implementation of FFTW3 , 2005, Proceedings of the IEEE.

[11]  John K. Ousterhout Scheduling Techniques for Concurrebt Systems. , 1982, ICDCS 1982.

[12]  Benjamin Hindman,et al.  Composing parallel software efficiently with lithe , 2010, PLDI '10.

[13]  Rohit Chandra,et al.  Parallel programming in openMP , 2000 .

[14]  Anant Agarwal,et al.  Factored operating systems (fos): the case for a scalable operating system for multicores , 2009, OPSR.

[15]  Ramy Sadek,et al.  Automatic Parallelism for Dataflow Graphs , 2010 .

[16]  Thomas L. Casavant,et al.  A Taxonomy of Scheduling in General-Purpose Distributed Computing Systems , 1988, IEEE Trans. Software Eng..

[17]  Gerald Friedland,et al.  A parallel meeting diarist , 2010, SSCS '10.

[18]  David Wessel,et al.  Exploiting Parallelism in Real-Time Music and Audio Applications , 1999, ISCOPE.

[19]  David Wessel,et al.  Scalable Connectivity Processor for Computer Music Performance Systems , 2000, ICMC.

[20]  Stefania Serafin,et al.  Proceedings of the International Computer Music Conference , 2007 .

[21]  Dominique Fober,et al.  PARALLELIZATION OF AUDIO APPLICATIONS WITH FAUST , 2009 .

[22]  William G. Gardner,et al.  Efficient Convolution without Input/Output Delay , 1995 .

[23]  Edward A. Lee,et al.  Advances in the dataflow computational model , 1999, Parallel Comput..

[24]  David A. Patterson,et al.  A case for FAME: FPGA architecture model execution , 2010, ISCA.

[25]  David Wessel,et al.  Advances In The Parallelization Of Music And Audio Applications , 2010, ICMC.

[26]  Leo A. Meyerovich,et al.  Parallelizing the web browser , 2009 .

[27]  Adrian Schüpbach,et al.  Design principles for end-to-end multicore schedulers , 2010 .

[28]  Krste Asanovic,et al.  Globally-Synchronized Frames for Guaranteed Quality-of-Service in On-Chip Networks , 2008, 2008 International Symposium on Computer Architecture.

[29]  James Reinders,et al.  Intel threading building blocks - outfitting C++ for multi-core processor parallelism , 2007 .

[30]  Lei Luo,et al.  Partitioning based operating system: a formal model , 2003, OPSR.

[31]  Peter Van Roy,et al.  Reinventing Audio and Music Computation for Many-Core Processors , 2008, ICMC.

[32]  Francisco J. Cazorla,et al.  Hardware support for WCET analysis of hard real-time multicore systems , 2009, ISCA '09.