FLBVFT: A Fuzzy Load Balancing Technique for Virtualization and Fault Tolerance in
Cloud
Rogheyeh Salehi
1, Alireza Mahini
21. Sama technical and vocational training college, Islamic Azad University, Gorgan Branch,Gorgan, Iran 2. Department of Computer Engineering,Gorgan Branch, Islamic Azad University,Gorgan,Iran
Corresponding author: Rogheyeh Salehi
Abstract: Load balancing in cloud computing is a grand challenge problem now a days. The main load balancing issues in cloud computing is load calculation and load distribution. To solve these issues, many load balancing techniques have been designed to distribute tasks properly. In this paper, we have proposed a Fuzzy Load Balancing Technique for Virtualization and Fault Tolerance in Cloud Computing (FLBVFT) to assign the tasks to the virtual nodes.FLBVFT is mainly designed to assign tasks to the virtual nodes depending on the success rates (SR) and the node's processor utilization. In the load assigning technique assignment is done by the load balancer (LB) in the basis of success rate and processor utilization of the available nodes.
Keywords. : Cloud, Load balancing, Virtualization, Fault tolerance, Fuzzy.
Introduction
An issue in distributed scheduling is load balancing (Rathor,chana,2011) ,(Khiyaita et al.,2012) ,(Hu et al.,2010) which tries to distribute the tasks to be executed among the resources of the system. Load balancing can be achieved either locally or in a distributed fashion. Distributing tasks across a communication medium is sometimes referred to as the resource allocation problem. Resource allocation actually refers to scheduling multiple resources. In this paper gives a Fuzzy load assigning technique for the Virtualization and Fault Tolerance model. The proposed load assigning scheme assigns a task to the available virtual nodes depending on their success rates and the processor utilization. The load can be CPU load, memory capacity, delay or network load. Because of the very large infrastructure of cloud and the increasing demand of services an effective fault tolerant technique for cloud computing is required and for which an effective load balancing approach is required.
The aim of this study was to take into account two major parameters, node's processor utilization and Success Rate using fuzzy logic, we have advantage of using crisps inputs. It also aimed at maximizing the system's performance and achieving a more appropriate load balance.
Literature Review
A lot of work has been done in the area of load balancing and fault tolerance for cloud computing. But due to its virtualization and internet based service providing behavior load balancing and fault tolerance in cloud computing are still a big challenge. Many researchers have given various load balancing techniques and strategies in (Rathor,chana,2011) ,(Khiyaita et al.,2012) ,(Hu et al.,2010), (Ren et al.,2011),(Randles et al.,2010) and (Eager et al.,1986).The proposed technique distributes loads in a smart way by considering the success rates and the loads history of the available virtual nodes. Thus the FLBVFT helps to tolerate not only faults but also reduce the chance of future faults by not assigning tasks to virtual nodes of physical servers whose success rates are very low and loads are very high.
System Model Description
Load balancing policy in cloud is as follows:
when jobs arrive at the system, the balancer check the status information from every node and then choose appropriate nodes based on fuzzy inference to distribute the jobs. The whole process is shown in Figure 1.
132 Figure 1.Job assignment strategy
Balancer
` The balancers check the status information from every node and then choose appropriate nodes to distribute the jobs. The relationship between the balancers and nodes is shown in Figure 2.
Figure 2. Relationships between the balancers and the nodes.
Assigning jobs to the nodes
When jobs arrives at the cloud, The balancer checks load information from every node to evaluate status. This evaluation of each node’s load status is very important.
Load information are generally calculated by the load balancer and is updated and kept in the performance record table of the virtual nodes time to time.
Evaluation nodes
The first task is to determine the appropriateness of the nodes. The appropriateness of nodes is related to various static parameters and dynamic parameters. The static parameters include the number of CPU’s, the CPU processing speeds, the memory size, etc. Dynamic parameters are the memory utilization ratio, the CPU utilization ratio, the network bandwidth, etc. Nodes are evaluated in three steps.
Step1.Define Parameter Set: It is assumed that there are two parameters for evaluating the appropriate node: Processor Utilization
Success Rate(SR)
Start
Jobs arrive at the Balancer
Choose nodesBased on Fuzzy Inference
Assign jobs to particular nodes
End
133
]
1
,
0
[
1 k i i i iF
F
the appropriateness of node evaluation parameter needs to be examined.
Assume that the system on which a job is to be performed is comprised of K node (i=1,...K).
Processor Utilization
The appropriateness of the processor utilization parameter of the ith node is indicated as αi. which is defined as follows.
i
F
is numeral value assigned to the processor utilization parameter of the ith node.Success Rate(SR)
SR(i)=𝑛𝑠(𝑖)/𝑛𝑡(𝑖) , SR ∈ [0,1]
ns is the number of times the virtual node of a particular physical server gives successful results. nt is the number of times the Load Balancer assigns tasks to a particular server’s virtual node.
Step3.Choose the appropriate Node: phase 1.Fuzzification
Fuzzification in the appropriateness of parameters:
The linguistic variable used to represent the node processor utilization, are divided into three levels: low, medium and high, respectively, there are three levels to represent the node Success Rate: low, medium and high, respectively.
The membership functions developed and their corresponding linguistic states are represented in tables1,2 and diagrams1,2.
Table1.Ranges for αVariable Input
Description
Fuzzy logic
Linguistic term Params
low low [0 0 0.1 0.5]
mediu med [0.1 0.5 0.9] high high [0.5 0.9 1 1] Diag1.Fuzzy set for fuzzy variable α
Table2.Ranges for SR Variable Input
Description
Fuzzy logic
Linguistic term Params
low low [0 0 0.1 0.5]
medium med [0.1 0.5 0.9]
high High [0.5 0 9 1
1]
134
Fuzzification in the appropriateness of nodes
The outcome to represent the output was divided into seven levels: Excellent ,Good, rather Good, medium, Rather bad, bad, and very bad. The membership function developed and their corresponding linguistic states are represented in Table and diagrams 3.
Phase2.Fuzzy Rules: The fuzzy rule base currently includes rules like the following: if the α is high and the SR is high then the node is rbad.
Thus we used 32 = 9 rules for the fuzzy rule base. We used triangle membership functions to represent the fuzzy sets medium and adequate and trapezoid membership functions to represent low, high, close and far fuzzy sets. The fuzzy rule base is represented in Table 4.
Table 4. Fuzzy rule base
No α SR Output
1 Low High exce
2 Low Med good
3 Low Low rgood
4 Med High rgood
5 Med Med medium
6 Med Low rbad
7 High High rbad
8 High Med bad
9 High Low vbad
Phase3.Aggregation of the rule outputs
four well-known inference mechanisms in fuzzy logic control systems:(Fuller,1995) Mamdani
Tsukamoto Sugeno Larsen
Diag3.Fuzzy set for fuzzy variable Output Table3.Ranges for output Variable Output
Description
Fuzzy logic
Linguistic term Params
excellent exce [0 0 0.15 0.3]
good good [0 0.175 0.35]
Rather good rgood [0.25 0.35 0.45]
medium med [0.3 0.5 0.7]
Rather bad rbad [0.55 0.65 0.75]
bad bad [0.65 0.825 1]
135
Phase4.Defuzzification
The output of the inference process so far is a fuzzy set, specifying a possibility distribution of control action. In the on-line control, a nonfuzzy (crisp) control action is usually required. Consequently, one must defuzzify the fuzzy control action (output) inferred from the fuzzy control algorithm, namely:
z0 = defuzzifier(C),
where z0 is the nonfuzzy control output and defuzzifier is the defuzzification operator.
Defuzzification is a process to select a representative element from the fuzzy output C inferred from the fuzzy control algorithm.(Fuller,1995)
The most often used defuzzification operators are Center-of-Area/Gravity
Center-of-Sums,Center-of-Largest-Area First-of-Maxima
Middle-of-Maxima
Conclusion
This paper gives a fuzzy load distribution strategy for our virtualization and fault tolerance in cloud computing using success rate of the computing nodes and previous load history. This task assigning technique give a good performance. As only high SR values and low loads are considered during virtual node selection hence, there is a very less chance of system failure.
References
Neeraj Rathore, Dr. Inderveer Chana ,2011,A Cognitive Analysis of Load Balancing and job migration Technique in Grid”, World Congress on Information and Communication Technologies (WICT),P 77-82, ISBN 978-1-4673-0127-5.
A. Khiyaita, M. Zbakh, H. El Bakkali and Dafir El Kettani,2012,Load Balancing Cloud Computing : State of Art, ISBN 9778-1-4673-1053-6 , IEEE.
Jinhua Hu ,Jianhua Gu, Guofei Sun, Tianhai Zhao, 2010, A Scheduling Strategy on Load Balancing of Virtual Machine Resources in Cloud Computing Environment, 3rd International Symposium on Parallel Architectures, Algorithms and Programming, 978-0-7695-4312-3/10, IEEE,DOI 10.1109/PAAP.2010.65.
Xiaona Ren , Rongheng Lin, Hua Zou, 2011,A Dynamic Load Balancing Strategy for Cloud Computing Platform Based on Exponential Smoothing Forecast, Proceedings of IEEE CCIS2011, 978-1-61284-204-2/11, IEEE.
M. Randles, D. Lamb, and A. Taleb-Bendiab,2010,A Comparative Study into Distributed Load Balancing Algorithms for Cloud Computing, 2010 IEEE 24th International Conference on Advanced Information Networking and Applications Workshops, pp. 551–556.
Derek L. Eager, Edward D. Lazowska, Jhon Zahorjan, 1986,Adaptive Load Sharing in Homogeneous Distributed Systems”, IEEE Transactions on Software Engineering, Vol. SE-12,No 5,May 1986.