mobile-cloud

advertisement
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 selfprotection 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
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 creation
2. Process conversion into a message with all
state information
3. Message routing to destination server
4. Message reconstitution into executable
5. 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 upto-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
Cloud
Directory
Service
HostA
Cont.A
R2
Get cloud
host list
Mobile
HostB
Cont.B
R3
Result?
HostA,
HostB
Execution
Manager
App:
P1
Move to HostA
P2
P3 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
Face recognition with local-only
data
Instance Memory Core
s
Multi-threaded NQueens
returning # of solutions
Small
1.7 GB
1
Medium
3.75 GB
1
Large
7.5 GB
2
2x large
30 GB
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 interdependent 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!
mx: cost to execute x on device – cost to execute children of x
cx: 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
cdx: local execution cost for x
ccx: cloud execution cost for x
b: available bandwidth
xs: set of sub-modules (children) of x
19
Execution Tree Cost Optimization
0.7
0.1
42
19
c = 19, local
42
(19+.03+.1<0.7)?
c=0.7, offload
local:offload
19
0.6
0.03
c = 0.03, local
9
123
c = 9, offload
Depth-first traversal: O(E)
(9+1+19<42)?
c=29, local
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
Download