CSci 8980 Mobile Cloud Computing. Mobile Cloud Programming



Similar documents
Customizable and Extensible Deployment for Mobile/Cloud Applications

Cloud Computing. Cloud computing:

Clonecloud: Elastic execution between mobile device and cloud [1]

Middleware Lou Somers

Client/Server Computing Distributed Processing, Client/Server, and Clusters

Developing Higher Density Solutions with Dialogic Host Media Processing Software

EWeb: Highly Scalable Client Transparent Fault Tolerant System for Cloud based Web Applications

The Service Availability Forum Specification for High Availability Middleware

Microsoft Exchange Server 2003 Deployment Considerations

Datacenter Operating Systems

SierraVMI Sizing Guide


Robust Communication for Jungle Computing

WSO2 Message Broker. Scalable persistent Messaging System

Divy Agrawal and Amr El Abbadi Department of Computer Science University of California at Santa Barbara

Microsoft Azure IaaS: Virtual Machine e Open Source interoperability

Can High-Performance Interconnects Benefit Memcached and Hadoop?

The deployment of OHMS TM. in private cloud

CLOUD COMPUTING & WINDOWS AZURE

Sacha Dubois RED HAT TRENDS AND TECHNOLOGY PATH TO AN OPEN HYBRID CLOUD AND DEVELOPER AGILITY. Solution Architect Infrastructure

F1: A Distributed SQL Database That Scales. Presentation by: Alex Degtiar (adegtiar@cmu.edu) /21/2013

Return On Investment

In Memory Accelerator for MongoDB

IBM WebSphere Distributed Caching Products

An Operating System for Multicore and Clouds

Distribution transparency. Degree of transparency. Openness of distributed systems

Big Data Storage Architecture Design in Cloud Computing

USING VIRTUAL MACHINE REPLICATION FOR DYNAMIC CONFIGURATION OF MULTI-TIER INTERNET SERVICES

ScaleArc idb Solution for SQL Server Deployments

Exploiting Remote Memory Operations to Design Efficient Reconfiguration for Shared Data-Centers over InfiniBand

Gladinet Cloud Enterprise

PlanetLab: a Petri dish for the next Internet. Timothy Roscoe Intel Research at Berkeley

RCL: Software Prototype

Apache Ignite TM (Incubating) - In- Memory Data Fabric Fast Data Meets Open Source

Project Convergence: Integrating Data Grids and Compute Grids. Eugene Steinberg, CTO Grid Dynamics May, 2008

Scalability of web applications. CSCI 470: Web Science Keith Vertanen

XTM Web 2.0 Enterprise Architecture Hardware Implementation Guidelines. A.Zydroń 18 April Page 1 of 12

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

The High Performance Internet of Things: using GVirtuS for gluing cloud computing and ubiquitous connected devices

FusionHub Virtual Appliance

Load Balancing for Microsoft Office Communication Server 2007 Release 2

Oracle Database Scalability in VMware ESX VMware ESX 3.5

ESPRESSO: An Encryption as a Service for Cloud Storage Systems

Middleware: Past and Present a Comparison

Above the Clouds: Introducing Akka

G Porcupine. Robert Grimm New York University

In-Memory Computing Principles and Technology Overview

Inside the Digital Commerce Engine. The architecture and deployment of the Elastic Path Digital Commerce Engine

Distributed Systems. REK s adaptation of Prof. Claypool s adaptation of Tanenbaum s Distributed Systems Chapter 1

Securely. Mobilize Any Business Application. Rapidly. The Challenge KEY BENEFITS

A1 and FARM scalable graph database on top of a transactional memory layer

Driving More Value From OpenVMS Critical Infrastructure in Local and Global Datacenters: A CASE STUDY. Presented by: J. Barry Thompson, CTO Tervela

Virtual machine interface. Operating system. Physical machine interface

Handling Flash Crowds From Your Garage

HOUG Konferencia Oracle TimesTen In-Memory Database and TimesTen Application-Tier Database Cache. A few facts in 10 minutes

Propalms TSE Enterprise Deployment Server Sizing

independent systems in constant communication what they are, why we care, how they work

SoftLayer Fundamentals. Load Balancing. July, 2014

Introduction to Windows Azure Cloud Computing Futures Group, Microsoft Research Roger Barga, Jared Jackson,Nelson Araujo, Dennis Gannon, Wei Lu, and


Open Cloud System. (Integration of Eucalyptus, Hadoop and AppScale into deployment of University Private Cloud)

Cloud Computing at Google. Architecture

White Paper on NETWORK VIRTUALIZATION

BookKeeper. Flavio Junqueira Yahoo! Research, Barcelona. Hadoop in China 2011

CORBA and object oriented middleware. Introduction

VDI Without Compromise with SimpliVity OmniStack and Citrix XenDesktop

RAMCloud and the Low- Latency Datacenter. John Ousterhout Stanford University

Planning the Migration of Enterprise Applications to the Cloud

C/S Basic Concepts. The Gartner Model. Gartner Group Model. GM: distributed presentation. GM: distributed logic. GM: remote presentation

SDN Applications in Today s Data Center

The Cloud is Not Enough Why Hybrid Infrastructure is Shaping the Future of Cloud Computing

Introduction to Cloud Computing

KVM, OpenStack, and the Open Cloud

Windows Azure and private cloud

GraySort and MinuteSort at Yahoo on Hadoop 0.23

Distributed File Systems

5 Key Reasons to Migrate from Cisco ACE to F5 BIG-IP

Scheduling in the Cloud

CASE STUDY: Oracle TimesTen In-Memory Database and Shared Disk HA Implementation at Instance level. -ORACLE TIMESTEN 11gR1

TITANXR Multi-Switch Management Software

In-Memory BigData. Summer 2012, Technology Overview

STREAM PROCESSING AT LINKEDIN: APACHE KAFKA & APACHE SAMZA. Processing billions of events every day

Application Performance Analysis of the Cortex-A9 MPCore

Intel Cloud Builder Guide: Cloud Design and Deployment on Intel Platforms

Apache Ignite TM (Incubating) - In- Memory Data Fabric Fast Data Meets Open Source

Distributed Operating Systems. Cluster Systems

Datasheet. DPoD VDI Solution. Your VDI in a box

Distributed File System. MCSN N. Tonellotto Complements of Distributed Enabling Platforms

Centrata IT Management Suite 3.0

Open Text Archive Server and Microsoft Windows Azure Storage

Maharashtra State Data Centre (MH-SDC) MahaGov Cloud

VStore++: Virtual Storage Services for Mobile Devices

Cisco Application Control Engine in the Virtual Data Center

Report of the case study in Sistemi Distribuiti A simple Java RMI application

Brainlab Node TM Technical Specifications

IMCM: A Flexible Fine-Grained Adaptive Framework for Parallel Mobile Hybrid Cloud Applications

Web Application Hosting Cloud Architecture

InLoox PM Web App The Online Project Software

CS 6343: CLOUD COMPUTING Term Project

Deploying iphone and ipad Security Overview

Transcription:

CSci 8980 Mobile Cloud Computing Mobile Cloud Programming

Introduction Mobile applications are multi-platform, multi-user

Introduction Code and data spread across many systems

The Problem Deployment logic is complex where data and computation should be located what data should be replicated or cached what data consistency level is needed what kind of failures to deal with Application logic often contains deployment logic => Applications are too complex and inflexible

The Problem Deployment decisions are classic distributed systems problems coordinating data and computation fault tolerance dealing with diverse hardware

The Problem Applications are not one-size-fit-all Some need: Reliable RPC Caching Code offloading Replication This is left to the application programmer

Solution We need a distributed for mobile cloud applications! Goto pdf

Customizable and Extensible Deployment of Mobile/Cloud Applications Irene Zhang Adriana Szekeres Dana Van Aken Isaac Ackerman, Steven D. Gribble Arvind Krishnamurthy Henry M. Levy University of Washington 1

A new programming system for deploying mobile/cloud applications. 6 6

Our Goals 1. Separate application logic from deployment code. 2. Allow programmers to easily choose and change application deployment. 7 7

Our Solution A new system architecture that supports pluggable and extensible deployment managers. 8 8

Outline 1. Architecture 2. Deployment s 3. Experience and Evaluation 9 9

Architecture Mobile App Application App Mobile App DK Deployment Server DK Management Server DK Layer Server Deployment Kernel 10 10

Applications A new programming abstraction: distributed objects

Application Partitioned into s, which: Run in a single address space with RPC. Execute anywhere and move transparently. Provide a unit of distribution for deployment managers. 11 11

Architecture Mobile App App Mobile App Deployment Management DK Server DK Server DKLayer Server Deployment Kernel 12 12

Application Code

Deployment Kernel Provides best-effort distribution services, including: object tracking, mobility and replication. Making and routing RPC to objects. Managing, distributing and running deployment managers. 13 13

Deployment Management Layer Consists of deployment managers, which: Extend the functions and guarantees of the deployment kernel. Interpose on object events. Easy to choose and change without modifying the application. 15 15

Architecture Mobile App Lease Caching App Replication Mobile App Code-offloading DK Server DK Server OTS Server 16 16

Deployment Library Primitives Caching Serializability Checkpoint Replication Mobility Scalability Immutable Explicit Caching Serializable RPC Explicit Checkpoint RSM-Cluster Explicit Migration LoadBalanced Frontend AtLeastOnce RPC Lease Caching Locking Transactions Periodic Checkpoint RSM-Geo Dynamic Migration Scale-up Frontend Keep In Place Writethrough Caching Optimistic Transactions DurableRPC RSM-P2P Explicit Code-offload LB Masterslave Keep On Device Consistent Caching Durable Transactions Code-offload Keep In Cloud Extensible with the Deployment API! 17 17

Outline 1. Architecture 2. Deployment s 3. Experience and Evaluation 18 18

Deployment API Deployment manager components, which the kernel creates, deploys and invokes: : Co-located with the. Proxy: Co-located with remote references to the. Coordinator: Co-located with fault-tolerant Tracking Service (OTS). 19 19

Deployment Architecture Replication DK Server DK Server DK Server 20

Deployment Architecture Stub Proxy Stub Proxy Coordinator DK Server DK Server DK Server 20

DM Code Proxy: caller-side tasks E.g. use caller side cache manager: callee-side tasks E.g. checkpoints Coordinator: centralized tasks E.g. load balance

DK API

DM Impl

Upcalls DK calls in DM using upcalls => customization

Replicating a App Replication DK Server DK Server DK Server 21

Replicating a App Leader DK Server DK Server DK Server 21

Replicating a App Stub Proxy Leader DK Server DK Server DK Server 21

Replicating a App Stub Proxy Leader DK Server DK Server DK Server 21

Replicating a App Stub Proxy Leader DK Server DK Server DK Server 21

Replicating a App Stub Proxy Leader DK Server DK Server DK Server 21

Replicating a App Stub Proxy Leader DK Server DK Server DK Server 21

Caching a App Caching DK Server DK Server DK Server 22

Caching a App Stub Proxy Master DK Server DK Server DK Server 22

Caching a App Stub Proxy Master DK Server DK Server DK Server 22

Caching a App Stub Proxy Master DK Server DK Server DK Server 22

Outline 1. Architecture 2. Deployment s 3. Experience and Evaluation 23 23

Experimental Setup Dell Server Nexus 7 Nexus S 8-core Intel Xeon 2GHz 4-core ARM Cortex A9 1.3GHz 1-core ARM Cortex A8 1GHz 8GB 1GB 512MB 24 24

Peer-to-Peer Multiplayer Game Read Write 30 23 miliseconds 15 8 0 Player 1 Player 2 Player 1 Player 2 Player 1 Player 2 Keep In Cloud Keep On Device 25 RSM-P2P 25

Code-offloading for Physics Engine 500 400 1190 ms Network Execution milliseconds 300 200 100 0 Base WiFi 4G Base WiFi 4G Phone 26 Tablet 26

Summary Modern applications implement difficult distributed deployment tasks. is a new programming system for deploying mobile/cloud applications. Deployment managers makes it easy to choose, change and build deployment. 27 27