Adaptive Computation Offloading from Mobile Devices into the Cloud


Published on

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.

Published in: Technology, Business
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Adaptive Computation Offloading from Mobile Devices into the Cloud

  1. 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.deLehrstuhl 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. 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 AnalyticsLehrstuhl Informatik 5 Requirements(Information Systems) Prof. Dr. M. Jarke I5-KYKl-0712-2 Engineering
  3. 3. Agenda  Motivation  Offloading & Cloud Computing  Related Work  Mobile Augmentation Cloud Services  Evaluation  ConclusionsLehrstuhl Informatik 5(Information Systems) Prof. Dr. M. Jarke I5-KYKl-0712-3
  4. 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 EditingLehrstuhl Informatik 5  Need a transparent way to extend mobile devices’ capabilities(Information Systems) Prof. Dr. M. Jarke I5-KYKl-0712-4
  5. 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 accessLehrstuhl Informatik 5(Information Systems) Prof. Dr. M. Jarke I5-KYKl-0712-5
  6. 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 binariesLehrstuhl Informatik 5 – Computation/Storage offloading decision – Seamless computation/storage integration and consistency(Information Systems) Prof. Dr. M. Jarke I5-KYKl-0712-6
  7. 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 servicesLehrstuhl Informatik 5(Information Systems) Prof. Dr. M. Jarke I5-KYKl-0712-7
  8. 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 YesLehrstuhl Informatik 5(Information Systems) Prof. Dr. M. Jarke I5-KYKl-0712-9
  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 ModelLehrstuhl Informatik 5 - Transform into Integer Linear Programming (ILP)(Information Systems) Prof. Dr. M. Jarke I5-KYKl-0712-10
  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: xiLehrstuhl Informatik 5(Information Systems) Prof. Dr. M. Jarke I5-KYKl-0712-11
  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. 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 codeLehrstuhl Informatik 5(Information Systems) Prof. Dr. M. Jarke I5-KYKl-0712-13
  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 replacedLehrstuhl Informatik 5(Information Systems) Prof. Dr. M. Jarke I5-KYKl-0712-14
  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 OKLehrstuhl Informatik 5 Result(Information Systems) Prof. Dr. M. Jarke I5-KYKl-0712-15
  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/ALehrstuhl Informatik 5 OS Android 2.2 Windows XP x64(Information Systems) Prof. Dr. M. Jarke 16 I5-KYKl-0712-16
  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. 17. Results (cont.)  Execution Time (detailed) Remote Use Case B While offloading, our framework introduces small overheadLehrstuhl Informatik 5(Information Systems) Prof. Dr. M. Jarke I5-KYKl-0712-18
  18. 18. Results (cont.)  Lower Energy Consumption Use Case BLehrstuhl Informatik 5(Information Systems) Prof. Dr. M. Jarke I5-KYKl-0712-19
  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 applicationsLehrstuhl Informatik 5(Information Systems) Prof. Dr. M. Jarke I5-KYKl-0712-20
  20. 20. Thanks for your attention! Q&ALehrstuhl Informatik 5(Information Systems) Prof. Dr. M. Jarke I5-KYKl-0712-21