adaptive computation offloading from mobile devices into the cloud
DESCRIPTION
The inherently limited processing power and battery lifetime of mobile phones hinder the possible execution of computationally intensive applications like content-based video analysis or 3D modeling. Offloading of computationally intensive application parts from the mobile platform into a remote cloud infrastructure or nearby idle computers addresses this problem. This paper presents our Mobile Augmentation Cloud Services (MACS) middleware which enables adaptive extension of Android application execution from a mobile client into the cloud. Applications are developed by using the standard Android development pattern. The middleware does the heavy lifting of adaptive application partitioning, resource monitoring and computation offloading. These elastic mobile applications can run as usual mobile application, but they can also reach transparently remote computing resources. Two prototype applications using the MACS middleware demonstrate the benefits of the approach. The evaluation shows that applications, which involve complicated algorithms and large computations, can benefit from offloading with around 95\% energy savings and significant performance gains compared to local execution only.TRANSCRIPT
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-KYKl-0712-1 This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.
Adaptive Computation Offloading
from Mobile Devices into the Cloud
Dejan Kovachev, Tian Yu & Ralf Klamma
RWTH Aachen University
Advanced Community Information Systems (ACIS)
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-KYKl-0712-2
Responsive Open
Community Information
Systems
Community Visualization
and Simulation
Community Analytics
Community Support
Web
An
alytics
Web
En
gin
eeri
ng
{Advanced | ATLAS | Awesome | Aachen}
Community Information Systems (ACIS)
Requirements
Engineering
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-KYKl-0712-3
Agenda
Motivation
Offloading & Cloud Computing
Related Work
Mobile Augmentation Cloud Services
Evaluation
Conclusions
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-KYKl-0712-4
Smartphones:
The Mobile Personal Computer
Trends – Hardware improvement on mobile devices
– “The Swiss Army Knife” smartphone
– Decreased privacy
However, still not achieved – Longer battery life
– Battery lasts only 1-2 hours for continuous computing
– Same quality of experience as on desktops/laptops – Weaker CPU, Memory, GPU (compared to Desktop PCs)
– Running of “heavier” applications – E.g. OCR, 3D Rendering, Speech Recognition, Image Processing, Video
Editing
Need a transparent way to extend mobile devices’ capabilities
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-KYKl-0712-5
Mobile + Cloud Computing
Cloud computing allows to develop,
deploy and run applications that can
- Easily grow capacity (scalability),
- Work fast (performance),
- No concern to the nature and
location of the underlying infrastructure
Mobile cloud computing benefits from
- The computation power of the clouds
- Anywhere at any time access
Cloud
Base Station/WiFi AP/
Femto cell
Mobile Device
Cloudlet/Surrogate(nearby resources)
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-KYKl-0712-6
Offloading
Offloading/Augmented execution
– Overcome limitations of mobile phones in terms of memory, CPU
and battery with external resources
– Illusion of virtually much more “powerful” devices
Benefits
– Stand-alone apps that can work offline
– Use of external resources on demand adaptively
– Natural privacy
Challenges
– Distributed app binaries
– Computation/Storage offloading decision
– Seamless computation/storage integration and consistency
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-KYKl-0712-7
Approaches to
Augment Mobile Devices
VM-based [Satynarayanan et al. 2009] [Chun and Maniatis 2009] [Kosta et al. 11]
– Simple idea, no code to be modified
– But, not scalable, too much overhead
Methods instrumenting [Ou et al. 2007] [Cuervo et al. 2010]
– Create proxy class to forward function calls
Service/Module Oriented [Kemp et al. 2010] [Giurgiu et al. 2009]
– Application logic is encapsulated in different services
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-KYKl-0712-9
Partitioning Algorithms
Method/Project Model Easy to
Implement
Optimization
Result
Optimization
Goal Profiling
AIDE [Gu et al. 2002]
Execution
Graph
No N/A Component
Granularity
No
(k+1) [Ou et al. 2007]
Multi-cost
Graph
No Global CPU, Memory,
Bandwidth
No
AlfredO [Guirgiu et al. 2009]
Consumption
Graph
No Local Interaction
Latency
No
MAUI [Cuervo et al. 2010]
Call Graph No N/A Power
Consumption
Yes
Scavenger [Kristensen 2010]
Multi-info Graph No N/A Not Considering
Energy Usage
Yes, dual profile
MACS
ILP optimization Yes Global Flexible Yes
Partitioning determines which part of code should be run locally/remotely
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-KYKl-0712-10
MACS Conceptual Approach
Metadata for each module
- Offload Type
- Memory Cost
- Code Size
- Transmission Data Size
Offloading Mechanisms
- Computation Offloading
Services on Android
- Data Offloading
Partition Model
- Transform into Integer Linear Programming (ILP)
[Kovachev et. al. 2010]
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-KYKl-0712-11
MACS Partitioning Model
Input for each module Mi
memi, codei, ti, sendi, reci,tri
Goal
min(𝑐𝑡𝑟𝑎𝑛𝑠𝑓𝑒𝑟 ∗ 𝑤𝑡𝑟 + 𝑐𝑚𝑒𝑚𝑜𝑟𝑦 ∗ 𝑤𝑚𝑒𝑚 + 𝑐𝐶𝑃𝑈 ∗ 𝑤𝑐𝑝𝑢)
where c is the cost, w is the weight factor.
Constraints
- Memory usage
- Energy consideration
- Execution time consideration
Output: xi
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-KYKl-0712-12
MACS Architecture
Application logic is structured from multiple Android services (Si)
Services can be offloaded into the cloud.
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-KYKl-0712-13
Android Interface Definition Language
- Define the interface of IPC
Embedded code into the generated code
- Hidden implementation details to developers
- Modification of the compile procedure
AIDL Tool
Generated
code
MACS
code
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-KYKl-0712-14
Resource Monitor
Collect / Store Information
– CPU
– Memory
– Service
– Network
Make Offloading Decision
– Decision maker to solve optimization problem
– Default decision maker can be easily replaced
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-KYKl-0712-15
Workflow
Service Client Monitor Cloud
Service Not Installed
Remote
Install OK
Initialize OK
File Needed
Transmit File OK
Remote Result
Result
Function Call
Register
Remote Call
Install Service
Initialize Service
Remote Call
Transmit File
Remote Call
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-KYKl-0712-16
Evaluation
Use cases: – A: N-Queens problem on mobile devices
Famous recursion problem
– B: Face detection and recognition in video file
Involves huge video processing
Setup:
16
Hardware component Mobile Device Desktop
Processor ARM Cortex A8 600 MHz Intel Quad-Core 2.83
GHz
Memory 256 MB 8 GB
WLAN Wi-Fi 802.11 b/g N/A
OS Android 2.2 Windows XP x64
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-KYKl-0712-17
Execution Time
Results (cont.)
Use Case B
Remote is always the better choice,
nearly 30 times faster.
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-KYKl-0712-18
Execution Time (detailed)
Results (cont.)
Use Case B
Rem
ote
While offloading, our framework introduces small overhead
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-KYKl-0712-19
Lower Energy Consumption
Results (cont.)
Use Case B
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-KYKl-0712-20
Conclusions and Future Work
Conclusions
– Less execution time (especially for huge computation)
– Less energy consumption
– Less CPU instructions
– Low overhead
Future work
– Multiple clouds/services
– Runtime behavior estimation
– Automatic offloading
– Model checking
– Integration with the Eclipse plugin
– Support legacy applications
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-KYKl-0712-21
Thanks for your attention!
Q & A