mobile-cloud

Download Report

Transcript mobile-cloud

Autonomous Agents-based Mobile-Cloud Computing

Mobile-Cloud Computing (MCC)

    MCC refers to an infrastructure where the data storage and data processing can happen outside of the mobile device. Mobile-cloud applications move computing into powerful and centralized computing platforms located in clouds.

Advantages: Extending battery lifetime, improving processing power, increasing availability, dynamic resource provisioning...

Applications: Augmented reality, security/emergency, mobile healthcare, mobile gaming, mobile commerce… 1

Research Problem

 In MCC, an inflexible split of computation between the mobile and cloud platforms causes sub-optimal runtime performance. There is need for a mobile-cloud computation framework that achieves optimal performance under varying runtime conditions, without sacrificing security.

Autonomous agents, when augmented with self protection and self-performance evaluation capability, are effective tools for high-performance, secure MCC.

2

  

Challenges

Interoperability and standardization Efficient and effective computation offloading: ◦ Variable bandwidth ◦ ◦ Mobile service availability Difficulty of runtime conditions estimation Security: ◦ Multi-tenancy in cloud causes vulnerability ◦ ◦ Offloaded code prone to tampering End-to-end security of mobile code at risk Any mechanism needs to satisfy: 1. Real-time response under intermittent network connection 2. Minimum communication cost with mobile platform 3. Limited computation overhead 3

AN AUTONOMOUS AGENTS-BASED COMPUTATION OFFLOADING FRAMEWORK FOR MCC (AAMCC)

P. Angin, B. Bhargava. “An Agent-based Optimization Framework for Mobile-Cloud Computing,” Journal of

Wireless Mobile Networks, Ubiquitous Computing, and

Dependable Applications, Vol. 4, No. 2, 2013.

4

Mobile (Autonomous) Agents

  1.

2.

3.

4.

5.

A mobile agent is a software program with mobility, which can be sent out from a computer into a network and roam among the nodes in the network autonomously to finish its task on behalf of its owner.

Mobile agent migration follows these steps: Process suspension/new process creation Process conversion into a message with all state information Message routing to destination server Message reconstitution into executable Execution continuation with next instruction 5

Why Mobile Agents for MCC?

     Agents can provide better support for mobile clients (reduced network communication) Agents facilitate real-time interaction with server Agent-based transactions avoid the need to preserve process state Agent-based modules are capable of moving across different platforms transparently Agent-based modules can be augmented with self-protection and performance evaluation capability 6

JADE Agent Development Environment

7

AAMCC Components

   

Autonomous application modules:

Chunk of application code packed in a mobile agent, that is executable on a cloud host.

Cloud directory service: Maintains an up to-date database of VMIs available for use in the cloud Cloud hosts (VMIs): Host containers of the mobile agents sent to the cloud

Offloading manager (execution

manager): Makes the decision regarding the execution platform of the different program partitions More later 8

How to Construct Autonomous Application Modules

9

AAMCC in Action

Cloud Cont.A

HostA R2 Get cloud host list Cloud Directory Service HostA, HostB HostB Cont.B

R3 Result?

Mobile Execution Manager App: P1 P2 P3 Move to HostA Move to HostB 10

Experiments with AAMCC

Application 1: Face Recognition  Given the picture of a person, identify the most similar face to it in a set of pictures  Android 4.2 device emulator vs. AAMCC, under average speed Wi-Fi network With online data: Local-only data: 11

Experiments with AAMCC (cont.)

Application 2: Sudoku  Given a Sudoku puzzle with a given list of initially filled cells, find all possible solutions  Motorola Atrix 4G (1 GHz dual-core, 1 GB RAM) with Android 2.3 vs. AAMCC, under average speed Wi-Fi network 12

Experiments with AAMCC (cont.)

Application 3: NQueens Puzzle  Given an NQueens puzzle for an N x N board, find all possible solutions Motorola Atrix 4G device with Android 2.3 vs. AAMCC, under average speed Wi-Fi network Number of solutions: All solutions: 13

Elements of Context in MCC

    User preference Device context: ◦ Device characteristics (memory, processor etc.) ◦ Energy ◦ Workload Quality of service: ◦ ◦ Data connection type, bandwidth Cloud resource availability Our focus Situational context: location, time, sensors… 14

Effects of Context on AAMCC

Face recognition with local-only data, 32-picture set Multi-threaded NQueens returning # of solutions Face recognition with local-only data

Instance Memory Core s

Small 1.7 GB 1 Medium 3.75 GB 1 Large 2x large 7.5 GB 30 GB 2 8 15

Offloading Decision-Making

 Easy to make offloading decision for a single application module:

if (cost_to_offload < cost_to_execute_locally) then offload else execute on device cost_to_offload = time to send code and data to cloud + time to get response from cloud + time to execute in cloud

 Not so easy to decide for multiple inter- dependent application modules 16

Multi-Component Offloading Decision-Making

Offline steps:  Identify dependencies between offloadable application modules   Construct execution tree based on dependencies Insert cost statistics into tree Online steps:  Calculate offloading costs  Run cost optimization algorithm 17

Application Execution Tree

   Represents interactions between modules Root of the tree: entry node (main method) If x is the child of y, y invokes x No cyclic dependencies!

m x : cost to execute x on device – cost to execute children of x c x : amount of data to transfer to offload x (separate from parent) 18

Offloading Manager Cost Model

Assumption: Execution cost for any module in the cloud is negligible compared to execution cost on device cd x : local execution cost for x cc x : cloud execution cost for x b: available bandwidth x s : set of sub-modules (children) of x 19

Execution Tree Cost Optimization

42 19 c = 19, local 0.7

0.1

(19+.03+.1<0.7)?

local:offload 0.6

0.03

c = 0.03, local 123 c = 9, offload Depth-first traversal: O(E) 9 42 19 (9+1+19<42)?

local: offload 1 3 c = 1, offload 20

  

Experiments with Offloading Manager

Synthetic application with 6 offloadable modules Motorola Atrix 4G + medium AMI on EC2 Each module has different computation/data transfer requirements 21