Orchestrating Your Cloud-Orchestra

Orchestrating Your Cloud-Orchestra

Proceedings of the International Conference on New Interfaces for Musical Expression, Baton Rouge, LA, USA, May 31-June 3, 2015 Orchestrating Your Cloud-orchestra Abram Hindle Department of Computing Science University of Alberta Edmonton, Alberta, Canada [email protected] ABSTRACT often have reasonable bandwidth; performers who exploit Cloud computing potentially ushers in a new era of com- cloud services avoid bringing lots of computer equipment puter music performance with exceptionally large computer to a performance venue [10]; networked computers enabled music instruments consisting of 10s to 100s of virtual ma- centralized and decentralized collaborative instruments [12]. chines which we propose to call a ‘cloud-orchestra’. Cloud The cloud has been leveraged for computer music perfor- computing allows for the rapid provisioning of resources, mance [10]. While the authors succeed at a demoing the but to deploy such a complicated and interconnected net- feasibility of cloud instruments, they also demonstrated the work of software synthesizers in the cloud requires a lot complexity and frustration of organizing and orchestrating of manual work, system administration knowledge, and de- synthesizers in the cloud. Organizing these synthesizers re- veloper/operator skills. This is a barrier to computer mu- quires much knowledge about cloud computers, networking, sicians whose goal is to produce and perform music, and systems administration, Unix-like systems, shell scripting not to administer 100s of computers. This work discusses and programming. Essentially such a prerequisite knowl- the issues facing cloud-orchestra deployment and o↵ers an edge is a large barrier to the adoption of cloud computing abstract solution and a concrete implementation. The ab- for computer music performance. stract solution is to generate cloud-orchestra deployment Requiring a computer musician to play the role of sys- plans by allowing computer musicians to model their net- tem administrators or developer/operators is too high a work of synthesizers and to describe their resources. A barrier. This work seeks to enable the generation and de- model optimizer will compute near-optimal deployment plans ployment of a cloud-orchestra. We define a cloud-orchestra to synchronize, deploy, and orchestrate the start-up of a as a network of software synthesizers deployed to multiple complex network of synthesizers deployed to many comput- networked computers (usually on a cloud). We envisage ers. This model driven development approach frees com- cloud-orchestras to be composed of multiple virtual ma- puter musicians from much of the hassle of deployment and chines running software synthesizers connected together by allocation. Computer musicians can focus on the configura- network audio links. tion of musical components and leave the resource allocation Deployment is an ardous task that requires much net- up to the modelling software to optimize. working, programming, and shell scripting knowledge – un- less it is automated. Systems can be built that take both a model of a cloud-orchestra and a list of resources as input to Author Keywords produce a coherent, runnable deployment plan. Once the cloud computing, cloud instruments, cloud-orchestra deployment plan is generated the computer musician can deploy/start a cloud-orchestra upon request. Model Driven Development (MDD) [9] allows for the rapid 1. INTRODUCTION modelling (defining) and generation of runnable code that With the flick of a switch your lights turn on. With the implements such a model. We propose to abstractly model click of the mouse your computation can turn on too. Cloud a cloud-orchestra and rely upon model optimizers to fit such computing promises utility computing: computing treated a synthesizer network near-optimally to available resources as a utility and billed like a utility – even provisioned like a such as cores, virtual machines, etc. utility such as electricity [5]. This demand-based dynamic This work addresses: the difficulty of configuring and de- provisioning of virtual machines is what makes it possible ploying a cloud-orchestra; and the efficient allocation of re- for cloud providers to allow clients to scale computation to sources for cloud-orchestras. These problems motivate the their needs. Cloud computing promises much flexibility but following contributions described in this paper: these promises are often wrapped in intense complexity [5]. The benefits of using cloud computing are clear: one does Propose and define cloud-orchestras; • not need to own the hardware to run their software; cloud Define a model of cloud-orchestras; • computing enables experimentation with large allocations of Argue for a declarative model driven development ap- resources for short periods of time; cloud service providers • proach to cloud-orchestras; Provide a prototype that defines, generates, and de- • ploys a cloud-orchestra; Permission to make digital or hard copies of all or part of this work for Address cloud-orchestra deployment abstractly and con- personal or classroom use is granted without fee provided that copies are • cretely. not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific 2. PREVIOUS WORK permission and/or a fee. NIME’15, May 31-June 3, 2015, Louisiana State Univ., Baton Rouge, LA. Cloud-orchestras can employ model driven development, Copyright remains with the author(s). cloud computing, cloud deployment, networked audio, net- 121 Proceedings of the International Conference on New Interfaces for Musical Expression, Baton Rouge, LA, USA, May 31-June 3, 2015 worked computer music, networking latency, streaming tech- model. This model may be optimized by model optimiz- nology and networked orchestras. ers which search for an efficient configuration. Once such Model Driven Development (MDD) and Model Driven a configuration has been found, templates can be executed Engineering [9] are methods of specifying software and sys- to generate a working deployment plan. This deployment tems as models and then relying on model checkers, and plan can be executed and the cloud-orchestra will be in- model generators to generate skeletal stub code, or fully stantiated, configured, and executed eventually producing working systems. Model Driven Development is often used music in near real-time streamed over a network. in fields which have computation but are limited to certain Cloud-orchestras and their potential resources can be mod- problem domains, often allowing end-users to customize a elled and these models can be used to develop a deployment system without much programming experience. plan to deploy a cloud-orchestra on resources available to Barbosa et al. [3] surveyed networked computer music you. The fundamental problem of a declarative model of a since the 1970s. This body of work lead to the jack [7] low cloud-orchestra is how to match a set of resources (hosts) latency sound server, netjack [7] and Jacktrip [6]. The Net- with the workload (cloud-orchestra) proposed. jack and Jacktrip [6] send synchronized jack audio streams The inputs to this problem are a set of usable host vir- over a LANs and the internet. tual machines and a synthesizer network model (the cloud- One reason to employ cloud computing in a computer orchestra). The model we use is partially described in the music instrument is to provide user interfaces to mobile de- model package of Figure 2. Synthesizers are modelled as vices over the web, thereby allowing audience participation. SynthModules or modules. An instance of a module is a Oh et al. [13] demonstrate the use of smartphones in audi- SynthBlock. The distinction is similar to the distinction ence participatory music and performance. Jord`a[11] de- between a class and an object. The SynthBlock has a Syn- scribes many patterns of collective control and multi-user thModule, a name and a host will be associated with it. instruments as well as the management of musicality of in- These Synthblocks are collected within a SynthDef, which struments. Cloud computing was indirectly used by Dahl et is the definition of the entire cloud-orchestra. The SynthDef al. [8] in TweetDreams. TweetDreams allows an audience to also contains connections that join the inputs and outputs participate with a musical instrument by tweeting at a twit- of a SynthBlock together. In the next section we formalize ter account that aggregates audience tweets using Twitter’s this model for the purposes of optimization. own message delivery cloud. These recommendations would be valuable for anyone creating an audience-participatory 3.1 Modeling and optimization instrument with a cloud-orchestra. In general one can model the resource allocation problem as Jesse Allison et al. [1, 2] describe the Nexus framework a cost minimization problem.One can formalize this prob- to allow for user-interface distribution via the web. While lem as an Integer Linear Programming problem, and po- Weitzner et al. [17] built massMobile that allows the cre- tentially minimize it using tools such as GNU Linear Pro- ation of a web interface to interact with Max/MSP via the gramming Kit 1. This formulation enables search methods web. Both works emphasize the value of HTML5 interfaces to produce optimal or near-optimal configurations. as they are both standardized and ubiquitous. Exposing Regardless, given available resources or a resource alloca- these user-interfaces from a cloud-orchestra would prove in- tion one must allocate synthesizers (synthBlocks) to hosts. valuable as it would allow fine grained control of a synthe- For a cloud-orchestra deployment one should consider opti- sizer running on a VM. mizing for: Cloud-orchestras share many of the same problems and Locality: the more synths communicating on the same difficulties as laptop orchestras [15, 14]. Laptop orchestras • are composed of laptop synthesizer users who are connected VM the less latency and network bandwidth required. jack CPU load: too many synths will overload a CPU ham- together over OpenSound Control or .

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    5 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us