maximizing service uptime of smartphone-based distributed real-time and embedded systems department...

24
Maximizing Service Uptime of Smartphone-based Distributed Real- time and Embedded Systems Department of Electrical Engineering & Computer Science Vanderbilt University, Nashville, TN, USA MS thesis presentation, 19 November 2010 Anushi Shah [email protected]

Upload: aileen-lyons

Post on 29-Dec-2015

218 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Maximizing Service Uptime of Smartphone-based Distributed Real-time and Embedded Systems Department of Electrical Engineering & Computer Science Vanderbilt

Maximizing Service Uptime of Smartphone-based Distributed Real-time and Embedded Systems

Department of Electrical Engineering & Computer ScienceVanderbilt University, Nashville, TN, USA

MS thesis presentation, 19 November 2010

Anushi [email protected]

Page 2: Maximizing Service Uptime of Smartphone-based Distributed Real-time and Embedded Systems Department of Electrical Engineering & Computer Science Vanderbilt

• Case Study Example.• Problem Definition.• Challenges.• Related Work.• Current Techniques and their limitations.• Our Solution.• Experimental results.• Concluding Remarks and Future Work.

Presentation Road-map

Page 3: Maximizing Service Uptime of Smartphone-based Distributed Real-time and Embedded Systems Department of Electrical Engineering & Computer Science Vanderbilt

Case Study Example : Video Recognition Service For Disaster Monitoring System.

Page 4: Maximizing Service Uptime of Smartphone-based Distributed Real-time and Embedded Systems Department of Electrical Engineering & Computer Science Vanderbilt

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.

Max Service Uptime T = (T1, T2,...) = (17.1, 13.3,..)

Deployment topology (vector)

Page 5: Maximizing Service Uptime of Smartphone-based Distributed Real-time and Embedded Systems Department of Electrical Engineering & Computer Science Vanderbilt

Challenges

Complex hardware/software design

constraints.

Heterogeneity of available resources

and execution constraints.

System Scale

Page 6: Maximizing Service Uptime of Smartphone-based Distributed Real-time and Embedded Systems Department of Electrical Engineering & Computer Science Vanderbilt

Related ResearchApproach 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.”

Integer Programming. B. Powell and A. Perkins. Fleet Deployment Optimizationfor 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.

Hybrid algorithms. Jules White and Brian Dougherty and Chris Thompson and Douglas C. Schmidt, “ScatterD: Spatial Deployment Optimization with Hybrid Heuristic / Evolutionary Algorithms,” ACM Transactions onAutonomous and Adaptive Systems Special Issue on Spatial Computing(to appear), 2010.

Scalability limitation.

Different heuristic,

unsuitable for maximizing

Service uptime

Page 7: Maximizing Service Uptime of Smartphone-based Distributed Real-time and Embedded Systems Department of Electrical Engineering & Computer Science Vanderbilt

Commonly Used Techniques and their limitationsBin 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.uni-jena.de/Entscheidung/binpp/binpack.gif

Page 8: Maximizing Service Uptime of Smartphone-based Distributed Real-time and Embedded Systems Department of Electrical Engineering & Computer Science Vanderbilt

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.

Page 9: Maximizing Service Uptime of Smartphone-based Distributed Real-time and Embedded Systems Department of Electrical Engineering & Computer Science Vanderbilt

PSO

Calculate fitness valueIf the fitness value(present) is better than the best

fitness value (pBest) in history set current value as the new pBest

Generate initial random particles (topology vector)

Choose the particle with the best fitness value of all the particles as the gBest

Calculate particle velocity.Update particle position.

Maximum iterations or

particle’s converge

Display output result

YesNo

Page 10: Maximizing Service Uptime of Smartphone-based Distributed Real-time and Embedded Systems Department of Electrical Engineering & Computer Science Vanderbilt

http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.151.629

Figure : Deployment Topology Vector

Page 11: Maximizing Service Uptime of Smartphone-based Distributed Real-time and Embedded Systems Department of Electrical Engineering & Computer Science Vanderbilt

Evolutionary algorithm : Genetic Algorithm

• The genetic algorithm (GA) is a search heuristic that mimics the process of natural evolution

( genes or chromosomes).

Page 12: Maximizing Service Uptime of Smartphone-based Distributed Real-time and Embedded Systems Department of Electrical Engineering & Computer Science Vanderbilt

GA

Calculate fitness value of each chromosome.

Generate initial random chromosomes (topology

vector)

Select next generation.

Perform reproduction using crossover.

Display output result

Maximum generations

Perform mutation.

next generations

Page 13: Maximizing Service Uptime of Smartphone-based Distributed Real-time and Embedded Systems Department of Electrical Engineering & Computer Science Vanderbilt

• Limitations of Evolutionary AlgorithmsPoor behavior when solution space contains large number of points in search space corresponding to solutions do not meet design constraints.

Page 14: Maximizing Service Uptime of Smartphone-based Distributed Real-time and Embedded Systems Department of Electrical Engineering & Computer Science Vanderbilt

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

Page 15: Maximizing Service Uptime of Smartphone-based Distributed Real-time and Embedded Systems Department of Electrical Engineering & Computer Science Vanderbilt

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.

Page 16: Maximizing Service Uptime of Smartphone-based Distributed Real-time and Embedded Systems Department of Electrical Engineering & Computer Science Vanderbilt

SmartDeploy - Framework

1. Input values for

experiment

2. Generation of initial random

topologies (particles)

3. Integration between bin-packer and PSO (Give

a portion of input topology to bin-packer

4. Worst-fit bin packer

5. Integration between bin-packer and PSO (Return optimized topology to PSO)

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 bin-packer and PSO

Original ScatterD portion

< max iterations

WF-Bin packer + PSO

Page 17: Maximizing Service Uptime of Smartphone-based Distributed Real-time and Embedded Systems Department of Electrical Engineering & Computer Science Vanderbilt

Experimental Strategies and Execution Platform

The five techniqueswe 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.

Page 18: Maximizing Service Uptime of Smartphone-based Distributed Real-time and Embedded Systems Department of Electrical Engineering & Computer Science Vanderbilt

Experiment 1Homogeneous nodes : Power capacity – 2100 mAH

Memory - 150 MB100 heterogeneous software components – Randomly generated power consumption rate and memory

SmartDeploy – Up to 94 % more service uptime than other algorithms.

Page 19: Maximizing Service Uptime of Smartphone-based Distributed Real-time and Embedded Systems Department of Electrical Engineering & Computer Science Vanderbilt

Experiment 2Heterogeneous nodes :Power capacity – 50% : 2100 mAH, 50 % : 1200 mAHMemory - 50 % : 150 MB, 50% : 350 MB100 heterogeneous software components – Randomly generated power consumption rate and memory

SmartDeploy – Up to 162 % more service uptime than other algorithms.

Page 20: Maximizing Service Uptime of Smartphone-based Distributed Real-time and Embedded Systems Department of Electrical Engineering & Computer Science Vanderbilt

Experiment 3100 – 200 heterogeneous software components : Randomly generated power capacity and memory100 Heterogeneous nodes – Power capacity – 50% : 2100 mAH, 50 % : 1200 mAHMemory - 50 % : 150 MB, 50% : 350 MB

SmartDeploy algorithms give higher service uptime than other algorithms.

Page 21: Maximizing Service Uptime of Smartphone-based Distributed Real-time and Embedded Systems Department of Electrical Engineering & Computer Science Vanderbilt

Experiment 4

Comparison of computation time taken byeach of five algorithms to execute

SmartDeploy algorithms is bit slower than other algorithms which is acceptable for offline deployment solution.

Page 22: Maximizing Service Uptime of Smartphone-based Distributed Real-time and Embedded Systems Department of Electrical Engineering & Computer Science Vanderbilt

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.

Page 23: Maximizing Service Uptime of Smartphone-based Distributed Real-time and Embedded Systems Department of Electrical Engineering & Computer Science Vanderbilt

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.

Page 24: Maximizing Service Uptime of Smartphone-based Distributed Real-time and Embedded Systems Department of Electrical Engineering & Computer Science Vanderbilt

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.