22
Autonomous Agents- based Mobile-Cloud Computing

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

Embed Size (px)

Citation preview

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