adaptive computation offloading from mobile devices into the cloud

20
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) [email protected]

Upload: dejan-kovachev

Post on 06-May-2015

1.551 views

Category:

Technology


1 download

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

Page 1: Adaptive Computation Offloading from Mobile Devices into the Cloud

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)

[email protected]

Page 2: Adaptive Computation Offloading from Mobile Devices into the Cloud

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

Page 3: Adaptive Computation Offloading from Mobile Devices into the Cloud

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

Page 4: Adaptive Computation Offloading from Mobile Devices into the Cloud

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

Page 5: Adaptive Computation Offloading from Mobile Devices into the Cloud

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)

Page 6: Adaptive Computation Offloading from Mobile Devices into the Cloud

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

Page 7: Adaptive Computation Offloading from Mobile Devices into the Cloud

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

Page 8: Adaptive Computation Offloading from Mobile Devices into the Cloud

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

Page 9: Adaptive Computation Offloading from Mobile Devices into the Cloud

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]

Page 10: Adaptive Computation Offloading from Mobile Devices into the Cloud

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

Page 11: Adaptive Computation Offloading from Mobile Devices into the Cloud

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.

Page 12: Adaptive Computation Offloading from Mobile Devices 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

Page 13: Adaptive Computation Offloading from Mobile Devices into the Cloud

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

Page 14: Adaptive Computation Offloading from Mobile Devices into the Cloud

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

Page 15: Adaptive Computation Offloading from Mobile Devices into the Cloud

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

Page 16: Adaptive Computation Offloading from Mobile Devices into the Cloud

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.

Page 17: Adaptive Computation Offloading from Mobile Devices into the Cloud

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

Page 18: Adaptive Computation Offloading from Mobile Devices into the Cloud

Lehrstuhl Informatik 5

(Information Systems)

Prof. Dr. M. Jarke

I5-KYKl-0712-19

Lower Energy Consumption

Results (cont.)

Use Case B

Page 19: Adaptive Computation Offloading from Mobile Devices into the Cloud

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

Page 20: Adaptive Computation Offloading from Mobile Devices into the Cloud

Lehrstuhl Informatik 5

(Information Systems)

Prof. Dr. M. Jarke

I5-KYKl-0712-21

Thanks for your attention!

Q & A