 Research
 Open Access
Load balancing prediction method of cloud storage based on analytic hierarchy process and hybrid hierarchical genetic algorithm
 Xiuze Zhou^{1},
 Fan Lin^{1}View ORCID ID profile,
 Lvqing Yang^{1}Email author,
 Jing Nie^{2},
 Qian Tan^{1},
 Wenhua Zeng^{1} and
 Nian Zhang^{2}
 Received: 21 May 2016
 Accepted: 28 October 2016
 Published: 17 November 2016
Abstract
With the continuous expansion of the cloud computing platform scale and rapid growth of users and applications, how to efficiently use system resources to improve the overall performance of cloud computing has become a crucial issue. To address this issue, this paper proposes a method that uses an analytic hierarchy process group decision (AHPGD) to evaluate the load state of server nodes. Training was carried out by using a hybrid hierarchical genetic algorithm (HHGA) for optimizing a radial basis function neural network (RBFNN). The AHPGD makes the aggregative indicator of virtual machines in cloud, and become input parameters of predicted RBFNN. Also, this paper proposes a new dynamic load balancing scheduling algorithm combined with a weighted roundrobin algorithm, which uses the predictive periodical load value of nodes based on AHPPGD and RBFNN optimized by HHGA, then calculates the corresponding weight values of nodes and makes constant updates. Meanwhile, it keeps the advantages and avoids the shortcomings of static weighted roundrobin algorithm.
Keywords
 Radial basis function neural network (RBFNN)
 Analytic hierarchy process (AHP)
 HHGA (hybrid hierarchical genetic algorithm)
 Load balancing
 Cloud storage
 Group decision
Background
With the extensive applications of cloud computing, opensource projects of cloud computing platform construction such as Hadoop, Eucalyptus, CloudStack, and OpenStack are also increasing (Peng et al. 2009). For now, OpenStack (Pepple 2011) is one of the most popular open source projects (Sefraoui et al. 2012). Many large companies at home and abroad such as Intel, IBM, Cisco, and HP regard OpenStack as promising open source project. The main reasons include its fully open source, good design and high community vitality. OpenStack Swift (2012) is a storage system aiming at objects which have multitenant, powerful extensibility, redundancy and persistency, which can store large amounts of unstructured data through HTTPbased RESTful APIs at a low cost, and also has the advantage of no single point of failure. Using OpenStack Swift to construct cloud storage platform applications under production environments needs a load balancer to distribute access requests to Proxy Node (Pepple 2011). Therefore, load balancing is still needed for optimization.
Currently, load balancing can be classified from several different angles, including (1) static load balancing and dynamic load balancing, in which dynamic load balancing (Dhakal et al. 2007; Alakeel 2010) can determine the state of cluster nodes in real time and balance scheduling timely, thus improving the overall performance without adding too much computational overhead; (2) centralized and distributed load balancing. A common centralized load balancing cluster can achieve global optimal scheduling policy, while distributed load balancing is more adapted to complex situations of multiple rooms, multiple clusters and elastic expansion. Compared with the simple structure of centralized load balancing, the distributed load balancing strategy (Randles et al. 2010) often requires more communication overhead and network complexity; its scheduling strategy often achieves greater local optimal solutions. (3) The main differences of recipient, sender and symmetric start algorithm lie in which the starting point of load scheduling is between task requester and service provider (Waraich 2008). (4) Other categories also include: local and global load strategies (Waraich 2008; Khan et al. 2011), collaboration and noncooperative load strategies (Waraich 2008; Yagoubi et al. 2006), adaptive load strategy and so on. In view of the characteristics of commercial computing services and management costs of cloud computing, this paper mainly studies how to realize the centralized, dynamic load balancing intelligent strategy.
Compared with static load balancing algorithm, the dynamic load balancing algorithm is of high complexity, because it needs to collect the extra overhead of load information, but it takes the current state of each service node in the cluster into consideration, and can give full play to the processing capacity of each service node to improve the throughput of cluster system. If allocation scheduling is proper, the overhead paid is necessary for improving the cluster system performance. Wherein the running state of service nodes is reflected through a variety of load information, and thus the load evaluation determines the merits of the requestallocation algorithm.
Typical methodology on load forecasting are BP neural network algorithm (Xiao et al. 2009) and the prediction algorithm based on filtering theory (Xu et al. 2000). However, it is very difficult to establish a common prediction method for all applications. Due to the differences of nature, different applications need corresponding and appropriate prediction methods for load predictions. Taking the virtual cluster OpenStack as the study object, this paper uses Proxy Node to monitor the load of Cloud computing nodes regularly, and puts forward that OpenStack cloud load prediction method of RBF neural networks combined with AHP and hybrid hierarchy genetic training. Simulation experiment results have shown that the prediction accuracy of the method is relatively good and it is feasible to provide services for the load balancing algorithm.
 1.
RoundRobin Scheduling (RR)
 2.
Equally Spread Current Execution Load (ESCEL)
 3.
Throttled load balancing algorithm (Throttled)
The Throttled load balancing algorithm is entirely based on the virtual machine and it is a dynamic load balancing algorithm (Tyagi and Kumar 2015). In this algorithm, the user first requests the load balancer to find a suitable virtual machine to perform the task requested. In cloud computing of multiple virtual machine cases, according to the capabilities of the virtual machine to process assignment requests, first preassign a maximum number of user requests. When the requested tasks have reached the maximum number of the virtual machine, it will no longer continue to receive tasks.
Load evaluation model based on AHP group decision making
Analytic hierarchy process (AHP) which is put forward by Saaty (Saaty 2003), is a tool for dealing with complex decisions and can help policymakers to determine priorities and make optimal decisions. With such characteristics as systematic, flexible, simple, practical (Zhou and Wen 2014; Gass and Rapcsák 2004; Srdjevic 2005). AHP can be used for quantitative analyses of load evaluation of cloud storage, and calculates the load evaluation metric of the system by constructing a hierarchical structure model and comparative judgment matrix. Put forward the load evaluation based on the Group Decision Making AHP, by the combination with the characteristics of cloud computing environments, and the selection of information indicators which affect node load in the establishment of hierarchical structure, that including: CPU usage rate, internal storage usage rate, network I/O throughput, response time and so on. In the construction of the AHP comparison judgment matrix, the geometric mean method in group decision making is used, thereby reducing the subjective factor of manmade judgment matrix. It makes the load evaluation of service nodes in cloud computing environments more accurate.
Establish hierarchical structure model
In Fig. 1, we present two firstgrade indexes of the total load evaluation index: performance index (B1) and time index (B2). The performance index reflects the performance of nodes, which contains a number of common load information evaluation indexes—CPU utilization rate, memory utilization rate, number of work processes, and disk I/O throughput. Meanwhile, taking the importance of cloud computing network indexes into account, bandwidth utilization rate and network I/O throughput are included into node performance indexes. In time index series, response time, mean failure time, Http link failure rate and network response delay are selected since they all have a great relationship with the reliability of node service, and affect the quality of cloud storage service.
Construct judgment matrix of pairwise comparison
 1.
\(a_{ij} > 0\left( {i,j = 1,2,3, \ldots ,n} \right);\)
 2.
\(a_{ij} = \frac{1}{{a_{ji} }};\)
 3.
\(a_{ii} = 1;\)
Scale values and their meanings
Scale  Meaning 

1  The two comparison elements are equally important 
3  The former element is slightly more important than the latter 
5  The former element is more important than the latter 
7  The former element is much more important than the latter 
9  The former element is definitely more important than the latter 
2, 4, 6, 8  The important degree is between that of the above scales 
Reciprocal  If the importance ratio of element i and element j is, then the importance ratio of element j and element i is 
Since the integer and reciprocal between meet the mental habits of people when they are making judgment, and just as many psychology researches show that when comparing certain property of a set of things, and if being satisfied with the judgment, average people can generally and correctly identify the grade of property or the amount of things between (Benítez et al. 2015), thus choosing as the quantization of qualitative level are accepted and applied widely.
Then make \({\bar{\text{A}}} = \left( {{\bar{\text{a}}}_{\text{ij}} } \right)_{{{\text{n}} \times {\text{n}}}}\)
The elements \({\bar{\text{a}}}_{\text{ij}} = \left( {\mathop \prod \limits_{{{\text{k}} = 1}}^{\text{m}} {\text{a}}_{\text{ij}}^{{\left( {\text{k}} \right)}} } \right)^{{\frac{1}{\text{m}}}}\) of the formula are made up of the \({\bar{\text{A}}}\) geometric mean of the corresponding elements of m judgment matrixes.
Relative weight calculation and consistency check
 1.
Normalize the column vector of judgment matrix and get:
 2.
Get \({\tilde{\text{A}}}_{\text{ij}}\) according to the line
 3.
\(\overset{\lower0.5em\hbox{$\smash{\scriptscriptstyle\smile}$}}{\text{W}}\) Normalize and get \({\text{W}} = \left( {{\text{w}}_{1} ,{\text{w}}_{1} , \ldots ,{\text{w}}_{\text{n}} } \right)^{\text{T}}\) ;
 4.
At last, get the eigenvalue \(\lambda = \frac{1}{\text{n}}\sum\nolimits_{{{\text{i}} = 1}}^{\text{n}} {\frac{{\left( {\text{AW}} \right)_{\text{i}} }}{{{\text{w}}_{\text{i}} }}}\) of maximum \({\text{A}} .\)
Mean random consistency index RI
n  1  2  3  4  5  6  7  8  9 
RI  0  0  0.58  0.90  1.12  1.24  1.32  1.41  1.45 
By CI = 0, we can get that matrix A has consistency.
Calculate load evaluation metric value
As we can see from the equation above, the larger the load evaluation metric S is, the heavier the node load will be. Conversely, the smaller the value of S is, the lighter the node load will be.
Optimization of RBF neural networks using HHGA
Here, we combine AHP group decision making with RBF neural networks effectively to make RBF neural networks become a neural network with the experience of experts in related fields through training. Training data are from the load evaluation framework of AHP group decision making. When a new evaluation process proceeds, we can obtain a comprehensive evaluation value, thus effectively reduce the complexity of the computation process simply through modifying the trained and mature input parameter RBFNN (Kim et al. 2016; Hopfield 1982; Kohonen 1982). The hierarchy system established according to the above method of Analytic Hierarchy, obtains the load evaluation metric from the relative load information index data collected from service nodes and AHP Group Decision Making as RBF neural network’s data set, of which some is regarded as the training set, and the rest is as test set, to validate the load prediction role of RBF neural network.
Wherein, x − c _{ i } represents Euclidean distance between x and c _{ i }; T _{ i } (x) represents the output of the ith hidden layer node; x is the ndimensional input vector; m is the number of hidden layer neurons; c _{ i } is the basis function center; σ _{ i } is the basis width of the ith hidden layer node. Each neuron node of hidden layer has a radial basis function center vector c _{ i }, this vector and the input sample “x” have the same dimension and \(c_{i} = \left[ {c_{i1} ,c_{i2} , \ldots ,c_{im} } \right]^{T} ,\; i = 1,2, \ldots ,m\); if the hidden layer has “m” neurons, it has “m” radial basis function centers.
Wherein, ω _{ i } is the weight from the ith hidden layer node to the output layer node, and p is the number of neurons at the output layer. In a RBF neural network, the output of hidden layer node represents the degree of departure of input sample “X” from radial basis function center “C _{ i }” of hidden layer node. The network input layer implements nonlinear mapping and the output layer implements linear mapping.
Previously, Sharifian and Motamedi compared the WRR, RBF and ANFIS on load balancing, the result show that RBF was better than others on convergence rate and prediction accuracy (Sharifian et al. 2011). Load prediction model based on HHGARBF neural network consists of three RBF neural networks, of which the RBFNN1 input in upper left corner is the data value of the load information evaluation index in the previous section, while the RBFNN2 input in lower left corner is \(C_{21} ,C_{22} ,C_{23} ,C_{24}\), and these two RBF neural network outputs constitute the RBF input on the right and the final predicted value will be outputted by RBFNN3 on the right.
HHGA optimizes RBF neural networks
A RBF neural network has a very good approximation performance. But in terms of design, there are two main difficulties. One is the parameters design, including: radial basis function’s center, width, and weight from hidden layer to output layer. Another is the numbers of nodes of the input layer and output layer are fixed, and the number and weight of the hidden layer nodes directly affect RBF performance. A common approach is to use the genetic algorithm to determine the node number, center and width of the hidden layer of RBF neural networks, which is a new study direction (Vesin and Grüter 1999; Billings and Zheng 1995; Gen et al. 2001) in recent years.
The hierarchical genetic algorithms (HGA) (Xing et al. 2011; Barreto et al. 2006) were put forward based on the hierarchy of biological chromosome which has two parts: controlling genes and parameter genes. The controlling genes which determine whether the parameter genes are activated, are expressed in binary form, in which “1” indicates that the underlayer genes are active, while “0” indicates that the underlayer genes are inactive. The hybrid coding method which combines binary coding with real number coding, takes the center, width, connection weights and topology of hidden layer nodes of RBF neural network as a whole and encodes them as a chromosome, and then selects the appropriate population size. The optimal results of number of the center, width, connection weight parameters and hidden node number of the hidden layer of RBF neural network are obtained through progressive optimization by genetic iterations. Although the hierarchical genetic algorithm is able to determine the parameters and structure of the RBF neural network, networking learning is slow in the convergence speed and efficiency.
This paper uses the Hybrid Hierarchy Genetic Algorithms (HHGA) to train RBF neural networks, namely to combine the HGA with the recursive leastsquares method. The HGA can only determine the structure of RBF neural networks, the center and width of the hidden layer nodes, so this paper combines the HGA with the recursive leastsquares method to construct connection weights between the hidden layer and the output layer. Determining the weights between the hidden layer and the output layer by the recursive leastsquares method can ensure high convergence speed (Wang et al. 2012). Hybrid hierarchy genetic algorithm improves the efficiency of training the RBF neural network through hierarchical genetic algorithm, meanwhile retains the advantages of hierarchical genetic algorithm.

Step 1 Code: Considering the parameters and its ability to find optimized solution of RBF neural network, genetic parameters are really encoded, and each gene is represented by a real number. The controlling genes are still adopts binary coding and each binary bit corresponds to the central coding and the width coding of a hidden layer node.

Step 2 Generate initial population,

Step 3 Decode individual, and construct the hidden layer of RBF neural networks.

Step 4 Determine the weights by recursive squares
Wherein formula (20) λ is the forgetting factor; y _{ i } and d _{ i } respectively represent the actual output and expected output.

Step 5 Evaluate the performance of RBF neural networks and calculate the individual fitness degree.

Step 6 Judge whether it meets the termination condition or not. If meet, then end it; otherwise, continue to the next step.

Step 7 Select individual as parent based on individual fitness.

Step 8 The parent generation generates new individuals through cross and mutation, and parents are new individuals form new population.

Step 9 Return to Step 3 to continue.
Dynamic load balancing algorithm implementation based on AHP and HHGARBFNN
Request tasks in a cloud computing environment are mutually independent. We use the HHGARBFNN model described above to predict the load of the current cloud computing system, and use the prediction result to calculate the polling weight of the cloud computing nodes periodically, and form a new dynamic load balancing algorithm—DPWRR through the combination with weighted roundrobin algorithm.
Basic principle of algorithm
 1.
The cloud computing load balancing center nodes predict the load of service nodes as per periodic time T;
 2.
Calculating a corresponding polling weight value for each backend service node according to the prediction results by using HHGARBF model;
 3.
The central node allocates based on the polling weight value after receiving the request tasks.
After a period T, repredict the load of nodes and calculate the corresponding polling weights. This method turns the static weight of the weighted polling algorithm to a dynamic adjustment one.
Detail design
The information policy in this paper adopts the periodic collection methods and collects load index information on time, and the triggering policy is triggered by the central control node, that is to use the sender initiative. The algorithm proposed in this paper is focused on positioning strategy, and mainly considers the allocation of user request tasks, and it does not involve the migration strategy, thus involving no migration of virtual machines in cloud computing.
 1.
Node load information monitoring module
 2.
Load prediction module
 3.
Request scheduling module
Experiments
Load prediction experiment of HHGARBF
In Eq. (23), \(MaxValue\) is the maximum of such sample parameter data, and \(MinValue\) is the minimum of such sample parameter data.
According to Qiang et al. (2011), we set the training parameters of RBF1 neural networks by the HHGA. Similarly, RBFNN2 should be trained. Finally, we can take the prediction value of RBFNN1 and RBFNN2 and input it in RBFNN3, and the server node load is predicted by RBFNN3.
Simulation environment configuration
User group configuration
User base  Region  Requests per user per Hr  Data size per Request (bytes)  Peak hours (GMT)  Avg peak users  Avg offpeak users 

UB1  0  90  200  3–5  3000  1000 
UB2  1  50  200  5–7  2000  800 
UB3  2  75  250  8–10  2800  1100 
UB4  3  105  180  2–4  3500  1500 
UB5  4  60  150  10–12  1500  600 
UB6  5  80  200  3–9  2000  1000 
Data center configuration
Data center  Region  Arch  OS  VMM  Physical HW units  VMs 

DC1  3  ×86  Linux  Xen  10  50 
DC2  3  ×86  Linux  Xen  8  35 
DC3  3  ×86  Linux  Xen  5  25 
Transmission delay between regions, unit is ms
Region\region  0  1  2  3  4  5 

0  25  100  150  250  250  100 
1  100  25  250  500  350  200 
2  150  250  25  150  150  200 
3  250  500  150  25  500  500 
4  250  350  150  500  25  500 
5  100  200  200  500  500  25 
Bandwidth allocation between regions, unit is Mbps
Region\region  0  1  2  3  4  5 

0  2000  1000  1000  1000  1000  1000 
1  1000  800  1000  1000  1000  1000 
2  1000  1000  2500  1000  1000  1000 
3  1000  1000  1000  1500  1000  1000 
4  1000  1000  1000  1000  500  1000 
5  1000  1000  1000  1000  1000  2000 
Analysis of simulation results
The overall response time of user groups under CDC1
Overall response time  Avg (ms)  Min (ms)  Max (ms) 

RR  454.60  36.09  1300.27 
ESCEL  454.47  35.84  1300.27 
Throttled  454.47  35.84  1300.27 
DPWRR  454.45  35.81  1300.24 
The processing time of data center under CDC1
Data center processing time  Avg (ms)  Min (ms)  Max (ms) 

RR  0.64  0.09  11.21 
ESCEL  0.50  0.09  2.01 
Throttled  0.50  0.09  1.38 
DPWRR  0.48  0.09  1.12 
The overall response time of user groups under CDC2
Overall response time  Avg (ms)  Min (ms)  Max (ms) 

RR  485.83  36.74  1265.30 
ESCEL  485.78  36.71  1265.30 
Throttled  485.77  36.74  1265.30 
DPWRR  485.77  36.69  1265.30 
The processing time of data center under CDC1
Data center processing time  Avg (ms)  Min (ms)  Max (ms) 

RR  0.49  0.09  2.17 
ESCEL  0.44  0.10  1.61 
Throttled  0.44  0.09  1.14 
DPWRR  0.44  0.09  1.29 
Conclusion
This paper presents a dynamic load algorithm based on AHPGD and HHGARBF neural networks under the cloud computing environment, in order to solve the problem of load balancing of the allocation of user request tasks in cloud computing environment. It describes the basic idea and design of the algorithm based on the load prediction model, that constructed in the load prediction process uses a HGA and the recursive leastsquares method to train parameters of RBF neural networks. The algorithm combines with weighted roundrobin algorithm and dynamically updates the weights of each node within the time period. In the design details of the algorithm, we propose three modules of the algorithm: node load information monitoring module, load prediction module and request scheduling module; meanwhile this paper also designs the time period T and the calculation method of node weights. Finally, we further describe the simulation experiments of the proposed algorithm conducted with CloudAnalyst, and analyze its comparison with the algorithms of RR, ESCEL and Throttled, the results of which show that the algorithm is slightly better than the other three load balancing algorithms, which is effective and feasible.
Declarations
Authors’ contributions
The work presented here was carried out with the collaboration of all authors. FL, LY and WZ defined the research theme. XZ, LY and QT designed methods and redone the experiments, carried out the laboratory experiments, analyzed the data, interpreted the results and wrote the paper. NZ and JN codesigned the dispersal and colonization experiments, and coworked on associated data collection and interpretations. XZ and LY redesigned experiments, discussed analyses, interpretations, and presentation. All authors have contributed to the manuscript. All authors read and approved the final manuscript.
Competing interests
Xiuze Zhou has received research grants from Software School of Xiamen University. Fan Lin has received research grants from Xiamen University. Lvqing Yang, Qian Tan and Wenhua Zeng are the member of Xiamen University. Jing Nie and Nian Zhang has received research grants from Xiamen University of Technology. The authors declare that they have no competing interests.
Ethical approval
This article does not contain any studies with human participants or animals performed by any of the authors.
Ethical standards
This study was supported by the National Natural Science Foundation of China (No. 61402386, No. 61305061 and Grant No. 61402389). And we wish to thank the anonymous reviewers who helped to improve the quality of the paper.
Open AccessThis article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
Authors’ Affiliations
References
 Alakeel AM (2010) A Guide to dynamic load balancing in distributed computer systems. Int J Comput Sci Netw Secur 10(6):153–160Google Scholar
 Barreto AMS, Barbosa HJC, Ebecken NFF (2006) GOLS—Genetic orthogonal least squares algorithm for training RBF networks. Neurocomputing 69(16–18):2041–2064View ArticleGoogle Scholar
 Benítez J, Delgado Galván X, Izquierdo J, Pérez García R (2015) Consistent completion of incomplete judgments in decision making using AHP. J Comput Appl Math 290(C):412–422MathSciNetView ArticleMATHGoogle Scholar
 Billings SA, Zheng GL (1995) Radial basis function network configuration using genetic algorithms. Neural Netw 8(6):877–890View ArticleGoogle Scholar
 Chen H, Gong Y, Hong X (2011) Adaptive modelling with tunable RBF network using multiinnovation RLS algorithm assisted by swarm intelligence. Presented at the 2011 IEEE international conference on acoustics, speech and signal processing (ICASSP), Prague, pp 2132–2135Google Scholar
 Dhakal S, Hayat MM, Pezoa JE, Yang C, Bader DA (2007) Dynamic load balancing in distributed systems in the presence of delays: a regenerationtheory approach. IEEE Trans Parallel Distrib Syst 18(4):485–497View ArticleGoogle Scholar
 Drougas Y, Repantis T, Kalogeraki V (2006) Load balancing techniques for distributed stream processing applications in overlay environments. In: Ninth IEEE international symposium on object and componentoriented realtime distributed computing (ISORC’06), p 8Google Scholar
 Gass SI, Rapcsák T (2004) Singular value decomposition in AHP. Eur J Oper Res 154(3):573–584MathSciNetView ArticleMATHGoogle Scholar
 Gen M, Cheng R, Oren SS (2001) Network design techniques using adapted genetic algorithms. Adv Eng Softw 32(9):731–744View ArticleMATHGoogle Scholar
 Hahne EL (1991) Roundrobin scheduling for maxmin fairness in data networks. IEEE J Sel Areas Commun 9(7):1024–1039View ArticleGoogle Scholar
 He H, Feng Y, Li Z, Zhu Z, Zhang W, Cheng A (2015) Dynamic load balancing technology for cloudoriented CDN. Comput Sci Inf Syst 12(2):765–786View ArticleGoogle Scholar
 Hopfield JJ (1982) Neural networks and physical systems with emergent collective computational abilities. Proc Natl Acad Sci USA 79(8):2554–2558ADSMathSciNetView ArticlePubMedPubMed CentralGoogle Scholar
 Katevenis M, Sidiropoulos S, Courcoubetis C (1991) Weighted roundrobin cell multiplexing in a generalpurpose ATM switch chip. IEEE J Sel Areas Commun 9(8):1265–1279View ArticleGoogle Scholar
 Khan Z, Singh R, Alam J, Saxena S (2011) Classification of load balancing conditions for parallel and distributed systems. Int J Comput Sci Issues 8(5):411–419Google Scholar
 Kim Y, Warren SC, Stone JM, Knight JC, Neil MAA, Paterson C, Dunsby CW, French PMW (2016) Adaptive multiphoton endomicroscope incorporating a polarizationmaintaining multicore optical fibre. IEEE J Sel Top Quantum Electron 22(3):171–178View ArticleGoogle Scholar
 Kohonen T (1982) Selforganized formation of topologically correct feature maps. Biol Cybern 43(1):59–69MathSciNetView ArticleMATHGoogle Scholar
 Nakrani S (2004) On honey bees and dynamic server allocation in internet hosting centers. Adapt Behav 12(3–4):223–240View ArticleGoogle Scholar
 Peng J, Zhang X, Lei Z, Zhang B, Zhang W, Li Q (2009) Comparison of several cloud computing platforms. In: 2009 Second international symposium on information science and engineering, pp 23–27Google Scholar
 Pepple K (2011) Deploying OpenStack. O’Reilly Media, Inc., SebastopolGoogle Scholar
 Qiang G, Lijun J, Yuanlong H, Zhongzhi T, Yong J (2011) Modeling of electrohydraulic position servo system of pumpcontrolled cylinder based on HHGARBFNN. In: 2011 International conference on electronics, communications and control (ICECC), 2011, pp 335–339Google Scholar
 Randles M, Lamb D, TalebBendiab A (2010) A comparative study into distributed load balancing algorithms for cloud computing. In: 2010 IEEE 24th international conference on advanced information networking and applications workshops (WAINA), 2010, pp 551–556Google Scholar
 Saaty TL (2003) Decisionmaking with the AHP: why is the principal eigenvector necessary. Eur J Oper Res 145(1):85–91MathSciNetView ArticleMATHGoogle Scholar
 Sefraoui O, Aissaoui M, Eleuldj M, Iaas O, Scalableifx V (2012) OpenStack: toward an opensource solution for cloud computing. Int J Comput Appl 55(3):38–42Google Scholar
 Sharifian S, Motamedi SA, Akbari MK (2011) A predictive and probabilistic loadbalancing algorithm for clusterbased web servers. Appl Soft Comput 11(1):970–981View ArticleGoogle Scholar
 Shreedhar M, Varghese G (1996) Efficient fair queuing using deficit roundrobin. IEEEACM Trans Netw 4(3):375–385View ArticleGoogle Scholar
 Srdjevic B (2005) Combining different prioritization methods in the analytic hierarchy process synthesis. Comput Oper Res 32(7):1897–1919View ArticleMATHGoogle Scholar
 Tangang, Zhan R, Shibo, Xindi (2014) Comparative analysis and simulation of load balancing scheduling algorithm based on cloud resource. In: Proceedings of international conference on computer science and information technology. Springer, IndiaGoogle Scholar
 Tyagi V, Kumar T (2015) ORT broker policy: reduce cost and response time using throttled load balancing algorithm. Proc Comput Sci 48:217–221View ArticleGoogle Scholar
 Vesin J, Grüter R (1999) Model selection using a simplex reproduction genetic algorithm. Sig Process 78(3):321–327View ArticleMATHGoogle Scholar
 Wang F, Yu JL, Zhu PC, Wei XF (2012) RBF network based on improved niche hybrid hierarchy genetic algorithm. Mater Sci Inf Technol 433:775–780Google Scholar
 Waraich SS (2008) Classification of dynamic load balancing strategies in a network of workstations, pp 1263–1265Google Scholar
 Welcome to Swift’s documentation! (2012) http://docs.openstack.org/developer/swift/
 Wickremasinghe B, Calheiros RN, Buyya R (2010) CloudAnalyst: a CloudSimbased visual modeller for analysing cloud computing environments and applications. In: 2010 24th IEEE international conference on advanced information networking and applications, pp 446–452Google Scholar
 Xiao Z, Ye SJ, Zhong B, Sun CX (2009) BP neural network with rough set for short term load forecasting. Expert Syst Appl 36(1):273–279View ArticleGoogle Scholar
 Xing Z, Pang X, Ji H, Qin Y, Jia L (2011) Hierarchical genetic algorithm based RBF neural networks and application for modelling of the automatic depth control electrohydraulic system. Int J Control Autom Syst 9(4):759–767View ArticleGoogle Scholar
 Xu J, Zhu Q, Hu N, Li X (2000) Predicting allocation algorithm in distributed realtime systems. J Softw 11(1):95–103Google Scholar
 Yagoubi B, Lilia HT, Moussa HS (2006) Load balancing in grid computing. Asian J Inf Technol 5(10):1095–1103Google Scholar
 Yang X, Yan L, Zeng L (2013) How to handle uncertainties in AHP: the cloud delphi hierarchical analysis. Inf Sci 222:384–404MathSciNetView ArticleGoogle Scholar
 Zhou H, Wen Q (2014) Load balancing solution based on AHP for Hadoop. In: 2014 IEEE workshop on electronics, computer and applications, pp 633–636Google Scholar