Input: The most similar virtual machine’s number of component current requests and |
response time historical sequence is |
before time . The number of component current requests is . |
Output: Component response time in the future time intervals. |
(1) Determine the number of concurrent requests, set the related parameters, establish the BP neural network. |
(2) Set up population size , chromosome length , number of iterations , crossover probability and mutation |
probability . Initialize sets of weighting value of the threshold. Form population. |
(3) Train the BP neural network. Calculate individual adaptiveness according to formula (15). Choose the optimal chromosome. |
(4) Use roulette wheel selection method to choose the most adaptive individuals. |
(5) Choose several pairs of chromosomes in Step 4 and random number for every pair. If , |
chromosome execute crossover operation. |
(6) Choose several pairs of chromosomes in Step 5 and random number for every pair. If , |
chromosome execute mutation operation. |
(7) Choose the individual in Step 6 as network weight threshold to train BP network. Compare the optimal individual |
with the last generation optimal individual. |
If the former is more adaptive, it will replace the last generation optimal individual. Moreover, the last generation optimal |
chromosome replace the worst chromosome. |
, if , algorithm will be stoped. Then we get optimal weight threshold. Otherwise, go to Step 4. |
(8) Decompose the optimal individual to get BP neural network connective weight threshold. |
(9) BP network initial iteration value . |
(10) Put the amount of component concurrent requests and response time sequences |
into model, and calculate component response time according to formula (3). |
(11) Formula (12) calculates the first sample component response time prediction error |
quadratic sum and formula (9) adjusts weight. |
(12) Choose the second sample component current requests amount and response time. Repeat Steps 10 and 11 until |
finishing samples training. |
(13) . if or the overall error of the network . When training process is ended, |
we get future component response time. Otherwise, go to Step 10. |
(14) Put the number of components current requests into trained network. Then get the new virtual machine |
component response time. |