Computers & Operations Research 32 (2005) 2129 – 2145
www.elsevier.com/locate/dsw
Determination of the parameters in the dynamic weighted Round-Robin method for network load balancing Der-Chiang Lia;∗ , Chihsen Wua , Fengming M. Changb a
b
Department of Industrial and Information Management, National Cheng Kung University, Tainan, Taiwan Department of Industrial Engineering and Management, Tungfang Institute of Technology, Kaohsiung, Taiwan
Abstract The purpose of this paper is to determine the values of the parameters in a new method (Dynamic Weighted Round-Robin, DWRR) developed for solving Internet tra0c jam problems. Using the traditional Round-Robin (RR) method as a base, DWRR was developed to e0ciently control loads in a multiple-link network. Unlike least-load algorithm, DWRR does not need to trace system loads continually, but achieves a far better load balancing than RR does. Mathematical functions are developed for predicting the optimal time interval of detection of line loads in this method, while the concept of variance in statistics is used as the criterion for evaluating the load balance level. A couple of related coe0cients have also been determined by analyzing the simulation data. A centralized gateway with a multi-link-load-balancer is modeled for explaining the proposed algorithm. In addition, both theoretical and practical approaches are provided in this paper, along with performance comparisons between them. The results obtained from the computational experiments show that DWRR achieves a superior network loads balancing. ? 2004 Elsevier Ltd. All rights reserved. Keywords: Dynamic weighted Round-Robin; Load balancing; Round-Robin; Network; Internet
1. Introduction Applications for the Internet are growing explosively, causing enormous of network loads. This high growth rate, however, leads to a decrease in Quality of Service (QoS) and performances of networks, both in network line bandwidth allocation and in server responding time. The solution currently widely used for this kind of Internet tra0c problem is to build up a multiple-Internet-link or multiple-server distributed system to distribute the loads. Fig. 1 illustrates a multiple-Internet-link structure with three lines connecting outward to the Internet. Since a system with balanced loads ∗
Corresponding author. Tel.: +886-6-2757575; fax: +886-6-2341171. E-mail addresses:
[email protected] (D.-C. Li),
[email protected] (C. Wu),
[email protected] (F.M. Chang).
0305-0548/$ - see front matter ? 2004 Elsevier Ltd. All rights reserved. doi:10.1016/j.cor.2004.02.004
2130
D.-C. Li et al. / Computers & Operations Research 32 (2005) 2129 – 2145 (applying fairness scheduling algorithms) (applying DWRR algorithm)
inside network
Job 4 Job 9 Job 3 Job 6 Job 10 Job 1 Job 8 Job 2 Job 5 Job 7
ISP 1
ISP 2 ISP 3
a gateway
Fig. 1. A gateway for load balancing function.
among its multiple links or servers yields better system performance, this study focuses on Bnding a load balancing method to further improve its performance e0ciency. Quite a few load balancing techniques for the Internet have already been proposed [1,2]. Some of them solved the problem by adding extra hardware to the system, such as Round-Robin DNS [2], others solved the problem by applying software to the controller. The former achieve approximate balancing but increases extra cost incurred through connecting additional systems, and are used in multiple web site servers. The latter are popularly applied in network devices using control algorithms directly and generally obtain fairly good results. Traditional control algorithms for load balancing include Random, Round-Robin (RR) [3], Weighted Round-Robin (WRR) [4], Least Load, Least Connections, and Fastest Response algorithms [5]. For the job of assigning loads, Random algorithm selects links or servers randomly, regardless of the load on each line. This can leave the system unsteady. The performance of Random algorithm for load balancing is worse than that of RR [6]. Round-Robin algorithm is the simplest one, in which links merely serve the system in turn. Logically, in a system with n links, if the current outgoing tra0c goes through linki , 1 6 i 6 n, then the next service line is link(i+1) mod n . RR was Brst used in network problems by Nagle [3] and compared with other algorithms in a lot of other research [6–10]. The beneBt of RR lies in the omission of tracing the links, for the tracing work is known to add extra load to the system, therefore detracting from the performance. WRR has the same scheme as RR does, except that a fractional weight is given to each link according to the link’s performance. Least Load algorithm detects the load of each server or link and allocates the new load to the least loaded one. Least Connections algorithm tracks the number of connected users on each server or link and assigns new tra0c to the one with the fewest connections. Fast Response algorithm keeps track of the response time of each server and balances the loads by choosing the one with the fastest response one. Fastest Response algorithm can only be used on servers. Both Least Load and Least Connections algorithms continually detect, measure, and rank each link’s utilization as the basis for line selection. For systems using these two algorithms, the load balancing devices are costly and can become a bottleneck for the whole system. It’s suitable to apply RR to a system only when the servers have Bxed performance levels, since they have no sense of line congestion. There are variants of RR-related methods for How controlling, but concentrate on fairness scheduling for lines: DeBcit Round-Robin algorithm (DRR) [9] is proposed on the basis of RR. It uses a quantum concept to control the speed of packets traveling among Hows. To do that, it continually traces the states of Hows for measuring deBcits in the lines. Bit-by-bit round-robin (BRR) [11] tries to perform Round-Robin algorithm bit by bit, but it’s almost impossible to execute in a high speed
D.-C. Li et al. / Computers & Operations Research 32 (2005) 2129 – 2145
2131
network. Elastic Round-Robin (ERR) [12,13] improves DRR using an un-Bxed item, allowance, to avoid requiring information about packet length. Variably Weighted Round-Robin (VWRR) [14] observes the average packet length of each How and calculates the weights for packets transferring within multiple Hows. Still, both ERR and VWRR algorithms need a lot of computational and tracing work. These algorithms are good algorithms for controlling How for fair scheduling among Hows, but not for balancing loads as addressed in this paper. In fact, they are applied for job fairness on each outgoing link as illustrated in Fig. 1. In other studies, Walraevens et al. [15], and Jiang et al. [16] tries to use priority scheduling discipline on buKers to reduce the delay-sensitive tra0c and assess buKers performance at the ATM switch. Because an ATM system has Bxed size of packets, cells, the priority scheduling method is not included in our study, as it is designed to handle diKerent sized jobs. Furthermore, this research focuses on the load balancing problem, without concerning TCP methods, such as those in Sliding window [17] or packet error problems [18]. In this article, a new algorithm based on RR and named Dynamic Weighted Round-Robin (DWRR) for load balancing is developed, in which the need to measure, trace, rank, and calculate link loads is minimized. DWRR detects each link’s load in the system at intervals and, following the detection of loads, a set of weights (the inverse ratio of link loads) is given to each link. The system allocates new loads to each link according to the set of weights. The following sections will describe the system model to which DWRR is applied as in real network environments. In Sections 2 and 3, we will introduce the details of the development of DWRR, including mathematical functions to determine the best detecting interval and other related coe0cients. A simulation model for our study is given in Section 4. Next, in Sections 5 and 6, are simulation results and comparisons. Section 7 addresses the conclusions of the study. 2. The proposed method DWRR is based on, but is an improvement over traditional Round-Robin algorithm for network load balancing problems. It adapts the most important advantage of RR: it does not need to trace every link all the time. In the method presented, the detecting work needed to measure the loads of links is minimized. In order to achieve this goal, this study therefore considers Bnding a way to determine the optimal detecting time interval for the system. 2.1. Load balancing evaluation We evaluate the load balancing level of links using a statistical value: variance. To determine the value of a variance, we assume that at time t, the load of linki in the system is loadt; i , where 1 6 i 6 n for a system with n links. Then the variance of the links at time t, t is calculated as n (loadt; i − loadt )2
t = i=1 ; n where n loadt; i : loadt = i=1 n
2132
D.-C. Li et al. / Computers & Operations Research 32 (2005) 2129 – 2145
The lower t is, the better balanced a system will be. We use an evaluator N to measure the total load variance of a system over a period of time, and the equations for calculating N are
t dt Min N = t T s:t: t0 ¡ t ¡ (t0 + T ) t0 ¿ 0; where T is the total time period of simulation. 2.2. Dynamic Weighted Round-Robin DWRR can be brieHy explained as a system that detects each link’s load in the system, after which a set of weights (the inverse ratio of link loads) is given to the links. The algorithm is thus named Weighted Round-Robin owing to the assignment of weights. For a system with n links, setting the current load ratios of links be loadt; 1 : loadt; 2 : · · · : loadt; n will yield the assigned weights to the links as wt; 1 : wt; 2 : · · · : wt; n =
1 1 1 : : ··· : : loadt; 1 loadt; 2 loadt; n
(1)
For example, suppose loadt; 1 : loadt; 2 : loadt; 3 : loadt; 4 = 1 : 2 : 3 : 2, then wt; 1 : wt; 2 : wt; 3 : wt; 4 = 6 : 3 : 2 : 3. We then assign jobs to each link in accordance with these weights. The assigning process is link1 → link2 → link3 → link4 → link1 → link2 → link3 → link4 → link1 → link2 → link4 → link1 → link1 → link1 ; where the process contains six assignments for link1 , three assignments for link2 , two assignments for link3 , and three assignments for link4 . Completing the above process is herein called a round. Since all the links have the same bandwidth, the purpose of the set of weights is to oKset the un-balancing conditions in the system. The system will continue assigning jobs to links following the process mentioned above (repeatedly) till the next detection. At the time of the new detection, t , the system gets new loads of links and calculates new weights, wt ; 1 : wt ; 2 : · · · : wt ; n , for assigning jobs to the links. Weights can thus be considered dynamic over the time. This algorithm is conceptually clear, but in our experience two problematic mathematical conditions occur. One problematic condition is that when the load value is as small as 0.00023 units (not in number of jobs), it encounters a very large inverse value in function (1). Actually, when one or more wt; i is very large, it takes a long time to complete a round and may cause the lightest link to become the heaviest. In our experiment, cases having ratios as dramatic as 12.4:3.5:8.3:0.00023 occur frequently. Facing this problem, Ito et al. [14], without giving explanations, used an appropriate constant, 20, to divide all values to adapt weights. The other issue is that some load values
D.-C. Li et al. / Computers & Operations Research 32 (2005) 2129 – 2145
2133
may equal 0, and cannot be used to count inverse values mathematically in function (1). To avoid being stuck with these two conditions, we measure and calculate load ratios by dividing them with a coe0cient, , and rounding the numbers to integers. Using of this coe0cient, we thus determine the loads as loadt; i +1 and the weights as wt; i =
1 : [(loadt; i =) + 1]
√ In our simulation, letting = is a good trial, where = , N and this is obtained from running the traditional RR on the same network environment. Related analysis, further discussion, and comparisons about the value of are provided in the latter part of this paper. 3. Determination of the detecting interval The most important parameter in the DWRR algorithm is the detecting time interval because the principal merit of the algorithm is to minimize the frequency of detection. When the detecting time interval is too short, the system bears a heavy load for detecting link loads over time. When the detecting time interval is too long, on the other hand, the load balancing control of the system becomes ineKective. The following section will derive equations for the determination of detecting time interval for the system. 3.1. The theoretical smallest detecting interval For computational convenience, we transfer the load into time units as in [10]. Thus, while time goes second by second, the system load decreases unit by unit; however, when jobs are coming and waiting for transferring, system load accumulates. The smallest detecting interval is the time interval during which the system deBnitely remains balanced within this period of time. Given jobs come to the system during an arrival interval a following an exponential distribution, and the simulation starts at time t0 , the total number of coming jobs, TJ, after a period of time t0 + t is t TJ = ; aN where aN is the mean of jobs arrival intervals. Letting the total loads of all arrival jobs be TL, yields TL = LN ∗ TJ; where LN is the mean of job sizes in units of time. Now to determine the shortest period of time for detection, we can calculate the time it takes a system to change from a balanced status to an un-balanced status. This occurs when all loads are transferred into one link during time t and makes
Load
D.-C. Li et al. / Computers & Operations Research 32 (2005) 2129 – 2145
Load
2134
(a)
Link 1 Link 2 Link 3 Link 4
(b)
Link 1 Link 2 Link 3 Link 4
Fig. 2. (a,b) Two extreme conditions of load allocation that begin to change from balanced to un-balanced state.
the loads ratios of the links loadt; 1 : loadt; 2 : · · · : loadt; n =(TL − t) : 0 : · · · : 0: When applying coe0cient on (2), the load ratios become 0 0 TL − t +1 : + 1 : ··· : +1
(2)
(3)
and the weights of the links for jobs assigning are wt; 1 : wt; 2 : · · · : wt; n 1 1 1 : : ··· : TL − t 0 0 +1 +1 +1 TL − t TL − t =1 : + 1 : ··· : +1 :
=
If (TL − t)= + 1 = 1, the system is perfectly balanced. By contrast, in a situation in which any (TL − t)= + 1 is greater than or equal to 2, the system becomes un-balanced. In other words, the moment that the largest link road reaches 2 can be thought of as the Brst alert of the system coming un-balanced alerting, and the system immediately starts adapting DWRR as the jobs assigning fashion. Theoretical, the smallest t occurs when one of the links load ratio value in function (3) reaches 2 while the other link loads remain 0’s. The t is accordingly determined by the following equations, a situation graphically shown in Fig. 2(a). TL − t + 1 = 2: (4) Substituting TL = a N : t= N L − aN
N Lt aN
in the former expression, yields (5)
D.-C. Li et al. / Computers & Operations Research 32 (2005) 2129 – 2145
2135
3.2. The theoretical longest detecting interval As in a queueing system, let = 1= aN be the average arrival rate, u = 1= LN be the average service rate, and q = =nu be the utilization factor for the service facility [19]. In this study, there are n outgoing lines for service, Thus q=
LN : an N
Theoretical, n outgoing links continue to send out loads that are totally equal to nt during time t. However, from a practical point of view, it often happens that a link is empty and the total of the loads transferring out is smaller than nt. Therefore, q is evaluated in terms of arrival interval aN and N Averaging this, the utilization factor is applied to evaluate the total sent out tra0c during time L. interval t, and the total load remain in system at t0 + t will be TL − qt: The general form for load ratios at time t is formulated as loadt; 1 : loadt; 2 : · · · : loadt; n TL − qt TL − qt TL − qt : : ··· : ; = r1 r2 rn where ni=1 1=ri = 1, ri ∈ N is the proportion of remaining load linki taken. Divided by , the load ratios are TL − qt TL − qt TL − qt +1 : + 1 : ··· : +1 ; (6) r1 r2 rn wt; 1 : wt; 2 : · · · : wt; n = =
1 TL−qt r1
+1
1 TL−qt+r1 r1
=
1
:
:
t LN∗ −qt+r1 aN r1
1 TL−qt r2
+1
1 TL−qt+r2 r2
:
1
: ··· :
: ··· :
t LN∗ −qt+r2 aN r2
1 TL−qt rn
+1
1 TL−qt+rn rn
: ··· :
1
t LN∗ −qt+rn aN rn
ar N 2 ar N n ar N 1 : : ··· : (LN − qa)t N + ar N 1 (LN − qa)t N + ar N 2 (LN − qa)t N + ar N n ar N 1 n ar N 2 n ar N n n = : : ··· : : N + ar N + ar N + ar (n − 1)Lt N 1 n (n − 1)Lt N 2 n (n − 1)Lt N n n
=
(7)
2136
D.-C. Li et al. / Computers & Operations Research 32 (2005) 2129 – 2145
The theoretical longest detecting interval is a time interval that, if exceeded, will deBnitely cause the system to become un-balanced. This value is calculated as the ultimate limit at which all lines are loaded and the load of each line is close to one as shown in Fig. 2(b). When r1 = r2 = · · · = rn loadt; 1 : loadt; 2 : · · · : loadt; n TL − qt TL − qt TL − qt ∼ : : ··· : : = n n n When any one of these loads (taking line 1 as the example) reaches to , the load ratios are TL − qt TL − qt TL − qt + 1 : ··· : +1 +1 : n n n =2 : 1 : · · · : 1
(8)
and triggers the un-balanced alert, such that the longest t occurs when one of the ratios in function (8) gets to 2 and the other ratios remain slightly smaller than 2. It is formulated as TL − qt + 1 = 2: n N aN and q = L= N an Substituting TL = Lt= N in the former expression, yields t=
an N 2 : (n − 1)LN
(9)
Combining (5), the smallest t, and (9), the longest t, we have the time interval range as a N an N 2 : 6t¡ (n − 1)LN LN − aN
(10)
The range can be viewed as the theoretical limits for determining the detecting time interval. A more speciBc interpretation of (10) can be stated as follows: the system will certainly stay balanced N before time a=( N LN − a), N and will certainly become un-balanced after time an N 2 =(n − 1)L. 4. The system model A centralized gateway is conBgured in the system as shown in Fig. 3. Actually, the balancer in this system is a Radware multi-link-load-balancer [20] which Bts the transport layer model in the Open System Interconnection (OSI) of the International Standard Organization (ISO). The multi-link-load-balancer works for load balancing among multiple Internet lines or servers. This system is an actual setup assembled in our computer center. The balancer has Bve fast Ethernet ports that have a 100 mega (M) bytes per second (bps) network bandwidth. On one side, there are four Asymmetric Digital Subscriber Lines (ADSL) [21]. Each line has one Cisco 676 router named ATUR for ADSL use, connected for the network’s communications with diKerent Internet Service Providers (ISP). These ADSL lines have a maximum download bandwidth of 1:5 M bps and upload bandwidth of 512 K bps. On the other side of the multiple-link-load-balancer, one fast Ethernet port is connected to inside networks through a test server. The test server, a Pentium II PC server, is set up to support the balancer with three functions: The Brst function is to execute the
D.-C. Li et al. / Computers & Operations Research 32 (2005) 2129 – 2145 ISP 1
ISP 2
ISP 3
2137
ISP 4
multi ADSL Links
Cisco 676 ATUR
load balancer Centralized Gateway test server
inside network computer 1
inside network computer 2
...
inside network computer n
Fig. 3. System model with a centralized gateway consisting a load balancer and a test server.
load balance algorithms as created in this paper, and the second function is to serve as a packets generator. We can either use the tra0c from inside networks as the simulation packets resource, or create upload packets using programs in the test server. The last function of the test server is to record the loads of the four ADSL tra0c from the simple network management protocol (SNMP) of the balancer. To ensure constant Internet connections, a multiple-link structured system usually connects to other systems through multiple ISP. Each ISP has its IP address range. While a job is assigned to a link, all its packets are assigned to it and the routing path is established. Using this concept, this study counts the jobs one by one where each job contains several packets with the same source and destination. 5. Computational experiment The conBguration of the simulation environment is set as shown in Fig. 3. The algorithms are written in C language. Following the Poisson arrival and uniform tra0c size assumptions for network simulation in [7–9,12,13,16], we generate 20,000 jobs at a Poisson arrival rate, so that the arrival interval a follows an exponential distribution. Jobs sizes L are uniformly distributed between 0 and N The time period is about aN ∗ 20; 000 in the simulation. 2L. Fig. 4 shows the loads and variance of the four links over time using traditional Round-Robin algorithm in the simulation. By observing the load variance curve, it is obvious that the load variance
2138
D.-C. Li et al. / Computers & Operations Research 32 (2005) 2129 – 2145
Fig. 4. System loads resulted from using RR. From (a)–(d) are four links’ loads respectively, and (e) is the variances of four links during the time.
D.-C. Li et al. / Computers & Operations Research 32 (2005) 2129 – 2145
2139
of four links is unsteady. This study tries to reduce the load variance and keep it steady by applying the proposed DWRR algorithm. In Fig. 4, the values of LN and aN are set as 0.515 and 0:134 min. This yields N = 4:2295 and = 2:0566. While applying DWRR to the data, the variance curve, in Fig. 5(e), shows that DWRR is better than RR, as we can see when we compare Fig. 5 with Fig. 4. The detecting interval is theoretical predicted in (10), letting tl = a=( N LN − a) N be the lower bound 2 N and tu = an N =(n − 1)L be the upper bound of the detecting interval. We Bnd out the best detecting interval is at the mean of tl and tu , thus let tl + t u : (11) tb = 2 Several simulation results and comparisons are provided in the following section. 6. Results Three sets of data with light (aN = 0:2; LN = 0:5155), marginal (aN = 0:134; LN = 0:5155), and heavy (aN = 0:134; LN = 0:625) network loads were generated to Bnd out the detecting time intervals of (11). All the comparisons are discussed in the following sections. 6.1. DWRR test Table 1 shows the results of applying DWRR to the three sets of data: light loads, marginal loads, and heavy loads data. By observing the results, vN of DWRR is far better than that of traditional RR. The network loads of the tested data were light, marginal, and heavy, in that order, and their average loads variance, vN was increased. The above comparisons are also shown in Fig. 6. Fig. 6 illustrates the values of vN under both DWRR and traditional Round Robin, where the best detecting interval, tb , has the best result. 6.2. Relation between t and N Setting L=0:515 min and a=0:134 N min in the simulation using DWRR, the best detecting interval tb can be determined using function (11). Results obtained from setting t = 0:25tb , 0:5tb , 2tb , and 4tb ; = 0:25v , 0:5v , 2v , and 4v are compared in Table 2 and in Fig. 7. The table shows that for a speciBc size of , a speciBc value of t is paired to obtain the optimal variance. The pairs are (t = 0:25tb ; = 0:25v ), (t = 0:5tb ; = 0:5v ), (t = tb ; = v ), (t = 2tb ; = 2v ), and (t = 4tb ; = 4v ). There is only one exception at (0:25tb ; = 0:25v ). At this point, the average load variance is not at its lowest level. The fact is that N at t = 0:25tb is higher than when using other intervals. Because 0:25tb = 0:4525 min is smaller than LN = 0:5155, it has little eKectiveness in detecting the links within this small period of time. Thus t = 0:25tb is not a good detecting interval. = 0:25v is not suitable either. Because 0:25v = 0:25 ∗ 2:0566 = 0:5142 is too small (smaller than LN = 0:5155). Since the using of is to prevent the system from getting extreme high weight, a value of smaller than the average value of jobs is mathematically unsuitable. In looking at Fig. 7, we can see that the best values of N are between the range of 0:5tb 6 t 6 2tb and 0:5v 6 6 2v , and the best value is at (t = tb ; = v ). This data suggests we set at v .
2140
D.-C. Li et al. / Computers & Operations Research 32 (2005) 2129 – 2145
Fig. 5. (a–e) The loads and variances of DWRR.
D.-C. Li et al. / Computers & Operations Research 32 (2005) 2129 – 2145
2141
Table 1 Values of N from testing three sets of data with DWRR Light loads
Marginal loads
Heavy loads
Basic attributes aN LN
N of traditional RR v of traditional RR (=) Best interval tb
0:2 min 0:5155 min
N = 0:0869 0.2948 0:4 min
0:1340 min 0:5155 min
N = 4:2295 2.0566 1:79 min
0:1340 min 0:625 min
N = 94:6653 9.7296 6:89 min
Detecting intervals 0:25tb 0:5tb tb 2tb 4tb
N = 0:0871
N = 0:0859
N = 0:0839
N = 0:0937
N = 0:1285
N = 1:4088
N = 0:6036
N = 0:4929
N = 0:8275
N = 2:5024
N = 72:2210
N = 50:8947
N = 30:8683
N = 126:3732
N = 485:3837
100 90
average load variance
80 70 60 50 40 30
Heavy loads
20 Marginal loads
10 0
Light loads
RR DWRR
Fig. 6. A comparison of vN between RR and DWRR.
6.3. Comparison of load balancing algorithms DWRR is compared with other load balancing algorithms, including RR, Least Load, and Least Connections. The comparison result are shown in Fig. 8. Fig. 8 illustrates that the value of vN under Least Load algorithm is the smallest one, 0.0569. Least Connections algorithm has the second best value for v, N 0.2260. The vN under Least Connections is
2142
D.-C. Li et al. / Computers & Operations Research 32 (2005) 2129 – 2145
Table 2 Values of N on variant t and in DWRR = v =4
= v =2
= v
= 2v
= 4v
aN LN
N of traditional RR v of traditional RR
0.134 0.5155
N = 4:2295 2.0566
0.134 0.5155
N = 4:2295 2.0566
0.134 0.5155
N = 4:2295 2.0566
0.134 0.5155
N = 4:2295 2.0566
0.134 0.5155
N = 4:2295 2.0566
Detecting intervals 0:25tb 0:5tb tb 2tb 4tb
N = 1:3089
N = 0:5091∗
N = 0:5492
N = 1:2483
N = 10:9778
N = 1:3832
N = 0:4520∗
N = 0:5339
N = 0:9552
N = 3:7719
N = 1:4088
N = 0:6036
N = 0:4929∗
N = 0:8275
N = 2:5024
N = 1:4179
N = 0:6465
N = 0:5834
N = 0:5685∗
N = 1:3261
N = 1:6732
N = 1:0527
N = 0:9356
N = 0:9232
N = 0:8699∗
∗
The optimal variance.
Fig. 7. The relation between t and in DWRR.
greater than that under Least Load. Because when job sizes are variable, the least connections link is not always the one with the least load one. The third best value of vN is gotten using DWRR, 0.4929. Both the Least Load and the Least Connections algorithms get a better vN value than DWRR does because they monitor the system so often. In our simulation, Least Load or Fastest Response detects the whole system 20,000 times, while DWRR does so only 1472 times. This is indeed the
D.-C. Li et al. / Computers & Operations Research 32 (2005) 2129 – 2145
2143
Fig. 8. (a–d) The comparison of load balancing algorithms.
contribution of DWRR that makes it a system that can achieve good results without having to trace system loads continually. 7. Conclusion We have presented a new method, DWRR, as a solution for the multiple-link-structure load balancing problem. Statistical variance is used as the evaluator for measuring load balancing and
2144
D.-C. Li et al. / Computers & Operations Research 32 (2005) 2129 – 2145
mathematical equations are developed to determine the optimal detecting intervals. Alternative values of related parameters k, q, and tb are also tested for the best balancing. The computational experiment conducted in our study proves that the design of DWRR is able to provide eKective load balancing. The most important merit of this study is that DWRR does not need to constantly trace system loads, therefore giving it enough time to control the system loads. When comparing the results of DWRR in light, marginal, and heavily loaded network environments, the e0ciency of DWRR under light load conditions is not clear, because in this case, the tra0c load in each link is empty most of the time and does not need much load balancing control. In both marginal and heavy loaded tra0c links, however, the results are clear: DWRR works well and e0ciently. Weights divided by a quantum can prevent fractional weights from getting too large. It is best to set the value of one standard deviation v based on traditional RR. In general, a large in a heavy tra0c network could cause a large variance, but reduce the frequency of detecting. This is a trade-oK, when is smaller, the average load variance is smaller except that is smaller than the N average job size L. In brief, DWRR can control the system, maintaining excellent load balancing, and obtaining results far better than those gotten when using traditional RR. References [1] Cardellini V, Colajanni M, Yu PS. Dynamic load balancing on Web-Server systems. IEEE Internet Computing 1999;(5–6):28–39. [2] Bryhni H, Klovning E, Kure O. A comparison of load balancing techniques for scalable web servers. IEEE Network 2000;14(7):58–64. [3] Nagle J. On packet switches with inBnite storage. IEEE Transactions on Communications 1987;35(4):435–8. [4] Katevenis M, Sidiropoulos C, Courcoubetis C. Weighted round-robin cell multiplexing in a general-purpose ATM switch chip. IEEE Journal on Selected Areas in Communications 1991;9(8):1265–79. [5] River Stone Networks. Server load balancing: the key to a consistent customer experience. Technology white paper, No. 101, http://www.riverstonenet.co.jp/pdf/technology/whitepapers/SLB∼v5.PDF, December 2002. p. 1–6. [6] Nadimpalli S, Majumdar S. Techniques for achieving high performance Web Servers. International Conference on IEEE Parallel Processing, 2000. p. 233–41. [7] Altintas O, Atsumi Y, Yoshida T. A note on fair queueing and best-eKort service in the Internet. IEEE Internet Workshop, IWS 99, 18–20 February 1999. p. 145–50. [8] Shachnai H, Yu PS. On analytic modeling of multimedia batching schemes. Performance Evaluation 1998;33: 201–13. [9] Shreedhar M, Varghese G. E0cient fair queuing using deBcit round robin. IEEE/ACM Transactions on Networking 1996;4(3):375–85. [10] Yeung KH, Suen KW, Wong KY. Least load dispatching algorithm for parallel Web server nodes. IEEE Proceedings on Communications 2002;149(4):223–6. [11] Demers A, Keshav S, Shenker S. Analysis and simulation of a fair queueing algorithm. In: Proceedings of SIGCOMM’89, vol. 19, no. 4, 1989. p. 1–12. [12] Kanhere SS, Sethu H, Parekh AB. Fair and e0cient packet scheduling using Elastic Round Robin. IEEE Transactions on Parallel and Distributed Systems 2002;13(3):324–36. [13] Kanhere SS, Sethu H. Low-latency guaranteed-rate scheduling using Elastic Round Robin. Computer Communications 2002;25:1315–22. [14] Ito Y, Tasaka S, Ishibashi Y. Variably weighted round robin queueing for core IP routers. Performance, Computing, and Communications Conference, 21st IEEE International, 2002. p. 159–66.
D.-C. Li et al. / Computers & Operations Research 32 (2005) 2129 – 2145
2145
[15] Walraevens J, Steyaert B, Bruneel H. Performance analysis of a single-server ATM queue with a priority scheduling. Computers and Operations Research 2003;30:1807–29. [16] Jiang Y, Tham C, Ko C. A probabilistic priority scheduling discipline for multi-service networks. Computer Communications 2002;25:1243–54. [17] Comer DE. Computer networks and internets, 2nd ed. Englewood CliKs, NJ: Prentice-Hall; 1999. p. 213–6. [18] Mukherjee A. A proof of quasi-independence of sliding window How control and go-back-n error recovery under independent packet errors. Computer Networks and ISDN System 1996;28:873–87. [19] Hill L. Introduction to Operations Research, 7th ed. New York: McGraw-Hill; 2001. p. 839. [20] Radware. LinkProof user’s guide, January 2000. [21] Cio0 J, Silverman P, Starr T. Digital subscriber lines. Computer Networks 1999;31(4):283–311.