QoS-Aware Middleware for Optimal Service Allocation in Mobile Cloud Computing
1. QoS-Aware Middleware for
Optimal Service Allocation in
Mobile Cloud Computing
Reza Rahimi,
SCHOOL OF INFORMATION AND COMPUTER SCIENCE,
University of California,
Irvine, CA.
2. Prologue
Next Generation of Mobile Apps
Sensory Based Applications
Location Based
Services (LBS)
Mobile Music: 52.5%
Mobile Video:25.2%
Mobile Gaming: 19.3%
Augmented Reality
Mobile Social
Networks and
Crowdsourcing
Multimedia and
Data Streaming
M. Reza Rahimi, Jian Ren, Chi Harold Liu, Athanasios V. Vasilakos, and Nalini Venkatasubramanian, "Mobile Cloud Computing: A
Survey, State of Art and Future Directions", in ACM/Springer Mobile Application and Networks (MONET), Speciall Issue on Mobile
Cloud Computing, Nov. 2013.
2
3. • Cloud computing is a style of computing where
massively scalable and elastic IT-related capabilities
are provided “as a service” to external customers using
Internet technologies.
• Mobile cloud computing simply refers to an
infrastructure where both the data storage and the data
processing could happen outside of the mobile device
mainly on cloud.
Mobile Cloud Computing
Cloud
Computing
Mobile Computing
3
4. Research Objectives (Big Picture)
Computation
/Storage as a
Service:
ex: computation,
Storage, Platform,..
Network as a
Service:
ex: Wireless
connectivity
(Wi-Fi, 3G/4G,
Bluetooth,…)
Context as a Service:
Optimal service allocation
based on mobile users or
providers criteria
ex: Mobility patterns,
Service Usage in different
location and time,
Group-Aware, Social
Context, …
4
5. Related Work
Framework
Description
Theory
ISLPED2012:
Analytical framework based on
game theory for energy saving.
WiFi connection.
Theory
InfoCom 2012:
Analytical framework based on
convex optimization for reducing
energy and execution time.
CloneCloud
Eurosys2011:
Objective: Energy saving, Reduction
in execution time, Virtualization
framework using Wi-Fi and 3G
MobiCloud
SOSE2010:
Objective: Energy saving and price,
Virtualization Framework using
Wi-Fi and 3G
Description
Objective: Energy saving, Reduction
in execution time , Virtualization
Framework using Wi-Fi and 3G
-Not scalable due to cloning, they
only considered local cloud,
Mobility issue on performance.
MAUI
MobiSys2010:
Framework
Cuckoo
MobiCase 2010:
Objective: Energy saving,
Reduction in execution time ,
Client/Server Wi-Fi ,3G and
Bluetooth
Calling The Cloud
Middleware 2009:
Objective: Reduction in
execution time, code size and
proxy cost Client/Server
Framework using Wi-Fi and
Bluetooth
-any scalability studies, energy
issues, public and local cloud
modeling, mobility affect on
performance.
Chroma
MobiSys2003:
Objective: Reduction in
execution time Client-Server
using Wi-Fi.
•
•
•
Cloudlet
PerCom2009:
Objective: Reduction in execution
time, Virtualization framework
using Wi-Fi
•
Mobility issues,
Different Cloud Types
(public/local),
Public Cloud Important criteria like
price,
Scalability Study.
5
6. Research Contributions:
• 2-Tier Cloud architecture as the cloud computing
platform.
• Location-time workflow as the modeling framework
for mobile applications in mobile cloud computing.
• Different heuristics to solve optimal service allocation
in mobile cloud computing.
• MAPCloud as a QoS-middleware for service allocation
in mobile cloud computing.
• Scalable version of service allocation algorithm in
mobile cloud computing.
6
8. What is Cloud Computing?
A style of computing where massively scalable and elastic
IT-related capabilities are provided “as a service” to external
customers using Internet technologies (Computing as a
Utility).
3 different services could be considered as:
Software as a Service (SaaS):
Platform as a Service (PaaS):
Infrastructure as a Service (IaaS):
8
9. • There are two different approaches to use remote
resources for mobile applications:
•
First Approach: Connect to Public Cloud for resource intensive
tasks!
• Long WAN delay [Satyanarayanan_2011] , [ Cavilla_2007] :
• unlikely to be improved while the prime target of WAN improvement is security,
management.
• Second Approach: Connect to Local Clouds (Local proxies,
Cloudlets) in proximity of the users for resource intensive tasks,
[Clone Cloud], [MAUI], [PARM].
• LAN delay is always order of magnitude better that WAN delay
[Satyanarayanan_2011] .
• Near user resources could not scale up well.
[Satyanarayanan_2011] Mahadev Satyanarayanan, “Mobile Computing: The Next Decade”, in SIGMOBILE Mobile 2011.
[ Cavilla_2007] Lagar-Cavilla and et al. “ Interactive Resource-Intensive Applications Made Easy”, In Proceedings
MIDDLEWARE2007.
[Clone Cloud] Byung-Gon Chun and et al. " CloneCloud: Elastic Execution between Mobile Device and Cloud", EuroSys
2011.
[MAUI] E. Cuervo, A. Balasubramanian and et al. " MAUI: Making Smartphones Last Longer with Code Offload",MobiSys
2010.
[PARM] S. Mohapatra and et al. ”Power-Aware Middleware for Mobile Applications”, Chapter 10 of the Handbook of
Energy-Aware and Green Computing, Chapman Hall/CRC, 2011.
9
10. Tier 1: Public Cloud
(+) Scalable and Elastic
(-) Price, Delay
Tier 2: Local Cloud
(+) Low Delay, Low Power,
Almost Free
(-) Not Scalable and Elastic
3G Access
Point
RTT:
~290ms
Wi-Fi Access
Point
RTT:
~80ms
M. Reza. Rahimi, N. Venkatasubramania "Cloud Based Framework for Rich Content Mobile Applications", poster in the
IEEE/ACM CCGrid 2011.
M. Satyanarayanan, P. Bahl, R. Cáceres, N. Davies " The Case for VM-Based Cloudlets in Mobile Computing", PerCom 2009.
10
11. • Due to different characteristics of local and public
cloud services, service allocation for mobile
users/group of users on this 2-Tier cloud is a hard task
(we will show it is NP-Hard!).
• In this research we investigate how to optimally assign
services for mobile user/ group of users on this 2-Tier
cloud architecture considering power consumed on
mobile device, delay that user experienced and price
as the main criteria for optimization.
• We need a formal framework to model mobile
users, different cloud services, mobile applications
an their QoS.
11
12. • Service Oriented Computing (SOC) provides strong
formal framework for defining the concepts of Services,
Workflow, QoS for generic applications.
• We will use and extend these concepts to mobile cloud
computing in the next section.
• More precisely we will:
• Formally define cloud and service concepts,
• Mobile users and its related properties,
• Mobile group concept to define group-ware
application.
12
17. Workflow
• It consists of number of logical and precise steps
known as a function (for application modeling).
• Functions could be composed together in different
patterns [Mabrouk_2009] , [Zheng_2004] :
k
F1
F2
F3
F1
SEQ
1
LOOP
F3
F1
P1
F4
1
F2
AND: CONCURRENT FUNCTIONS
F3
F1
F4
P2
F2
XOR: CONDITIONAL FUNCTIONS
N. B. Mabrouk, S. Beauche, E. Kuznetsova, N. Georgantas, and V. Issarny " QoS-aware Service Composition in
Dynamic Service Oriented Environments", In Middleware 2009.
L. Zeng, B. Benatallah, A. H. NGU, M. Dumas, J. Kalagnanam, and H. Chang "QoS-Aware Middleware for Web
Services Composition ", In IEEE Trans. Software. Eng., 2004.
17
19. Location-Time Workflow (LTW)
• Intuitively it is composed of user requested workflow
in location and time.
t1
l1
t2
ln
t4
tN
W1
l2
l3
t3
Wk+1
Wj+1
Wj
Wk
Location-Time Workflow
M. Reza. Rahimi, N. Venkatasubramania "Exploiting an Elastic 2-Tiered Cloud Architecture for Rich Mobile
Applications“, Poster in the IEEE/ACM WoWMoM 2012
19
20. Quality of Service (QoS)
• The QoS could be defined in two different
Levels:
• Atomic service level
• Composite service level or workflow level.
• Atomic service level could be defined as:
M. Reza. Rahimi, Nalini Venkatasubramanian, Athanasios Vasilakos, "MuSIC: On Mobility-Aware Optimal Service
Allocation in Mobile Cloud Computing", In the IEEE Cloud 2013.
M. Reza. Rahimi, Nalini Venkatasubramanian, Sharad Mehrotra and Athanasios Vasilakos, "MapCloud: Mobile
Applications on an Elastic and Scalable 2-Tier Cloud Architecture", In the 5th IEEE/ACM International Conference
on Utility and Cloud Computing , USA, Nov 2012.
20
21. QoS (Cont.)
• The workflow QoS is based on different patterns.
Qos
SEQ
AND
XOR
LOOP
• LTW QoS:
21
22. Normalization
•
•
As it can be understood different QoSes have different
dimensions (Price->$, power->joule, delay->s)
We need the normalization process to make them
comparable.
It could be defined in different levels: Service, Workflow.
•
Services, Max and Min Services (example):
•
22
23. Normalization (Cont.)
• The higher Normalized Power/Price/Delay are the better
services are (low power/price/delay).
• The same procedure could be used to define the normalized
workflow as:
23
24. Summary
• We define location-time workflow for modeling mobile
applications in pervasive environment.
• We define QoS for LTW and how to do the
normalization.
• The normalized power, price and delay is the real
number in interval [0,1].
• The higher the normalized QoS the better the
execution plan is.
• We need to answer the following two questions:
– For single mobile users: Knowing the Mobile user LTW; what
is the optimal service allocation considering price, power
and delay?
24
25. – For mobile groups what is the optimal service allocation
when they have shared services (such a shared storage)
considering price, power and delay?
• These questions have missing parts which are Utility
Functions.
• Many has been defined in the operational research
literature, we use the Fairness Utility for our
problem.
25
31. Brute-Force Search
(BFS)
Simulated Annealing
Based
Service Allocation Algorithms for
Single Mobile User and
Mobile Group-Ware
Applications
Genetic Based
Greedy Based
Random Service
Allocation (RSA)
•
•
We start with our main one, which we call it MuSIC: Mobility
Aware Service AllocatIon on Cloud.
Its core is based-on simulated annealing approach.
31
34. Genetic Algorithm Based Approach
• Choose initial population (usually random)
Constraint
• Repeat (until terminated)
Satisfaction
Genetic
Algorithm
Core
– Evaluate each individual's fitness
– Prune population (typically all; if not, then the worst)
– Select pairs to mate from best-ranked individuals (Ranked,
Roulette Wheel)
– Replenish population (using selected pairs)
• Apply crossover operator
• Apply mutation operator
– Add/Replace generated member to population
– Check for termination criteria
• Loop, if not terminating
34
35. Greedy-Based Service Allocation
M. Reza. Rahimi, Nalini Venkatasubramanian, Sharad Mehrotra and Athanasios Vasilakos, "On Optimal
and Fair Service Allocation in Mobile Cloud Computing", submitted to IEEE Trans. on Mobile
Computing, 2013
35
37. • MapCloud Middleware is the QoS-Aware
service allocation in Mobile Cloud Computing.
• We Implement MapCloud v1.0 prototype as a
web application using Grails/Groovy
framework (SOC framework based on JAVA).
• We used Amazon Web Services as the cloud
framework.
More information could be found at:
http://www.youtube.com/watch?v=yEmQug0pomE&feature=youtu.b
e
37
38. MapCloud Middleware Architecture
Cloud Service Registry
Mobile Client
MAPCloud Web Service Interface
MAPCloud Web Service Interface
MAPCloud
Runtime
MAPCloud LTW
Engine and
Analytics
QoS-Aware
Service DB
Mobile User Log
DB
Local and
Public
Cloud Pool
Admission Control and Scheduler
MAPCloud Middleware
38
39. MapCloud Middleware Sequence
Diagram
Mobile
User
Logger DB
and QoS
Analyzer
User Logs
like:
Web Service
Usage,
Experienced
QoS like:
delay, power
consumption
LocationTime
Analytics
QoS-Aware
Service
Scheduler
2-Tier QoS-Aware
Cloud Registry
2-Tier Cloud
Service
Pool
User Web Service
Usage Log with
Experienced QoS .
Save User service
pattern As
location-Time
workflow .
Run MuSIC/Genetic
Greedy/RSA or Use
previous Result on
previous collected
data from mobile
users to find best
Recommended service allocation.
Web Services
with their URL.
It analyzes user
experienced
QoS and updates
cloud registry
42. Mobile Applications (Case Studies)
Video
Augmented
Reality
(VAR):
OCR+ Speech
(OCRS):
Multimedia File Sharing (MFS):
You Tube
Link
Mobile Apps
Processing
Storage
Bandwidth
Group-Aware/Sharing
OCRS
VAR
MFC
42
43. Mobile Applications (Case Studies)
Local Cloud
Public Cloud
Averaged Delay (in ms) and power consumption (in mjole) of different
wireless network types regarding to data size when using local cloud ( Fig. a
and b) and Amazon Public Cloud (Fig. c and d).
43
44. Simulation Setup
Profiling sample applications has been used
for tune the system Environment.
Java Network simulator
(JNS) used for modeling
the delay between
Local clouds.
RWP and Manhattan
mobility models are used
as the mobility models
(V[0/ms-10/ms]).
The delay modeling used
in MapCloud for large
system simulation.
S1
.
.
.
Sn
Amazon
EC2,S3
large
instance:
equivalent to a
PC with
7.5GB of memory,
850 GB of storage
Local Cloud
4
Local Cloud
1
LAN Speed
S1
.
.
.
Sn
S1
.
.
.
Sn
Local Cloud
2
Local Cloud
5
Local Cloud:
64bit Windows
dual-core server,
with 8GB of
memory
and 500GB of
storage.
S1
.
.
.
Sn
Local Cloud n
Local Cloud
7
S1
.
.
.
Sn
44
48. Simulation Results(Cont.)
• Local Cloud+Public Cloud:
• How could we measure the performance of 2-Tiered
Cloud Architecture?
• What are the reasonable metrics?
Local Cloud+
Public Cloud
Local Cloud+
Public Cloud
Local Cloud+
Public Cloud
Same Delay
Same Power
Same Price
Public Cloud
Public Cloud
Public Cloud
48
49. Simulation Results(Cont.)
2-Tier Cloud Performance Results:
Single User (100 mobile users)
2-Tier Cloud
Architecture
Performance
Constant
Delay
Constant
Power
Constant
Price
Price
Power
Price
Delay
Power
Delay
MuSIC
[0%-30%]
Uncertainty
Genetic
[0%-30%]
Uncertainty
Greedy
[0%-30%]
Uncertainty
RSA
[0%-30%]
Uncertainty
27%
2%
22%
4%
17%
15%
17%
6%
16%
1%
8%
13%
18%
5%
14%
2%
10%
12%
10%
3%
13%
2%
7%
10%
49
50. Simulation Results(Cont.)
2-Tier Cloud Performance Results:
Group of Users (5 groups, average group size ~20)
2-Tier Cloud
Architecture
Performance
Constant
Delay
Constant
Power
Constant
Price
Price
Power
Price
Delay
Power
Delay
G-MuSIC
G-Genetic
G-Greedy
[0%-30%]
[0%-30%]
[0%-30%]
Uncertainty Uncertainty Uncertainty
20%
3%
15%
4%
10%
10%
15%
4%
10%
4%
9%
11%
13%
4%
11%
2%
10%
8%
G-RSA
[0%-30%]
Uncertainty
9%
2%
10%
3%
8%
8%
50
54. General Approach For Making
Parallel Solution
Mobile User Clustering and Grouping :
1. Fixed Grid Clustering
2. K-mean Clustering
Assign Public and Local Cloud
Resources to each Cluster
Mobile User LTW Ordering :
1. Random Ordering
2. Utility Based Ordering
3. Optimal Ordering
Running Service/Resource Allocation
Algorithms in Parallel for each Cluster :
1. RSA
2. Greedy
3. MuSIC
4. Genetic Algorithm
54
55. -Partition mobile users and local clouds based on their
proximities and run service allocation algorithms for
each region in parallel.
Public Cloud
Local
Cloud
Local
Cloud
Local
Cloud
Local
Cloud
Local
Cloud
Local
Cloud
Local
Cloud
Local
Cloud
55
57. Mobile Users
Service 1
Service n
Pig Latin pseudo codes:
/*Load Data*/
LOAD mobile users , services….
Apply System CONSTRAINTS
Compute UTILITY FUNCTION of
each solution for Mobile Users
/*Cartesian product to produce solution
space*/
CROSS Mobile users, Service1,…
/*Apply Optimization Constraints to
solution space */
FILTER by Constraints1,…
GROUP Solutions for each Mobile
Users
/*Find Best Solution*/
FOREACH Mobile User GENERATE
utility value
Find the MAXIMUM UTILITY for
each Mobile Users and emit as the
best solution
GROUP Solution By Mobile Users
FOREACH Solution GENERATE MAX
57
58. Experimental Results
Constants:
Variables:
processing time per user
according to different number of
parralell machines.
Cluster Information:
Amazon EC2 large Instance, 64bit linux, ~8Gib Mem, ~800Gib
Storage
2000
1800
Processing Time in Seconds
10,000 mobile users, uniformly
distributed.
6 different services per mobile
users and for each service we
have 10 different candidates (on
local or public clouds)
# of local clouds: 50 , uniformly
distributed.
# public cloud : 10 EC2 Large
Instance (64-bit linux, 8Gib Mem,
800 Gib Storage).
# number of different regions: 10
RSA-Par
1600
MuSIC-Par
1400
Greedy-Par
1200
GA-Par
1000
800
600
400
200
0
4
6
8
10
12
Number of Parralel Machines (Amazon EC2 Large
Instance)
58
59. Experimental Results (Continue)
500
Constants:
Variables:
processing time per user according to
different number of parallel machines.
450
Processing Time in Seconds
10,000 mobile users, uniformly
distributed
6 different services per mobile users and
for each service we have 10 different
candidates (on local or public cloud)
# of local clouds: 50 , uniformly
distributed
# public cloud :10 amazon Large
instance
# number of different regions: 10
# number of different groups: 500
groups
G-RSA-Par
400
G-MuSIC-Par
350
G-Greedy-Par
300
G-GA-Par
250
200
150
100
50
0
4
6
8
10
12
Number of Parralel Machines (Amazon EC2 Large
Instance)
59
60. Experimental Results (Continue)
Processing Time in Seconds
6000
Pig-Based for Single User
5000
Pig-Based for Mobile Groups
4000
3000
2000
1000
0
4
6
8
10
12
Number of Parralel Machines (Amazon EC2 large
Instance)
RSA-Par/Pig-Based
MuSIC-Par/Pig-Based
Greedy-Par/Pig-Based
GA-Par/Pig-Based
Single 48%
77%
67%
70%
Group 47%
71%
69%
68%
60
61. Conclusion and Future Direction
• Talk Summary:
– LTW proposed as the modeling framework for mobile service usage.
– MuSIC (and other service allocation algorithms ) were proposed and
their optimality were studied for different class of mobile applications.
– MapCloud middleware has been reviewed.
• Future Work:
– The beauty of this work is its level of Abstraction: LTW could contain
user behavior/context .
– Future work will be focused on extracting context (defined based on
ontology) using data mining techniques.
– This will lead to have efficient mobile cloud computing ecosystem
which could optimize different players (mobile users, service
providers) criteria automatically.
61