Research Article

Research on Virtual Machine Response Time Prediction Method Based on GA-BP Neural Network

Algorithm 1

Component response time prediction procedure.
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.