Top Banner
Autonomous Agents- based Mobile-Cloud Computing
22

Autonomous Agents-based Mobile-Cloud Computing. Mobile-Cloud Computing (MCC) MCC refers to an infrastructure where the data storage and data processing.

Dec 18, 2015

Download

Documents

Archibald Young
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Autonomous Agents-based Mobile-Cloud Computing. Mobile-Cloud Computing (MCC) MCC refers to an infrastructure where the data storage and data processing.

Autonomous Agents-based Mobile-Cloud

Computing

Page 2: Autonomous Agents-based Mobile-Cloud Computing. Mobile-Cloud Computing (MCC) MCC refers to an infrastructure where the data storage and data processing.

2

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…

Page 3: Autonomous Agents-based Mobile-Cloud Computing. Mobile-Cloud Computing (MCC) MCC refers to an infrastructure where the data storage and data processing.

3

Research ProblemIn 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.

Page 4: Autonomous Agents-based Mobile-Cloud Computing. Mobile-Cloud Computing (MCC) MCC refers to an infrastructure where the data storage and data processing.

4

ChallengesInteroperability and standardizationEfficient 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

connection2. Minimum communication cost with mobile

platform 3. Limited computation overhead

Page 5: Autonomous Agents-based Mobile-Cloud Computing. Mobile-Cloud Computing (MCC) MCC refers to an infrastructure where the data storage and data processing.

5

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.

Page 6: Autonomous Agents-based Mobile-Cloud Computing. Mobile-Cloud Computing (MCC) MCC refers to an infrastructure where the data storage and data processing.

6

Mobile (Autonomous) Agents

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:1. Process suspension/new process creation2. Process conversion into a message with all

state information3. Message routing to destination server4. Message reconstitution into executable5. Execution continuation with next instruction

Page 7: Autonomous Agents-based Mobile-Cloud Computing. Mobile-Cloud Computing (MCC) MCC refers to an infrastructure where the data storage and data processing.

7

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

Page 8: Autonomous Agents-based Mobile-Cloud Computing. Mobile-Cloud Computing (MCC) MCC refers to an infrastructure where the data storage and data processing.

8

JADE Agent Development Environment

Page 9: Autonomous Agents-based Mobile-Cloud Computing. Mobile-Cloud Computing (MCC) MCC refers to an infrastructure where the data storage and data processing.

9

AAMCC ComponentsAutonomous 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

Page 10: Autonomous Agents-based Mobile-Cloud Computing. Mobile-Cloud Computing (MCC) MCC refers to an infrastructure where the data storage and data processing.

10

How to Construct Autonomous Application Modules

Page 11: Autonomous Agents-based Mobile-Cloud Computing. Mobile-Cloud Computing (MCC) MCC refers to an infrastructure where the data storage and data processing.

11

AAMCC in Action

P1P2

P3

Execution Manager

Cloud Director

y ServiceGet cloud

host listCont.A

Cont.B

HostA, HostB

HostA

HostB

Move to HostAMove to HostB

Mobile

Cloud

App:

R2

R3Result?

Page 12: Autonomous Agents-based Mobile-Cloud Computing. Mobile-Cloud Computing (MCC) MCC refers to an infrastructure where the data storage and data processing.

12

Experiments with AAMCC

With online data:

Application 1: Face RecognitionGiven the picture of a person, identify the

most similar face to it in a set of picturesAndroid 4.2 device emulator vs. AAMCC,

under average speed Wi-Fi network

Local-only data:

Page 13: Autonomous Agents-based Mobile-Cloud Computing. Mobile-Cloud Computing (MCC) MCC refers to an infrastructure where the data storage and data processing.

13

Experiments with AAMCC (cont.)

Application 2: SudokuGiven a Sudoku puzzle with a given list of

initially filled cells, find all possible solutionsMotorola Atrix 4G (1 GHz dual-core, 1 GB

RAM) with Android 2.3 vs. AAMCC, under average speed Wi-Fi network

Page 14: Autonomous Agents-based Mobile-Cloud Computing. Mobile-Cloud Computing (MCC) MCC refers to an infrastructure where the data storage and data processing.

14

Experiments with AAMCC (cont.)Application 3: NQueens PuzzleGiven an NQueens puzzle for an N x N board,

find all possible solutionsMotorola Atrix 4G device with Android 2.3 vs.

AAMCC, under average speed Wi-Fi network

Number of solutions: All solutions:

Page 15: Autonomous Agents-based Mobile-Cloud Computing. Mobile-Cloud Computing (MCC) MCC refers to an infrastructure where the data storage and data processing.

15

Elements of Context in MCC

User preferenceDevice context:

◦Device characteristics (memory, processor etc.)

◦Energy◦Workload

Quality of service:◦Data connection type, bandwidth◦Cloud resource availability

Situational context: location, time, sensors…

Our focus

Page 16: Autonomous Agents-based Mobile-Cloud Computing. Mobile-Cloud Computing (MCC) MCC refers to an infrastructure where the data storage and data processing.

16

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

Cores

Small 1.7 GB 1

Medium

3.75 GB 1

Large 7.5 GB 2

2x large

30 GB 8

Page 17: Autonomous Agents-based Mobile-Cloud Computing. Mobile-Cloud Computing (MCC) MCC refers to an infrastructure where the data storage and data processing.

17

Offloading Decision-Making

Easy to make offloading decision for a single application module:if (cost_to_offload < cost_to_execute_locally)

then offloadelse

execute on device

cost_to_offload = time to send code and data to cloud + time to get response from cloud + time to execute in cloudNot so easy to decide for multiple

inter-dependent application modules

Page 18: Autonomous Agents-based Mobile-Cloud Computing. Mobile-Cloud Computing (MCC) MCC refers to an infrastructure where the data storage and data processing.

18

Multi-Component Offloading Decision-Making

Offline steps:Identify dependencies between

offloadable application modules Construct execution tree based

on dependenciesInsert cost statistics into tree

Online steps:Calculate offloading costsRun cost optimization algorithm

Page 19: Autonomous Agents-based Mobile-Cloud Computing. Mobile-Cloud Computing (MCC) MCC refers to an infrastructure where the data storage and data processing.

19

Application Execution TreeRepresents interactions between

modulesRoot of the tree: entry node (main

method)If x is the child of y, y invokes x

mx: cost to execute x on device – cost to execute children of xcx: amount of data to transfer to offload x (separate from parent)

No cyclic dependencies!

Page 20: Autonomous Agents-based Mobile-Cloud Computing. Mobile-Cloud Computing (MCC) MCC refers to an infrastructure where the data storage and data processing.

20

Offloading Manager Cost Model

Assumption: Execution cost for any module in the cloud is negligible compared to execution cost on devicecdx: local execution cost for x

ccx: cloud execution cost for x

b: available bandwidth xs: set of sub-modules (children) of x

Page 21: Autonomous Agents-based Mobile-Cloud Computing. Mobile-Cloud Computing (MCC) MCC refers to an infrastructure where the data storage and data processing.

21

Execution Tree Cost Optimization

0.1

0.7

42

19 0.03

19

42

9 1

3123

0.6

c = 19, local c = 0.03, local

(19+.03+.1<0.7)?local:offload

c = 9, offload c = 1, offload

(9+1+19<42)?local: offloadc=0.7, offload c=29, local

Depth-first traversal: O(E)

Page 22: Autonomous Agents-based Mobile-Cloud Computing. Mobile-Cloud Computing (MCC) MCC refers to an infrastructure where the data storage and data processing.

22

Experiments with Offloading Manager

Synthetic application with 6 offloadable modulesMotorola Atrix 4G + medium AMI on EC2Each module has different computation/data

transfer requirements