Mobile Cloud Computing: A Comparison of Application Models

advertisement
Mobile Cloud Computing: A
Comparison of
Application Models
Group #6
Chandra Shekhar Jammi(95167373)
Venkata Sri Krishnakanth Pulla(95911880)
Prashant Tiwari (22721608)
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.
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
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.
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.
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.
• 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!
Novel Application Models for Cloud
Computing
• Augmented execution: Tackle limitation of computation , memory and
battery.
Fig. 1. CloneCloud categories
for augmented execution.
• 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.
Dynamic Virtual Machine Synthesis
Fig 2: Dynamic VM synthesis.
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.
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 .
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.
Ad-hoc Mobile Cloud
Fugure 4: A 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.
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.
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.
Clone-Cloud
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??
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.
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
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
Partitioning
Fig 5: Partitioning Analysis Framework
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…
Static Analyzer - example
Fig 6: Flow Diagram in a Static Analyzer
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.
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…
Dynamic Profiler- example
Fig 7: Example of Dynamic Profiler
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
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)
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
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
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
Distributed Execution
Two 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.)

Migration Overview
Suspend and capture

Thread migrator suspends migrant thread

Captures its state, passes it to node manager

Node manager transfers the capture to clone
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
Object Mapping
Evaluation
Evaluation
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)
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
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
Thanks
Download