Cloud Computing Cloud Computing Overview of Distributed Computing.
Autonomous Agents-based Mobile-Cloud Computing. Mobile-Cloud Computing (MCC) MCC refers to an...
-
Upload
archibald-young -
Category
Documents
-
view
217 -
download
0
Transcript of Autonomous Agents-based Mobile-Cloud Computing. Mobile-Cloud Computing (MCC) MCC refers to an...
![Page 1: Autonomous Agents-based Mobile-Cloud Computing. Mobile-Cloud Computing (MCC) MCC refers to an infrastructure where the data storage and data processing.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d215503460f949f629b/html5/thumbnails/1.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d215503460f949f629b/html5/thumbnails/2.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d215503460f949f629b/html5/thumbnails/3.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d215503460f949f629b/html5/thumbnails/4.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d215503460f949f629b/html5/thumbnails/5.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d215503460f949f629b/html5/thumbnails/6.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d215503460f949f629b/html5/thumbnails/7.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d215503460f949f629b/html5/thumbnails/8.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d215503460f949f629b/html5/thumbnails/9.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d215503460f949f629b/html5/thumbnails/10.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d215503460f949f629b/html5/thumbnails/11.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d215503460f949f629b/html5/thumbnails/12.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d215503460f949f629b/html5/thumbnails/13.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d215503460f949f629b/html5/thumbnails/14.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d215503460f949f629b/html5/thumbnails/15.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d215503460f949f629b/html5/thumbnails/16.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d215503460f949f629b/html5/thumbnails/17.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d215503460f949f629b/html5/thumbnails/18.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d215503460f949f629b/html5/thumbnails/19.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d215503460f949f629b/html5/thumbnails/20.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d215503460f949f629b/html5/thumbnails/21.jpg)
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.](https://reader030.fdocuments.in/reader030/viewer/2022032800/56649d215503460f949f629b/html5/thumbnails/22.jpg)
22
Experiments with Offloading Manager
Synthetic application with 6 offloadable modulesMotorola Atrix 4G + medium AMI on EC2Each module has different computation/data
transfer requirements