MAUI: Dynamically Splitting Apps Between the Smartphone and Cloud



Similar documents
Parametric Analysis of Mobile Cloud Computing using Simulation Modeling

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

Mobile Cloud Computing for Data-Intensive Applications

Mobile Cloud Computing Challenges

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

Offloading file search operation for performance improvement of smart phones

Mobile Performance Testing Approaches and Challenges

Updated November 30, Version 4.1

Realizing the Full Potential of PSM using Proxying

DOCUMENT REFERENCE: SQ EN. SAMKNOWS SMARTPHONE-BASED TESTING SamKnows App for Android White Paper. May 2015

emontage: An Architecture for Rapid Integration of Situational Awareness Data at the Edge

Understanding the Benefits of IBM SPSS Statistics Server

DOCUMENT REFERENCE: SQ EN. SAMKNOWS SMARTPHONE-BASED TESTING SamKnows App for Android White Paper. March 2014

Help Your Mobile Applications with Fog Computing

Testing & Assuring Mobile End User Experience Before Production. Neotys

Mastering Mobile Web with 8 Key Rules. Mastering Mobile Web with 8 Key Rules

Towards Wearable Cognitive Assistance

Survey on Application Models using Mobile Cloud Technology

Can Offloading Save Energy for Popular Apps?

BENCHMARKING CLOUD DATABASES CASE STUDY on HBASE, HADOOP and CASSANDRA USING YCSB

Metalogix Replicator for SharePoint

Towards Elastic Application Model for Augmenting Computing Capabilities of Mobile Platforms. Mobilware 2010

Fixed Price Website Load Testing

A Lightweight Distributed Framework for Computational Offloading in Mobile Cloud Computing

Improve application performance and scalability with Adobe ColdFusion 9

DataStax Enterprise, powered by Apache Cassandra (TM)

Cloud Computing for hand-held Devices:Enhancing Smart phones viability with Computation Offload

PSM-throttling: Minimizing Energy Consumption for Bulk Data Communications in WLANs

ScaleArc for SQL Server

Achieving Real-Time Business Solutions Using Graph Database Technology and High Performance Networks

An Untold Story of Middleboxes in Cellular Networks

Liferay Performance Tuning

JBoss Seam Performance and Scalability on Dell PowerEdge 1855 Blade Servers

DSS. Diskpool and cloud storage benchmarks used in IT-DSS. Data & Storage Services. Geoffray ADDE

Systems Manager Cloud Based Mobile Device Management

Evaluating Impact of Storage on Smartphone Energy Efficiency

SharePoint Impact Analysis. AgilePoint BPMS v5.0 SP2

Design for Success. Elevating Your Product s Capabilities through a Cloud-Connectivity System

Mobile App Testing Process INFLECTICA TECHNOLOGIES (P) LTD

Cloud Utilization for Online Price Intelligence

TPC-W * : Benchmarking An Ecommerce Solution By Wayne D. Smith, Intel Corporation Revision 1.2

Proactive, Resource-Aware, Tunable Real-time Fault-tolerant Middleware

Dynamic Content Acceleration: Lightning-Fast Web Apps with Amazon CloudFront and Amazon Route 53

PANDORA FMS NETWORK DEVICES MONITORING

Towards an Elastic Application Model for Augmenting the Computing Capabilities of Mobile Devices with Cloud Computing

WEBAPP PATTERN FOR APACHE TOMCAT - USER GUIDE

Performance Testing. Configuration Parameters for Performance Testing

Scalable Internet Services and Load Balancing

Empowering Mobile Service Provisioning Through Cloud Assistance

Mobile Performance Testing

Energy Efficient Storage Management Cooperated with Large Data Intensive Applications

ios App Performance Things to Take Care

PANDORA FMS NETWORK DEVICE MONITORING

OpenEdge and Mobile Applications

Network Infrastructure Services CS848 Project

Mobile Operating Systems. Week I

WaveInsite Mobile WLAN Client Interoperability and Performance Testing

CloudCmp:Comparing Cloud Providers. Raja Abhinay Moparthi

Improving the performance of data servers on multicore architectures. Fabien Gaud

Symantec Endpoint Protection 11.0 Architecture, Sizing, and Performance Recommendations

Assessing the Performance of Virtualization Technologies for NFV: a Preliminary Benchmarking

Boost SQL Server Performance Buffer Pool Extensions & Delayed Durability

Best Practices: Extending Enterprise Applications to Mobile Devices

Aspera Direct-to-Cloud Storage WHITE PAPER

Energy: electricity, electric grids, nuclear, green... Transportation: roads, airplanes, helicopters, space exploration

Introduction 1 Performance on Hosted Server 1. Benchmarks 2. System Requirements 7 Load Balancing 7

How To Create An Ad Hoc Cloud On A Cell Phone

Network Licensing. White Paper 0-15Apr014ks(WP02_Network) Network Licensing with the CRYPTO-BOX. White Paper

Cloud Computing for Mobile Devices - Reducing Energy Consumption 1 -

MAGENTO HOSTING Progressive Server Performance Improvements

Optimizing Background Sync on Smartphones

VI Performance Monitoring

365 Cloud Storage. Security Brief

Scalability Factors of JMeter In Performance Testing Projects

AIX NFS Client Performance Improvements for Databases on NAS

CiteSeer x in the Cloud

Virtualized In-Cloud Security Services for Mobile Devices

Software as a Service Business Model (Introducing SOA and Web Service)

Performance of Host Identity Protocol on Nokia Internet Tablet

A Benchmark to Evaluate Mobile Video Upload to Cloud Infrastructures

ipecs Communicator Installation and Operation Guide Please read this manual carefully before operating your set. Retain it for future reference.

Cross-Platform Software Considerations for Internet of Things

4D WebSTAR 5.1: Performance Advantages

WHITEPAPER BEST PRACTICES IN MOBILE APPLICATION TESTING

How To Improve Energy Consumption Of Mobile Web Applications

Output Agent Throughput

Overview of Offloading in Smart Mobile Devices for Mobile Cloud Computing

networks Live & On-Demand Video Delivery without Interruption Wireless optimization the unsolved mystery WHITE PAPER

Replication on Virtual Machines

MapReduce Jeffrey Dean and Sanjay Ghemawat. Background context

Mobile Cloud Computing: Survey & Discussion. Jianting Yue Sep 27, 2013

Oracle Applications Release 10.7 NCA Network Performance for the Enterprise. An Oracle White Paper January 1998

Whitepaper Performance Testing and Monitoring of Mobile Applications

Scaling from Datacenter to Client

Towards an Elastic Application Model for Augmenting Computing Capabilities of Mobile Platforms

ILOG JRules Performance Analysis and Capacity Planning

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

Hardware Recommendations

Trepn plug-in for Eclipse FAQ

Transcription:

MAUI: Dynamically Splitting Apps Between the Smartphone and Cloud Brad Karp UCL Computer Science CS M038 / GZ06 28 th February 2012

Limited Smartphone Battery Capacity iphone 4 battery: 1420 mah (@ 3.7 V) Idle state (backlight off) power costs for Openmoko Neo Freerunner smartphone: (note 2.5G radio) [Carroll, Heiser, USENIX ATC 2010] Total power: 268.8 mw, i.e., 19 hours in idle mode on iphone 4 battery 2

Smartphone Backlight Power Consumption [Carroll, Heiser, USENIX ATC 2010] 3

Smartphone CPU and RAM Power Consumption [Carroll, Heiser, USENIX ATC 2010] Subset of SPEC benchmarks at two clock rates idle : no application running 4

Smartphone WiFi and 2.5G Power Consumption 15 MB wget download for WiFi [Carroll, Heiser, USENIX ATC 2010] 50 KB wget download for GPRS 5

Smartphone WiFi and 2.5G Power Consumption Radio power consumption dwarfs CPU power consumption: ca. 700 mw for WiFi vs. ca. 180 mw for worst-case CPU load 15 MB wget download for WiFi [Carroll, Heiser, USENIX ATC 2010] 50 KB wget download for GPRS 6

Central Idea: Offload Computation from Phone to Cloud Battery capacity on phones constraining (technology trends suggest will remain so) Phone compute resources limited (RAM, CPU, secondary storage) Cloud servers better provisioned Goals: Save energy on phone overall Improve (or do not reduce) app performance for user Minimize application changes 7

Central Idea: Offload Computation from Phone to Cloud Battery capacity on phones constraining (technology trends suggest will remain so) Phone compute resources limited (RAM, Central CPU, secondary trade-off: offloading storage) computation to cloud may save CPU energy on phone, but sending Cloud servers current state better of app provisioned to cloud costs radio Goals: energy on phone Save energy on phone overall Improve (or do not reduce) app performance for user Minimize application changes 8

Energy Consumption for Code Upload: 3G vs. WiFi [HTC Fuze, 1340 mah battery] 9

Energy Consumption for Code Upload: 3G vs. WiFi Network RTT plays significant role in power consumption; TCP s throughput inversely proportional to RTT Energy consumed roughly linear in RTT (see Fig. 2) Radio powered up during whole transfer [HTC Fuze, 1340 mah battery] 10

When Would Code Offload Save Energy? When state to transfer to cloud is small When CPU load for offloaded code is heavy When WiFi connectivity available with low RTT (i.e., server nearby) 11

MAUI: Architecture Overview 12

Offloading Code in MAUI CPU-independence provided by.net Common Language Runtime (CLR) Smartphone can send app code to server or code s hash to server (if code available from another server) Programmer marks methods that can be offloaded [Remoteable] in C# source code Default: local on phone only Avoid running UI code on server Avoid I/O with phone devices on server Avoid side effects outside app on server (why?) 13

Offloading Code in MAUI CPU-independence provided by.net Common Language Runtime (CLR) Smartphone can send app code to server or.net code s supports hash to serializing server (if data code into available XML from MAUI another phone server) sends serialized state over network to Programmer server marks methods that can be offloaded [Remoteable] in C# source code Default: local on phone only Avoid running UI code on server Avoid I/O with phone devices on server Avoid side effects outside app on server (why?) 14

Partitioning: Passing State Between Phone and Server Server will need all memory contents used by offloaded method No globals in C#, but public static member variables accessible by all methods State includes: method parameters all object s member variables deep copy of all heap-allocated data structures reachable from member variables 15

Handling Server Failures Phone enforces timeout on return of results by method invoked on server After timeout, phone may invoke method locally, or retry on other cloud server Risk: multiple executions of method on server(s) Hence, no side-effects outside app allowed on server! 16

Estimating Size of State Transfers Approximating state size reduces computational load of serialization 17

Optimizing Energy Use: Annotated Call Graph Vertices: method s computational and energy costs 18 Edges: state size and energy to transfer state

Optimizing Energy Use: Annotated Call Graph Insight: may be more power-efficient to offload multiple methods than one method Reason: want phone-cloud crossings to occur at edges of call graph with small state transfer Vertices: method s computational and energy costs 19 Edges: state size and energy to transfer state

End-to-End Energy Savings: Ideal Application Tiny state to ship to server; vast computation on server (even 3G wins!) 20

End-to-End Energy Savings: Other Applications Increased state transfer duration as RTT increases reduces energy savings 21

Offloaded Method Execution Performance Note latency measurements only for offloaded methods! For face recognition, nearly all work is in offloaded methods, so virtually end-to-end Not so for other two applications! 22

MAUI: For Discussion Goal is to minimize code modifications But code refactoring may improve performance Example: don t invoke server-side method 60 times/frame; invoke wrapper once/frame What is energy cost of profiling itself? Current system doesn t support multithreaded apps If two threads share state, wouldn t want to offload one and run one locally For apps like face recognition, is dynamic offload needed? Would HTTP POST do? 23