Article Preview
Top1. Introduction
With the rapid development of computer technology and the Internet, Internet service is not only an important hinge within personal relationship and between human and society, but also the door of breakthrough for all kinds of industries to accelerate their transformation and upgrading. Big data strategy is firstly proposed on World Internet Conference 2015. It indicates that the importance, scale and complexity of internet data will change from quantity to quality. The increasing of volatility of man-machine interaction, as well as the rapid increase of internet data both in scale and importance, makes Web server face a severer challenge. To cope with this challenge, it can build a Web server cluster which is a group of independent computers, connected by network and managed by a single system model (Menzel, Ranjan, Wang, Khan, & Chen, 2014). It can use many servers to execute in parallel and it can establish a quick information communication channel to reduce the pressure on each server of the cluster and improve the whole performance of the cluster. It has high scalability, high availability and high cost performance. Thus, building Web server cluster become the main method at home and abroad (Solar, Suppi, & Luque, 2012).
Taking into account the size, importance (priority), uncertainty of the task, the difference of the performance of each node (processing unit) in Web server cluster and the difference of the communication overhead, even in the initial stage, tasks are allocated by adopting fair principle, but in actual operation process, each node of load may also gradually appear imbalance (Ok & Park, 2004). This phenomenon makes Web server cluster not take full advantage of system recourses, so it causes the whole performance of the cluster decline (Adler, Chakrabarti, Mitzenmacher, & Rasmussen, 2010). To improve the efficiency of the cluster, the main method is to use load balancing technique (Chen & Li, 2015). Therefore, the research on load balancing has been continued until now, and it will always be the focus of scholars all over the world.
For Web server cluster, load balancing is a classical combinatorial optimization problem. The description of the problem is: Given a number of tasks, to find a method to allocate these tasks to each node in the cluster. This allocation method is to use one or more objective function to optimize the cluster 9 (Grosu & Chronopoulos, 2002). Specifically, the problem of load balancing in Web server cluster is defined as follows:
Figure 1. Description of load balancing in Web server cluster
As shown in Figure 1,
is a set of tasks to be processed,
is each server of Web server cluster. Each server communicate through the network, the task scheduler adopts strategies to allocate
tasks to
servers. Strategies are defined in allocation mechanism
. In the process of task allocation, it is necessary to consider how to achieve fair allocation of tasks among each node, so that the overhead of whole process is minimized.