autonomous agents-based mobile-cloud computing. mobile-cloud computing (mcc) mcc refers to an...
Post on 18-Dec-2015
217 Views
Preview:
TRANSCRIPT
Autonomous Agents-based Mobile-Cloud
Computing
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…
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.
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
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.
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
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
8
JADE Agent Development Environment
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
10
How to Construct Autonomous Application Modules
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?
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:
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
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:
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
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
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
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
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!
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
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)
22
Experiments with Offloading Manager
Synthetic application with 6 offloadable modulesMotorola Atrix 4G + medium AMI on EC2Each module has different computation/data
transfer requirements
top related