Theme 1 FUTURE APPLICATIONS
|“Soda: A Case for Software-Defined Networking at the Application Layer” Younan Wang and Baochun Li, University of Toronto|
|“Consistency Models in Distributed Controller Architectures for Software Defined Networks” Heng Xu, Baochun Li, University of Toronto|
|“Repairing Erasure Codes Cooperatively in Storage-Intensive Applications” Jun Li and Baochun Li, University of Toronto|
|“Ready, Set, Go: Coalesced Offloading from Smart Applications to the Cloud” Liyao Xiang and Baochun Li, University of Toronto|
|“Blossom: Content Distribution across Multiple Geographic Locations” Yangyang Li and Baochun Li, University of Toronto|
|“Towards an Architecture for Mobile Social Video-Sharing Apps” Hu Zhang, Diego Serrano, Eleni Stroulia, University of Alberta|
|“A Case Study on Multimedia Gaming Applications in Clouds” Preston Rodrigues, Ahmad Ferdous Bin Alam, Fariba Taheri, Roch Glitho, Université Concordia University|
|POSTER & DEMONSTRATION|
|“Smart Applications with Green Deployments” Andreas Bergen, Hausi A. Müller, University of Victoria|
|“Slicing Applications in the SAVI Pie” Przemek Lach, Ron Desmarais, Thiago Lima, Hausi Müller, University of Victoria|
|“MobileView: Optimized Mobile Video Conferencing over the SAVI Testbed” Zimu Liu and Baochun Li, University of Toronto|
|“Bellini: a Software-Defined Application-Layer Networking Platform” Zimu Liu, Yangyang Li, Younan Wang, Baochun Li, University of Toronto|
|“GLINT – A Horizon based Image Distribution System” Ronald Desmarais, Colin Leavett-Brown, University of Victoria|
Younan Wang and Baochun Li, University of Toronto
Due to constraints on current SDN switches (such as the rule count limit), existing solutions at the network layer may not be able to support traffic demand changes with a large number of flows. Catering to the needs of multi-party multimedia applications such as video conferencing, in this poster, we make a case for a new software-defined network architecture at the application layer.
We propose Soda, our new application-layer SDN architecture and traffic engineering solution, designed for the efficient utilization of the network capacity with a large number of flows, while maintaining utility max-min fairness. A salient advantage of Soda is its ability to support both real-time multimedia and traditional bulk transfer applications. Soda has been implemented and deployed in the Amazon EC2 inter-datacenter network, and its effectiveness has been evaluated with both simulations and real-world experiments.
Heng Xu, Baochun Li, University of Toronto
Despite the merits of a logically centralized control plane in software-defined networks, it needs to be implemented by physically distributed controllers in order to scale up to a larger network. Such a problem of scalability becomes an even more pressing concern with application-layer software-defined networks. Such a physically distributed state naturally needs a way to keep the control plane to work in unity, rather than just a number of independent networks. There are two broadly categorized models to synchronizing the physically distributed control plane, strong consistency and eventual consistency. In this poster, we show our recent work on an in-depth comparison study between these two models of consistency, with respect to a variety of performance and quality metrics.
Jun Li and Baochun Li, University of Toronto
Storage-intensive applications store a substantial amount of data in a large number of commodity servers. Due to the large number and the commodity nature, servers are subject to failures. In order to maintain data integrity in spite of server failures, storage-intensive applications store redundant data, in a form of either replications or erasure codes or both. Since erasure codes can consume much less storage space than replications while maintaining the same level of failure tolerance, storage intensive applications have been increasingly deploying erasure codes (such as Reed-Solomon codes) to replace replications. However, when the storage-intensive application needs to repair missing data after failures, erasure codes also incur a significant amount of network traffic and disk I/O.
Since storage-intensive applications are usually designed to tolerate multiple failures of servers, we can repair missing data of multiple failed servers in batches, rather than independently. In this manner, both network traffic and disk I/O can be saved with the corresponding erasure codes. In this paper, we present new erasure codes for storage intensive applications, called cooperative repairing (CR) codes that can repair missing data of multiple failed servers cooperatively while consuming the optimal network traffic. We show that the construction of CR codes is systematic and CR codes can be repaired exactly. Though CR codes incur more storage overhead than MDS codes like Reed-Solomon codes, we show that this overhead is marginal in storage-intensive applications. Our simulation results show that repairing multiple failures with CR codes can reduce network traffic by up to 20% and disk I/O of repairs by 75%.
Liyao Xiang and Baochun Li, University of Toronto
With an abundance of computing resources, cloud computing systems have been widely used to elastically offload the execution of computation-intensive smart applications on mobile devices, leading to performance gains and better power efficiency. However, existing works have so far focused on one smart application only, and multiple applications are not coordinated when sending their offloading requests to the cloud. In this poster, we propose the new technique of coalesced offloading, which exploits the potential for multiple applications to coordinate their offloading requests with the objective of saving additional energy on mobile devices. The intuition is that, by sending these requests in “bundles,” the period of time that the network interface stays in the high-power state can be reduced.
We present two online algorithms, collectively referred to as Ready, Set, Go (RSG), that make near-optimal decisions on how offloading requests from multiple applications are to be best coalesced. We show, both analytically and experimentally using actual smartphones, that RSG is able to achieve additional energy savings while maintaining satisfactory performance.
Yangyang Li and Baochun Li, University of Toronto
Cloud service providers are building out geographically distributed networks of datacenters around the world. It is customary for cloud service providers to distribute their data replicas at multiple geographic locations to mitigate user latency and to increase service availability. In this poster, we treat the content distributed from one datacenter to multiple datacenters as a multicast session. We investigate the problem of maximizing the capacity utilization of inter-datacenter networks while maintaining fairness among multiple multicast sessions. A bandwidth allocation algorithm based on max-min fairness is developed, named Blossom. Blossom leverages a fully polynomial time approximation scheme to accelerate the bandwidth allocation, while achieving an approximation that is (1-epsilon)-optimal. Through trace-driven simulation, we show that our approach is substantially more efficient than prior work.
Hu Zhang, Diego Serrano, Eleni Stroulia, University of Alberta
The typical architecture for web-based applications today involves a RBDMS back end, a middle tier implemented in a variety of programming languages and increasingly in the service-oriented style, and a web server listening for client requests and routing them to the appropriate service(s). Increasingly, these applications come with mobile clients that enable users to share and exchange multimedia content and access location- and time-aware services.
In this poster, we describe an architecture for developing such types of systems, on the SAVI cloud. The architecture includes components for (a) real-time social sharing of multimedia content; (b) data storage in cloud-based repositories, appropriately configured for different media types; (c) massively parallel processing for feature extraction; and (c) analytics services on the cloud. This work is motivated by the HSaT project, in the context of which we will be developing a system to support the caregivers of people with developmental disabilities.
Preston Rodrigues, Ahmad Ferdous Bin Alam, Fariba Taheri, Roch Glitho, Université Concordia University
Multimedia gaming applications are becoming ubiquitous. However, they still face several challenges (e.g. scalability, elasticity, easy development and deployment) that can be tackled with cloud computing principles. Several cloud based frameworks for multimedia gaming applications were proposed in the recent past. Nevertheless the vision of scalable, elastic, easily developed and deployed multimedia gaming applications remains quite elusive.
This case study focuses on multimedia multiparty games. An architecture that relies on fine grained gaming substrates is proposed. The substrates include multimedia conferencing substrates. They are sharable and can be assembled on the fly to develop and deploy new multimedia gaming applications. We have built an early prototype using Openstack at the IaaS layer, and Cloud Foundry at the PaaS layer. We also sketch how the proposed architecture can be deployed on SAVI test bed.
POSTER & DEMONSTATION:
Andreas Bergen, Hausi A. Müller, University of Victoria
A significant body of research exists to measure, monitor and control the resource utilization of virtual machines within data centers. However, within SAVI, we propose to investigate and monitor the energy consumption of smart applications at runtime. Energy consumption profiles are created by taking measurements at the server rack’s power distribution unit (PDU) instead of using server internal hardware components. The resulting energy profiles of these virtual machines, hosting applications of users from around the globe, provide an improved understanding of “greenness” of the application within the context of the new “Green” initiatives. This allows us to make energy usage predictions as well as deployment decisions within SAVI.
We propose to measure the energy consumption of various applications running within the SAVI network to build energy profiles and models of these applications. Since the abundance of applications in existence makes it unfeasible to profile every single one, we separate applications into categories depending on their resource usage: CPU intensive, memory intensive, intensive, disk I/O intensive. These profiles can then be used to determine the most energy friendly or “green” location to deploy smart applications within the virtual infrastructure of the SAVI Testbed.
Przemek Lach, Ron Desmarais, Thiago Lima, Hausi Müller, University of Victoria
Modern applications are designed with performance, redundancy, scalability, and cost saving in mind. The arrival of the cloud and multi-cloud models has offered better tools for implementing these characteristics but at the cost to the developer: building a multi-cloud application is complex. One such modern application is Yakkit Chat. Yakkit Chat is location based chat application that can take advantage of the multi-cloud architecture. Our demonstration shows how SAVI eases the burden of development for a multi-cloud model and how that translates to cost savings for the developer and an improved experience for the user.
Zimu Liu and Baochun Li, University of Toronto
With the proliferation of mobile devices with high-speed cellular networks and high-resolution cameras, there is a great potential that mobile video conferencing could greatly enhance the socialization and communication among users. In this project, we aim to provide a “smart” video conferencing service across geo-distributed SAVI edges, to offer the best possible service. As the cornerstone of our smart application, we first conduct thorough measurements on the SAVI infrastructure to study its inherent characteristics. Compared to traditional video conferencing, we discovered that the SAVI infrastructure could significantly boost the streaming throughput, while keeping both delay and delay jitter low. Based on our measurement insights on SAVI, we carefully design a suite of dedicated algorithms to stream mobile video flows through SAVI edge nodes, and our algorithms consider various critical factors, including streaming rate, latency, and operational costs. To validate our design for the smart mobile video conferencing, we have developed a video conferencing application on the iOS platform from the scratch, named MobileView. Our experiments reveal that the MobileView application is able to take full advantage of the SAVI testbed and offer a smooth and high-quality conferencing experience in mobile devices.
Zimu Liu, Yangyang Li, Younan Wang, Baochun Li, University of Toronto
Implementing and deploying resource-hungry smart applications, such as streaming and conferencing, on the SAVI platform requires a flexible and reusable software framework that provides customizable elements shared by these applications such as choices of transport protocols, routing policies, and rate allocation strategies. Over the past two years, we have designed and implemented Bellini, a flexible and reusable software framework supporting a wide variety of prototype implementations targeting a range of smart application scenarios in the SAVI testbed.
The real-world implementation of the Bellini framework has consistently focused on scalability, performance, and reusability and supports a wide range of functions over the cloud, including live conferencing and media streaming. Customized protocols and algorithms can be plugged in using the provided delegate interface, or loaded from a configuration file with ease. Besides its flexibility, Bellini is also optimally designed for efficient resource utilization in the VM-based SAVI core and edge nodes. In Bellini, the control plane is decoupled from the data plane, so that an OpenFlow-like central controller can be used to control its routing policies
Ronald Desmarais, Colin Leavett-Brown, University of Victoria
Glint is a cloud image distribution service built using the django framework. Glint currently supports Openstack clouds. Glint extends Horizon to add image distribution functionality to Horizon’s Image Management interface. Glint uses Openstack’s Glance Image Management API to manage images on multiple Openstack clouds in a consolidated way. Glint offers two main services: the Site Management and User Credential Service, and the Image Distribution Service. The Site Management and User Credential Service allows users to identify other Openstack sites. It also allows users to store their credentials for sites, which Glint uses for authorization to modify that site’s Glance repository. The Image Distribution Service uses Glance to identify all images across all sites and creates a simple table for the user to easily select which images they want to have on selected sites. Glint uses Glance to transfer images from source sites to destination sites using the Glance API.