Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373)...

42
Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373) Venkata Sri Krishnakanth Pulla(95911880) Prashant Tiwari (22721608)

Transcript of Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373)...

Page 1: Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373) Venkata Sri Krishnakanth Pulla(95911880) Prashant Tiwari.

Mobile Cloud Computing: A Comparison of

Application Models

Group #6Chandra Shekhar Jammi(95167373)Venkata Sri Krishnakanth Pulla(95911880)Prashant Tiwari (22721608)

Page 2: Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373) Venkata Sri Krishnakanth Pulla(95911880) Prashant Tiwari.

Introduction• Cloud computing offers benefits like increased

storage, increased processing capacity, flexibility

and mobility, reduced cost etc.

• In Mobile arena, numerous constraints hinder

actual realization of above mentioned benfits.

• This gives rise to many research opportunities.

• We discuss some progress in this domain so far.

Page 3: Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373) Venkata Sri Krishnakanth Pulla(95911880) Prashant Tiwari.

What is Mobile Cloud Computing

• A combination of cloud computing, wireless infrastructure,

portable devices, location based services have given rise to it.

• Mobile cloud computing is a model for transparent elastic

augmentation of mobile device’s capability.

• Using ubiquitous wireless access to cloud storage and

computing resources.

• context-aware dynamic adjusting of offloading in respect to

change in operating conditions,

• Preserve available sensing and interactivity capabilities of

mobile devices

Page 4: Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373) Venkata Sri Krishnakanth Pulla(95911880) Prashant Tiwari.

Challenges and Issues

• Existing cloud computing tools consider process parallelizing on massive data volume, large data storage and flexible VM management.

• Mobile Cloud Computing requires computation and storage offloaded to the crowd respecting user interactivity in every possible way.

• Addressing mobile constraints is the only way.

Page 5: Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373) Venkata Sri Krishnakanth Pulla(95911880) Prashant Tiwari.

Challenges in this domain:

• How to abstract complex underlying heterogeneous technology.

• How to model parameters like low energy capacity and intermittent dis-connectivity that influence performance and interactivity of the application.

• Integrate processing and storage on cloud considering privacy and security. • Finally,

Constraints for Mobile Devices: Low Processing Capabilities,

Less available energy, Low Memory, Data rates and plans, Intermittent Dis-connectivity, Smaller Display etc.

Page 6: Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373) Venkata Sri Krishnakanth Pulla(95911880) Prashant Tiwari.

Types of Mobile Application

• Offline Applications: Fat Clients with presentation and business logic processed locally.

• Data downloaded from backend.

• Advantages: Well Integrated, Optimized Performance, Availability :even without network connectivity.

• Disadvantages: No Portability, Complex Code.

Page 7: Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373) Venkata Sri Krishnakanth Pulla(95911880) Prashant Tiwari.

• Online Applications: Only presentation layer at the client. All processing done online.

• Assume constant connectivity with backend.

• Platform issues; Web Technology to rescue.

• Advantages: Multiplatform, Direct and Instantaneous Accessibility to better services.

• Disadvantages: Excessive latency for real time responsiveness, no access to device features, sometimes difficult to maintain sessions for a long time.

** Urgent Need to Address Dynamic Environment of Mobiles!

Page 8: Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373) Venkata Sri Krishnakanth Pulla(95911880) Prashant Tiwari.

Novel Application Models for Cloud Computing

• Augmented execution: Tackle limitation of computation , memory and battery.

• Systems present ;based on Cloudlets; employ Dynamic VM Synthesis.

• Cloudlets->Trusted, Resource Rich cluster of computers, well connected to Internet and available to nearby mobiles.

• Offers low latency, one-hop high bandwidth wireless access.

Fig. 1. CloneCloud categories for augmented execution.

Page 9: Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373) Venkata Sri Krishnakanth Pulla(95911880) Prashant Tiwari.

Dynamic Virtual Machine Synthesis

Fig 2: Dynamic VM synthesis.

Page 10: Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373) Venkata Sri Krishnakanth Pulla(95911880) Prashant Tiwari.

Elastic Partitioned/ Modularized Application

• Due to heterogeneous changing environment, dynamic partitioning and remote execution of applications preferred.

• Calling the Cloud: Middleware to dynamically distribute layers of application between device and server, optimizing latency, data transfer and cost.

• Uses AlfredO framework, which is based on R-OSGI that allows decomposition of Java Application in software modules.

• MAUI: Code offload to improve battery life. Profiling Information of methods used to predict future invocations.

Page 11: Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373) Venkata Sri Krishnakanth Pulla(95911880) Prashant Tiwari.

Fig 3: Reference Architecture for Elastic Applications

Weblets-> platform independent and can be executed transparently on different computing infrastructures including mobile devices or IaaS (Infrastructure as a Service) cloud providers such as Amazon EC2 and S3 .

Page 12: Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373) Venkata Sri Krishnakanth Pulla(95911880) Prashant Tiwari.

Application Mobility(Move Application Within Hosts During

Execution)

• Internet Suspend/Resume:– VM encapsulates

distinct execution& user customization state.DFS transfers state.

– Migrate complete VM; More BW and Time

• JADE: – Adaptive Application

Mobility Solution.

– Based on Java

– Interoperability amongst Mobiles based on different H/W.

Page 13: Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373) Venkata Sri Krishnakanth Pulla(95911880) Prashant Tiwari.

Ad-hoc Mobile Cloud

Helpful when:•No or weak Internet Connection or Access to Big Cloud Providers.•Helps create computing communities•Reduces Data Transfer towards/from network.

Eg: The Hyrax Project which uses Hadoop Framework on Mobile Devices for sharing data and computation.

Fugure 4: A Mobile Cloud

Page 14: Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373) Venkata Sri Krishnakanth Pulla(95911880) Prashant Tiwari.

Topics for Exploration

• Programming Abstraction: Hide Complexity of Cloud, or have middleware in place.

• Cost Model: Consider parameters like module execution time, resource consumption, battery level, monetary cost, security, bandwidth etc.

• Adaptation: Two extreme approaches; Laissez-Fair Adaptation and Application Transparent Adaptation.

Page 15: Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373) Venkata Sri Krishnakanth Pulla(95911880) Prashant Tiwari.

Topics for Exploration Contd…

• Trust, Security and Privacy: Low control over data, potential data loss.

– Unlimited Computational Resources to non- trusted elements.

• Cloud Integration: Data Persistence vs Data Availability.

– Shifting modules to cloud &coordination not easy.

Page 16: Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373) Venkata Sri Krishnakanth Pulla(95911880) Prashant Tiwari.

Clone-Cloud

Page 17: Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373) Venkata Sri Krishnakanth Pulla(95911880) Prashant Tiwari.

Motivation

• With the increasing use of mobile devices, mobile applications with richer functionalities are becoming ubiquitous

• But mobile devices are limited by their resources for computing and power consumption

• Cloud – the place for abundant resources• Clouds provide opportunity to do huge

computations quickly and accurately

So why not use cloud for mobile computations??

Page 18: Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373) Venkata Sri Krishnakanth Pulla(95911880) Prashant Tiwari.

CloneCloud

• CloneCloud envisions at an architecture that uses cloud to do computations that consume resources badly on mobiles.

• It uses the “connectivity” abilities of the mobile devices as a substitute for computational abilities.

• It believes in the intuition that “as long as execution on the cloud is significantly faster than execution on the mobile device, paying the cost for sending the relevant data and code from the device to the cloud and back may be worth it.”

• It aims at finding the right spots in an application automatically where the execution can be partitioned and migrated to the cloud.

Page 19: Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373) Venkata Sri Krishnakanth Pulla(95911880) Prashant Tiwari.

CloneCloud• This model is primarily applicable to application layer

VMs (virtual machines) since the instruction sets in it are bytecodes and hence provide hardware and OS independence

• It exhibits opportunistic but conservative consistency• The partitioning component for finding migration

points uses – static analysis to find the constraints and the dynamic profiling for building the cost model for execution and migration

• It finally uses an optimizer that uses the above constraints and cost models to derive the partitions

Page 20: Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373) Venkata Sri Krishnakanth Pulla(95911880) Prashant Tiwari.

Partitioning

• The partitioning mechanism yields the partitions in the application that are optimal at execution time and energy consumption

• It is run multiple time under different conditions and objective functions – stores all partitions in a database

• At run time, the execution picks a partition among these and modifies the executable before invocation

• It has three components – static analyzer, dynamic profiler and optimization solver

Page 21: Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373) Venkata Sri Krishnakanth Pulla(95911880) Prashant Tiwari.

Partitioning

Fig 5: Partitioning Analysis Framework

Page 22: Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373) Venkata Sri Krishnakanth Pulla(95911880) Prashant Tiwari.

Static Analyzer

• The static analyzer identifies the legal partitions of the application executable according to a set of constraints

• Migration is restricted to the method entry and exit points

• Two more restrictions for simplicity– Migration is allowed only at the boundaries of

application methods but not core system library methods

– Migration is allowed at the VM-layer method boundaries but not native method boundaries

• Example…

Page 23: Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373) Venkata Sri Krishnakanth Pulla(95911880) Prashant Tiwari.

Static Analyzer - example

Fig 6: Flow Diagram in a Static Analyzer

Page 24: Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373) Venkata Sri Krishnakanth Pulla(95911880) Prashant Tiwari.

Static Analyzer - constraints

• Three properties of any legal partition– Methods that access specific features of a

machine must be pinned to the machine

– Methods that share native state must be collocated at the same machine.

– Prevent nested migration.

Page 25: Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373) Venkata Sri Krishnakanth Pulla(95911880) Prashant Tiwari.

Dynamic Profiler

• Profiler collects data that will be used to construct the cost model

• Currently using randomly chosen set of inputs– Future work is to explore symbolic-execution-based

techniques since randomly chosen inputs may not explore all execution paths

• Each execution is run once on mobile device and once on the clone in the cloud

• Profiler outputs set of executions S and a “profile tree”, for both mobile device and the clone

• Example…

Page 26: Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373) Venkata Sri Krishnakanth Pulla(95911880) Prashant Tiwari.

Dynamic Profiler- example

Fig 7: Example of Dynamic Profiler

Page 27: Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373) Venkata Sri Krishnakanth Pulla(95911880) Prashant Tiwari.

Profile tree

• One node for each method invocation• Every non-leaf node also has a leaf child called its

residual node• Residual node holds residual cost which represents the

cost of running the body of code excluding the costs of the methods called by it

• Computation cost Cc(i, l); l=0 on mobile device and filled from T, l=1 on the clone and filled from T’

• Migration cost Cs(i); sum of a suspend/resume cost and the transfer cost

Page 28: Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373) Venkata Sri Krishnakanth Pulla(95911880) Prashant Tiwari.

Dynamic Profiler

• For energy consumption model, we do the energy measurements with off-board equipment.

• CPU activity (processing/idle), display state (on/off), and network state (transmitting or receiving/idle), and translate them to a power value using func P

• Cc(i, 0)= P(CPUOn, ScrOn, NetIdle)* T[i]• Cc(i,1)= P(CPUIdle, ScrOn, NetIdle)• Cs(i) = <Cs(i) value from time model> *

P(CPUOn, ScrOn, NetOn)

Page 29: Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373) Venkata Sri Krishnakanth Pulla(95911880) Prashant Tiwari.

Optimization Solver

• It aims at picking up application methods to migrate to the clone from the mobile device, so as to minimize the expected cost of the partitioned application.

• Decision variable R(m) m= method in the application.

• R(m)=1 -> partitioner places a migration point at the entry point of the method.

• But not all partitioning choices for R(.) are legal

Page 30: Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373) Venkata Sri Krishnakanth Pulla(95911880) Prashant Tiwari.

Optimization problem

• Using the decision variables R(.), the auxiliary decision variables L(.), the method sets VM and VNatC for all classes C defined during static analysis, and the relations I, DC and TC

Page 31: Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373) Venkata Sri Krishnakanth Pulla(95911880) Prashant Tiwari.

Cost of a partition

• The cost of a legal partition R(.) of execution E is given by

• Optimization objective is to choose R() so as to minimize C(E)

Page 32: Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373) Venkata Sri Krishnakanth Pulla(95911880) Prashant Tiwari.

Distributed ExecutionTwo unique features of CloneCloud

Thread granularity migration:migration operates at the granularity of a

thread

Native-Everywhere: enables migrated threads to use native non-

virtualized hardware(GPUs, Cryptographic accelerators etc.)

Page 33: Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373) Venkata Sri Krishnakanth Pulla(95911880) Prashant Tiwari.

Migration Overview

Page 34: Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373) Venkata Sri Krishnakanth Pulla(95911880) Prashant Tiwari.

Suspend and capture Thread migrator suspends migrant thread

Captures its state, passes it to node manager

Node manager transfers the capture to clone

Page 35: Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373) Venkata Sri Krishnakanth Pulla(95911880) Prashant Tiwari.

Resume and Merge Clone's thread migrator captures and

packages the thread state

Node manager transfers the capture back to the mobile device

Migrator in the original process is given the capture for resumption

Page 36: Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373) Venkata Sri Krishnakanth Pulla(95911880) Prashant Tiwari.

Object Mapping

Page 37: Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373) Venkata Sri Krishnakanth Pulla(95911880) Prashant Tiwari.

Evaluation

Page 38: Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373) Venkata Sri Krishnakanth Pulla(95911880) Prashant Tiwari.

Evaluation

Page 39: Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373) Venkata Sri Krishnakanth Pulla(95911880) Prashant Tiwari.

Related Work MAUI: Making Smartphones Last Longer with

Code Offload

-does not support virtualized methods calling native methods

-requires programmers to annotate methods as REMOTABLE

-requires a solver to be running at the server at runtime (as opposed asynchronous solving in CloneCloud)

Page 40: Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373) Venkata Sri Krishnakanth Pulla(95911880) Prashant Tiwari.

Future Work CloneCloud focuses on migrating at

execution points where no native state need to be migrated

CloneCloud does not virtualize access to native resources that are not virtualized already and are not available on clone

No concurrency

Trust worthiness of clone

Page 41: Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373) Venkata Sri Krishnakanth Pulla(95911880) Prashant Tiwari.

Conclusion A design that achieves basic augmented

execution of mobile applications on the cloud

Prototype delivers up to 20x speed up and 20x energy reduction

Programmer involvement is not required Opens up a path for a rich research agenda in

hybrid mobile-cloud systems

Page 42: Mobile Cloud Computing: A Comparison of Application Models Group #6 Chandra Shekhar Jammi(95167373) Venkata Sri Krishnakanth Pulla(95911880) Prashant Tiwari.

Thanks