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.
Secure your environment with UiPath and CyberArk technologies - Session 1
Adaptive Computation Offloading from Mobile Devices into the Cloud
1. Adaptive Computation Offloading
from Mobile Devices into the Cloud
Dejan Kovachev, Tian Yu & Ralf Klamma
RWTH Aachen University
Advanced Community Information Systems (ACIS)
kovachev@dbis.rwth-aachen.de
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.
2. {Advanced | ATLAS | Awesome | Aachen}
Community Information Systems (ACIS)
Responsive
Web Engineering Community
Web Analytics
Open
Visualization
Community
and
Information
Simulation
Systems
Community Community
Support Analytics
Lehrstuhl Informatik 5
Requirements
(Information Systems)
Prof. Dr. M. Jarke
I5-KYKl-0712-2
Engineering
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-3
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
Lehrstuhl Informatik 5
Need a transparent way to extend mobile devices’ capabilities
(Information Systems)
Prof. Dr. M. Jarke
I5-KYKl-0712-4
5. Mobile + Cloud Computing
Cloud computing allows to develop, Cloud
deploy and run applications that can
- Easily grow capacity (scalability),
Cloudlet/Surrogate
(nearby resources)
Base Station/
- Work fast (performance), WiFi AP/
Femto cell
- No concern to the nature and
Mobile Device
location of the underlying infrastructure
Mobile cloud computing benefits from
- The computation power of the clouds
- Anywhere at any time access
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-KYKl-0712-5
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
Lehrstuhl Informatik 5
– Computation/Storage offloading decision
– Seamless computation/storage integration and consistency
(Information Systems)
Prof. Dr. M. Jarke
I5-KYKl-0712-6
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-7
8. Partitioning Algorithms
Partitioning determines which part of code should be run locally/remotely
Easy to Optimization Optimization
Method/Project Model Profiling
Implement Result Goal
AIDE Execution No N/A Component No
[Gu et al. 2002] Graph Granularity
(k+1) Multi-cost No Global CPU, Memory, No
[Ou et al. 2007] Graph Bandwidth
AlfredO Consumption No Local Interaction No
[Guirgiu et al. 2009] Graph Latency
MAUI Call Graph No N/A Power Yes
[Cuervo et al. 2010] Consumption
Scavenger Multi-info Graph No N/A Not Considering Yes, dual profile
[Kristensen 2010] Energy Usage
MACS ILP optimization Yes Global Flexible Yes
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-KYKl-0712-9
9. MACS Conceptual Approach
Metadata for each module
- Offload Type
- Memory Cost
- Code Size
- Transmission Data Size
Offloading Mechanisms
- Computation Offloading [Kovachev et. al. 2010]
Services on Android
- Data Offloading
Partition Model
Lehrstuhl Informatik 5
- Transform into Integer Linear Programming (ILP)
(Information Systems)
Prof. Dr. M. Jarke
I5-KYKl-0712-10
10. 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-11
11. 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-12
12. AIDL Tool
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
MACS
code
Generated
code
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-KYKl-0712-13
13. 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-14
14. Workflow
Service Client Monitor Cloud
Function Call Register
Remote
InitializeService
Install Service
TransmitCall
Remote File
Service NotResult
Remote Installed
InitializeOK
Install OK
File Needed
Transmit File OK
Lehrstuhl Informatik 5 Result
(Information Systems)
Prof. Dr. M. Jarke
I5-KYKl-0712-15
15. 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: 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
Lehrstuhl Informatik 5 OS Android 2.2 Windows XP x64
(Information Systems)
Prof. Dr. M. Jarke 16
I5-KYKl-0712-16
16. Results (cont.)
Execution Time
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-17
17. Results (cont.)
Execution Time (detailed)
Remote
Use Case B
While offloading, our framework introduces small overhead
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-KYKl-0712-18
18. Results (cont.)
Lower Energy Consumption
Use Case B
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-KYKl-0712-19
19. 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-20
20. Thanks for your attention!
Q&A
Lehrstuhl Informatik 5
(Information Systems)
Prof. Dr. M. Jarke
I5-KYKl-0712-21