Maximizing Service Uptime of Smartphone

Maximizing Service Uptime of Smartphone-based
Distributed Real-time and Embedded Systems
MS thesis presentation,
19 November 2010
Anushi Shah
[email protected]
Department of Electrical Engineering & Computer Science
Vanderbilt University, Nashville, TN, USA
Presentation Road-map
•
•
•
•
•
•
•
•
Case Study Example.
Problem Definition.
Challenges.
Related Work.
Current Techniques and their limitations.
Our Solution.
Experimental results.
Concluding Remarks and Future Work.
Case Study Example : Video Recognition Service
For Disaster Monitoring System.
Problem : Maximizing Service Uptime
• V1 = [1, 2, 2, 3, 3, 4]
T1 = Min(24, 17.1, 33.3, 25)
P1
P2
P3
P4
• V2 = [1, 2, 4, 3, 1, 2]
T2 = Min(13.3, 50, 20, 50)
... , etc.
Deployment topology (vector)
Max Service Uptime T = (T1, T2,...)
= (17.1, 13.3,..)
Challenges
Complex
hardware/software design
constraints.
Heterogeneity of
available resources
and execution
constraints.
System Scale
Related Research
Approach
Related Research
Evolutionary algorithms.
W. Xiaoling, S. Lei, Y. Jie, X. Hui, J. Cho, and S. Lee, “Swarm
based sensor deployment optimization in ad hoc sensor
networks.”
Scalability
limitation.
Integer Programming.
B. Powell and A. Perkins. Fleet Deployment Optimization
for Liner Shipping: An Integer Programming Model.
Maritime Policy & Management, 24(2):183–192, 1997.
Constraint satisfaction
programming (CSP) .
F. Laburthe, N. Jussien, H. Cambazard, and G. Rochart,
“choco: an open source java constraint programming
library.”
Bin packing heuristic algorithms.
B. Dougherty, J. White, J. Balasubramanian, C. Thompson,
and D. C. Schmidt, “Deployment Automation with BLITZ,” in
Emerging Results track at the 31st International Conference
on Software Engineering, Vancouver, CA, May 2009.
Different
heuristic,
unsuitable for
Hybrid algorithms.
maximizing
Service uptime
Jules White and Brian Dougherty and Chris Thompson and
Douglas C. Schmidt, “ScatterD: Spatial Deployment
Optimization with Hybrid Heuristic / Evolutionary
Algorithms,” ACM Transactions on
Autonomous and Adaptive Systems Special Issue on Spatial
Computing(to appear), 2010.
Commonly Used Techniques and their limitations
Bin Packing heuristics algorithms
• The problem of packing a
set of items into a number
of bins such that the total
weight, volume, etc. does
not exceed some maximum
value.
• Worst – fit bin packing
heuristic :
Defines the placement of
items into the largely empty
existing bin.
• Limitation : Gives valid
solution but not necessarily
optimal one for huge
problem sizes.
http://www.wiwi.unijena.de/Entscheidung/binpp/binpack.gif
Evolutionary algorithm : Particle Swarm Optimization
(PSO)
- Simulates the behavior of
flocking birds in search of
food.
- Group of birds - Randomly
searching food in an area.
- Only one piece of food in
the area being searched.
- Birds come nearer to food
in each iteration.
- The effective strategy is to
follow the bird which is
nearest to the food.
Generate initial
random particles
(topology vector)
PSO
Calculate fitness value
If the fitness value(present) is better than the best
fitness value (pBest) in history
set current value as the new pBest
Choose the particle with the best fitness value of all the
particles as the gBest
Calculate particle velocity.
Update particle position.
No
Maximum
iterations or
particle’s
converge
Yes
Display output
result
Figure : Deployment Topology Vector
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.151.629
Evolutionary algorithm : Genetic Algorithm
• The genetic algorithm (GA) is a search heuristic
that mimics the process of natural evolution
( genes or chromosomes).
Generate initial random
chromosomes (topology
vector)
GA
Calculate fitness value of each chromosome.
next
generations
Maximum generations
Display output
result
Select next generation.
Perform reproduction using crossover.
Perform mutation.
• Limitations of Evolutionary Algorithms
Poor behavior when solution space contains large
number of points in search space corresponding
to solutions do not meet design constraints.
Our approach : SmartDeploy Framework
• Inspired from ScatterD – hybrid of first-fit bin packing
heuristics and evolutionary algorithms (genetic and
particle swarm optimization algorithms) to minimize
power consumption in real time systems.
• Determine initial vectors to maximize the probability
that they correspond to valid deployment topologies.
• Ensure that as vectors are evolved , the probability
that they are invalid is minimized
SmartDeploy - Framework
• Extends ScatterD Framework by providing worst-fit
heuristic.
• Hybrid algorithm that integrates two algorithms
worst-fit bin packing heuristics with evolutionary
algorithms (genetic and particle swarm optimization
algorithms.
• Generates the deployment plan which maximizes
service uptime.
SmartDeploy Framework
5. Integration between
bin-packer and PSO
(Return optimized
topology to PSO)
1. Input
values for
experiment
4. Worst-fit bin
packer
2. Generation of
initial random
topologies (particles)
3. Integration between
bin-packer and PSO (Give
a portion of input
topology to bin-packer
< max iterations
6. Service uptime
maximization
objective / fitness
function
7. Update particle’s
position and velocity
8. Output value if
maximum iterations
reached or process
converges
SmartDeploy portion
Integrated portion between binpacker and PSO
Original ScatterD portion
WF-Bin packer + PSO
Experimental Strategies and Execution Platform
The five techniques
we were compared :
• Worst-fit bin packing
• PSO
• SmartDeploy PSO
• Genetic
• SmartDeploy Genetic
Metric :
• Service uptime.
• Computational time.
• Windows XP desktop with 2.19
GHz Intel Core 2 Duo processor
and 2 GB RAM.
• Java Virtual Machine (JVM)
version 1.6.
• Algorithms - Implemented in
Java.
• Uniform distribution for
generating initial random vectors.
Experiment 1
Homogeneous nodes : Power capacity – 2100 mAH
Memory
- 150 MB
100 heterogeneous software components – Randomly generated
power consumption rate and memory
SmartDeploy – Up to 94 % more service uptime than other algorithms.
Experiment 2
Heterogeneous nodes :
Power capacity – 50% : 2100 mAH, 50 % : 1200 mAH
Memory
- 50 % : 150 MB, 50% : 350 MB
100 heterogeneous software components – Randomly generated
power consumption rate and memory
SmartDeploy – Up to 162 % more service uptime than other algorithms.
Experiment 3
100 – 200 heterogeneous software components : Randomly
generated power capacity and memory
100 Heterogeneous nodes –
Power capacity – 50% : 2100 mAH, 50 % : 1200 mAH
Memory
- 50 % : 150 MB, 50% : 350 MB
SmartDeploy algorithms give higher service uptime than other algorithms.
Experiment 4
Comparison of computation time taken by
each of five algorithms to execute
SmartDeploy algorithms is bit slower than other algorithms which is acceptable
for offline deployment solution.
Experiment 5
Comparison of time taken by Brute force algorithm to achieve service
uptime
Nodes
Software
components
Time taken (msec)
5
5
78
5
7
1219(1.2 secs)
5
9
33312(33.3 secs)
5
11
1261211(21 minutes)
Since Brute force algorithm takes considerable amount of time to run for a small
problem size, it is not practical to run for large problem size.
Conclusion
• The experimental results show
that SmartDeploy framework
increased service uptime from
20% to 162% beyond that
provided by worst-fit bin
packer and evolutionary
algorithms used
independently.
• SmartDeploy is slightly slower
than the other algorithms, the
slower speed is acceptable for
offline computations of
deployment.
• Submitted paper to ISORC’
2011.
Future Work
• Investigate the use of
SmartDeploy framework in
runtime deployment
decisions.
• Investigate other
distribution techniques for
generation of initial random
topologies of evolutionary
algorithms like Gaussian
distribution.
Acknowledgement
• Dr. Aniruddha Gokhale for his constant
guidance, encouragement and sharing
knowledge during my research work.
• Dr. Jules White, Dr. Abhishek Dubey, Brian
Dougherty, Kyoungho An and all DOC group
members for sharing their knowledge during
paper writing.
• NSF CNS/SHF and NSF RAPIDS for funding the
research work.