Performance Analysis of Session-Level Load Balancing Algorithms

Dennis Roubos , Sandjai Bhulai , and Rob van der Mei Vrije Universiteit Amsterdam Faculty of Sciences De Boelelaan 1081a 1081 HV Amsterdam The Netherlands E-mail: {droubos, sbhulai, mei}

Abstract Load balancing (LB) is crucial for the efficient operation of big server clusters. In the past, many different LB strategies on the request level have been developed with great effectiveness in parallel applications. However, the LB problem is not yet solved completely; new applications and architectures require new features. In particular, secure environments require that LB is done at session level instead of request level; that is, once a session has been assigned to a server, all subsequent service requests are directed to the assigned server. Despite the fact that many commercial products have been brought to the market to implement LB at the session level, little insight has been obtained into the efficiency of such session-level LB algorithms, leaving ample room for performance improvement and optimization. Motivated by this, we study session-level LB with a focus on algorithms that are simple and easy to implement in real systems. The performance of the load balancer is highly dependent on the request profiles of the different sessions and the information that is available for decision making. We make this trade-off between the information that is available to the load balancer and the efficiency of the algorithm explicit by developing new algorithms, and compare their efficiency with existing algorithms. The algorithms are mainly based on the load of each server and the number of active sessions running on them. Extensive validation in an experimental setting shows that our algorithms outperform the existing ones, and as such, provide a simple, easy-toimplement yet effective means to improve the efficiency of large server clusters. Keywords: Load balancing, performance evaluation, session-level load balancing.

1 Introduction
Many content-intensive applications have scaled beyond the point where a single server can provide adequate processing power. This raises the need for flexibility to deploy additional servers quickly and transparently to end-users. Load balancing (LB) is the process of distributing service requests across a group of servers. It has emerged as a powerful solution that addresses several requirements that are becoming increasingly important in computer networks, such as increased scalability, high performance, and high availability and disaster recovery. 1

it is crucial that LB is done at the session level instead of request level. [4 . The sessions remain active for as long as the clients do not terminate their sessions. 5]). Unauthorized data queries should be kept separate from accessing the data of clients directly. browsing the web. Whenever a new session is requested by a client. We make this trade-off between the information that is available to the load balancer and the efficiency of the algorithm explicit by developing new algorithms. the LB algorithm is carried out only when a user requests a new session. Once the session has been assigned to a server. Rather surprisingly. In these cases..g.. Moreover. We focus on load-balancing algorithms that are easy to implement in real systems. A main disadvantage of request-level LB algorithms is that they are highly vulnerable to unsecured transactions. Note that it is not desirable to switch this session to a different terminal server due to large overhead and switching times. The high performance is achieved by directing service requests to the servers that are least busy and therefore capable of providing the fastest response times. [8] for an overview of request-level LB algorithms). or service (cf. In this paper. However. the vast majority of the performance-related papers on LB that have appeared are focused on request-level LB (also often referred to as server LB). however. a farm of terminal servers can serve as an intermediate layer to the outside world so that clients should request a session for all activities for outgoing data traffic. e.. The literature on the performance and effectiveness of LB algorithms is widespread.e. we study load balancing of sessions on a farm of terminal servers. the algorithms are mainly based on the load of each terminal server and the number of active sessions running on them.Load balancing makes multiple servers appear as a single server by transparently distributing user requests among the servers. all activities (e. relatively little is known about the efficiency of these session-level LB algorithms. and thus creates scalability. a wide variety of commercial session-level LB products have been brought to the market (see. These observations have raised the need for studying and optimizing the effectiveness of session-level LB algorithms. where each individual request of a client may be directed to a different server. and compare their efficiency with existing algorithms. The improvement in application availability occurs when LB automatically redistributes end-user service requests to other servers within a server farm when a server fails. i. Hence. despite the large number of available products.g. 3 . We show that our algorithm outperforms the existing ones through extensive validation in an experimental setting. 2 . e. In secure environments where confidentiality of data and integrity of the network is of high importance. Therefore. since. This creates additional complexity for LB algorithms. Motivated by this.g. Since the load balancer has little information on future requests to arrive. Therefore. We refer to [11] for an excellent overview of the available LB techniques applied in different application areas.. opening files) by a client induce load on the terminal server on which the session is assigned to. easy-to-implement yet effective means to improve the efficiency of large server clusters. we provide a simple. all subsequent service requests generated in this session are directed to this server. it improves security by protecting the server farm against multiple forms of DoS (Denial of Service) attacks. the future requests during an active session are not known. the load balancer needs to assign it to one of the available terminal servers.

The clients send requests during an active session.   . J} as depicted in Figure 1. we conclude the paper in Section 6. The time between two successive requests has a general distribution. and terminate sessions after an active period of T1 time units. which has a general distribution. Finally. We distinguish K different types of requests that are generated by the clients. . As soon as a client requests a new session. The paper is organized as follows. which are directed to the terminal server on which the session is active. d d ‚ d T SJ CLI   Figure 1: Configuration of the system under study. representing whether the client has an active session or not. . d d d   d ‚ d LB   E d      d       d      T S1   . The LB algorithms used by the load balancer are treated in Section 3. TE 0 m m 0' 1 T1 CLi . . E T Sj . which is a well-known model for capturing the long-range dependence in traffic models. In Section 2 we present our model for the behaviour of the clients and the terminal servers. .CL1 d . This process resembles the on-off process. This process models clients in the system that start a session after a period of T0 time units have elapsed. The terminal servers serve each job according to a discipline where each of the active jobs receive a fraction of the processor capacity. . . . and a set of terminal servers {T Sj | j = 1. . The time a client stays in state s is modeled by the random variable Ts which has a general distribution. a load balancer (LB). The processor time that it takes to complete a job of type k is a function fk of Xk . These algorithms are validated in Section 4 in an experimental environment. The requests that are generated during a session are jobs that generate workload for the servers. . . Each client CLi can be in a state s ∈ {0. the load balancer decides which terminal server to assign the session to. consider a terminal server with N processors and n jobs running on its system simultaneously at that time. To calculate the fraction of processor capacity that each job receives at a particular moment. 2 Model The configuration of the system under study consists of a set of clients {CLi | i = 1. . . Then we determine the fraction of processor capacity according to the following steps: 3 . we use the model to evaluate other LB algorithms for several client and session profiles in Section 5. Next. I}. 1}. . . . The job size is represented by the random variable Xk .

Step 2b If n_assigned = n .. else goto step 3. Step 2a For each job j that needs a fraction of b% < r% . In reality. if at least one assignment has been made in step 2a. switching between tasks is very fast and. done. or the jobs do not consume all processor capacity. i. Either all jobs receive a fraction of the processor capacity that sum up to 100 · N . the processor remains idle for some fraction of time. since the presence of other jobs in the system can slow down the processing rate for a job of type k. Step 1 Each job j receives r := assign/(n − n_assigned)% of the capacity. Therefore.CL1 E E E E type k time t ' type k + 1 E T1 E'T0E' E E T1 E E E CL2 time t E Figure 2: Example of two clients. goto step 1. Step 0 Let assign := 100 · N. and thus. i. Notice that fk (Xk ) is the amount of processor time it takes to complete a job of size Xk . clients perceive the processing times to be different than the actual processor time that the task needs. therefore. Both clients have several sessions over time with several jobs running within each session. this is not the time that a client necessarily perceives due to processor sharing. Hence.e. We define the load as the number of active jobs. However. For illustration. and which does not have a fraction assigned yet. jobs that are waiting for processor capacity as well as jobs that use processor capacity. assign the fraction b and let n_assigned := n_assigned + 1 and assign := assign − b.. Note that the fraction b in Step 2a above depends on the job type. the processor handles only one task at the time. However.e. 4 . The load balancer uses information about the load of each terminal server to assign a session to one of the terminal servers. the use of the processor sharing discipline is well-justified. n_assigned := 0. Figure 2 shows an example with two clients CL1 and CL2 . Step 3 Assign to all remaining jobs a fraction assign/(n − n_assigned)% of the processor capacity. the previous algorithm can lead to two possible outcomes. The big dashed boxes are sessions with session length T1 and an inter-session time of T0 . The little solid and dashed boxes are jobs that require fk (Xk ) processor time. Step 2c Else. we can model the handling of all tasks simultaneously at time scales in the order of seconds with each task having a longer service duration.

that are used by some of the main LB algorithms. Step 2 Add the server with index equal to arg maxj vj to the scheme and lower vj with 1. Similarly. and n(r) the number of active jobs at the r-th update moment.1 Main LB algorithms • RR – Round Robin is a simple. 5 . It assigns a new session to server T S(j +1) mod J if the previous session was assigned to server T Sj . The first scheme is described below and is implemented in LVS (Linux Virtual Server) [2]: LVS Scheme Step 0 Set vj = wj . 3 Algorithms In this section. Note that the model has the flexibility to handle multiple client classes as well by changing the probability distribution of T0 and T1 . 3. cj for the number of active sessions on terminal server T Sj . so-called weights. with m equal to 1 . 5 . Repeat step 2 until all vj = 0. Our objective is to minimize a performance measure that takes into account the differences in load between any of the available terminal servers. We distinguish between two schemes in assigning new sessions. which is calculated as follows [10]: load(r) = load(r − 1) · e− 60m 5 + n(r) · (1 − e − 60m 5 ). well-known algorithm that does not use the state of the system and is often used when no state information is available.The load is calculated every 5 seconds by the system. • WRR – Weighted Round Robin is a variant on RR that uses weights to create a scheme for assigning sessions to terminal servers. Step 1 Divide all vj by the GCD. while the last part considers four methods to do periodic updates of the. and determine the GCD (greatest common divisor) of the weights vj . we present load balancing algorithms that are evaluated in our experiments. Minimizing this difference means better load balancing. and thus effectively creating clients with different session profiles. we will use T Sj for the j-th terminal server. The first part of this section is devoted to seven main LB algorithms. Therefore. and lj for the load of terminal server T Sj at the moment a session needs to be assigned to a terminal server. we consider the average of the absolute differences in the 1-LA between any of the terminal servers as our performance measure throughout the paper. wj for the weight of terminal server T Sj . We denote the r-th update of the load by load(r). or 15 for the calculation of the m-minute load average (denoted by m-LA). as is generally known. while better load balancing implies a better overall response time. the request profiles can be changed by making the request parameters client dependent. In the sequel.

2 Step 1 Order the M numbers 1 · φ−1 mod 1. . . • WRST – Weighted Remaining Session Time balancing tries to infer the future load by looking at the total expected remaining session time and compares this to the actual load. wj w1 w2 wJ • LBA – Load Based Assignment is similar to LC. .. but also an inference of the load in future. . it could be better to assign a new client to a heavier-loaded terminal server in case this terminal server handles active sessions that will be closed in short times. lJ }. This sequence prescribes that the i-th session is assigned to terminal server T Sf (i) with f (i) = αi mod P . and so on. which can be described as follows: Golden Ratio Scheme √ Step 0 Let M = j wj and φ−1 = 1 ( 5 − 1). . . Step 2 Let the k-th smallest number correspond with the k-th position in the scheme. an algorithm like WRST has not been mentioned in the literature yet. α2 . (w1 + w2 ) · φ−1 mod 1 to the second terminal server. greedy algorithm in the sense that it assigns a new session to the terminal server with the least number of connections at that time instance. The algorithm does not only take the current load into account. .. 2 · φ−1 mod 1 . . since it assigns to the terminal server with the least load instead of the server with the least number of connections. Step 3 Assign 1 · φ−1 mod 1 . . .. ... . To our knowledge. . it assigns a new session to terminal server T Sj for which lj = min{l1 . • LC – Least Connection is a well-known. Therefore. . . αP ). . . say (α1 . wj · φ−1 mod 1 to the first terminal server. = min . c2 .. This number can be determined as follows: E(RSTj ) = s∈Sj E(RSTs | current session duration of s = t − 6 start time of s). Let E(RSTj ) be the total expected remaining session time of sessions on terminal server T Sj . . l2 . it assigns a new session to server T Sj for which cj = min{c1 . Both the LVS and the Golden Ratio scheme yield as output a periodic sequence. Thus. but uses weights for the assignment of new sessions. . based on the weights as input. • WLC – Weighted Least Connection is similar to LC. . M · φ−1 mod 1 from smallest to largest. 2 · φ−1 mod 1. Thus. It assigns a new session to server T Sj for which cj c1 c2 cJ . . cJ }. . The precise description of the algorithm is as follows.The second scheme is the Golden Ratio method [9].. (w1 + 1) · φ−1 mod 1 . .

and AL. Thus. . LP2. under the LVS scheme. by wj (τ ) and cj (τ ) we denote the τ -th update of the weight of terminal server T Sj and the number of sessions on terminal server T Sj at the moment of the τ -th update. LP1. J k=1 wk 3. 7 . . . Finally. J to the descended ordered list of the terminal servers based on the load. However. by computing the residual lifetime. • LP2 – Load Proportional 2 is the same as LP1 with the exception that LP2 divides each wj by the minimum over all weights. The first algorithm updates the weights proportional to the load on the terminal servers. lJ · E(RSTJ )}. . . LP2 alleviates this problem by normalizing the smallest weight to one. there is at least one weight equal to 1 while the proportions are maintained. but additionally uses information on the number of sessions assigned to a terminal server as well. . given the (empirical) probability distribution of the session length. The conditional expectation can be calculated explicitly. It assigns a new session to terminal server T Sj for which lj · E(RSTj ) = min{l1 · E(RST1 ).2 Update algorithms In this subsection we explain how the weights of some of the main LB algorithms can be updated. respectively. We present four update algorithms. • LP1 – Load Proportional 1 updates the weights according to  PJ  k=1 lk lj wj (τ ) = if lj = 0. Hence. • PR – Probability Assignment is similar to RR. . . this could create unbalanced assignments. Moreover. a new session is assigned to terminal server T Sj with probability pj . where pj is given by pj = wj . • LOB – Load Order Based assigns the weights 1. In the sequel. the AL algorithm [1] takes not only the load into account. Moreover. Note that the update intervals for the weights can be potentially different from the update intervals for the load. it uses random assignments instead of deterministic assignments.with Sj the set of all sessions active on T Sj and t the time an assignment has to be made. The LOB algorithm adopts the approach where the least loaded terminal server receives the highest weight. however. if lj = 0. LOB. 2. which could potentially lead to a decrease in the LB performance. the assignment probabilities are determined by weights that can be updated dynamically. N k=0 lk  max 1. we assume deterministic update moments with fixed update intervals.

In these experiments. The last column depicts the relative difference with respect to the experimental environment. 4 Model validation The outcomes of the mathematical model are compared to the experimental results. The clients were simulated by a couple of PCs. such as the probability distributions for the length of a session and for the time in between. e. else wj (τ ) = wj (τ − 1). these results can be found in the first two columns of Table 1.. We conclude that our model describes the performance of a real system very well. Furthermore. The number ALj represents information about the load of terminal server T Sj and the number of new sessions assigned to server T Sj during the last update interval. our performance measure that we focused on was the average of the absolute differences of the 1-LA between both terminal servers. For every update algorithm. We ensured that the processors of the terminal servers were the bottleneck. Let ALj be defined by ALj = 0. we configured an LVS load balancer to assign clients to one of the two available terminal servers. 8 . the combination of the main LB algorithm with an update algorithm is denoted by their names with a dash in between. k=1 if 0 ≤ wj (τ ) ≤ 100 and wj (τ ) − wj (τ − 1) ≥ 2. Consequently.3 · INPUTj . The time in between such requests was specified through a probability distribution. Within an active session. In an experimental environment with two terminal servers. = 0. the clients retrieved HTML pages from a predefined set of possible websites. WRR-LP1 means that the main LB algorithm WRR is used and the weights are updated according to the LP1 method. we round off all the weights to the nearest integer number so that it is useful for determining a scheme. We performed extensive experiments and compared the outcomes of the LB algorithms with a simulation of the model of Section 2.• AL – Aggregated Load considers an aggregated load number ALj and the update of the weights is given by wj (τ ) = wj (τ − 1) + 5 · 3 1 AL − ALj . we can use the model for further experiments for evaluating different LB strategies (see Section 5). The value between brackets is the standard deviation of the same performance measure. For a couple of representative experiments. it turned out that the performance was within the confidence interval obtained via simulation. J J ALk . with AL = max 1.7 · lj + 0. In the considered cases.5.g. We were able to control a variety of parameters. with nj = cj (τ ) − cj (τ − 1) . where INPUTj is given by: INPUTj = 1/J nj PJ k=1 nk if if 0 + J k=1 nk J k=1 nk = 0. the same relative performance was obtained using the mathematical model and the experimental environment. Furthermore.

Most of the time it is best to update the weights frequently. 1.8300 (2. and LOB method. However. unless stated otherwise.2% (20. we show the impact of the size of the update interval on the performance measure and we analyze both the LVS and the Golden Ratio scheme. 1. we mention that the WRR algorithm uses the LVS scheme unless stated otherwise. A simulation run consists of 5 independent runs.6156 (0. the average of the absolute differences in the 1-LA between the terminal servers.0%) Table 1: Performance obtained via simulation and the observed values in an experimental environment. Moreover. which is on average larger than an HTML file.6669) Difference (in %) 2. An HTML request has a file size X1 in bytes that is distributed according to a lognormal(10.000 seconds. 7].7697 . We distinguish between two request types. there is no general rule that can be 9 . For the PR method. LP2.. each client starts a new session approximately 90 minutes after the last session was closed by that client. use 2 terminal servers with each having 2 processors. we update the weights every 150 seconds. since the PR (in this case) and the RR method are stateless LB algorithms. In Table 3 .033 (0. The time in between two HTML (PDF) requests is exponentially distributed with parameter 0. on average.3%) 10. i. 2. 2.e. so.6865) 2.1712) distribution. each having a length of 100. has a file size X2 with a lognormal(11. Hence.8% (12.e. The functions Sk for k = 1.3842) 0. so that PR assigns the sessions uniformly over the terminal servers. The time unit is in the order of seconds.000172.4158) 2. 5 Numerical results In this section we consider different scenarios and focus on the performance measure.0001 · xk . We show that there is a significant difference between the studied LB algorithms. Furthermore. i. Suppose the session length T1 has a lognormal(7.0709 . In the experiments.9825 (1.Algorithm RR WLC-LP1 WRR-AL Simulation 1. we investigated the influence of the update interval.000054). The average usage of the processor is 80% for HTML jobs and 50% for PDF jobs.5540) 0.1%) 6.000 seconds and a warm-up period of 10. Table 2 shows the average absolute difference between the 1-LA numbers. all experiments use the 1-LA as load information. the LB scheme is independent of the actual state of the system. We simulate 100 clients. Note that the lognormal distribution typically occurs in practice [6.6987 (2.3% (65.0404 (1. Three algorithms are performing significantly better than the other two methods. unless mentioned otherwise. 2 are given by Sk (xk ) = 0.1346) Experimental env. the parameters of the distribution in this setting have been obtained from analyzing data from an operational environment.2349) distribution. The initial weights are equal to 1 for the LP1. Finally. namely HTML and PDF requests. we choose all weights equal with no updates.5565 (0. A PDF request. The results could be expected. and is equal to 10 for the AL method.0421 .5169) distribution and that T0 has an exponential distribution with parameter 0.

namely the 1-LA. Using the most updated load information. There is a significant improvement in performance when using the update algorithms together with WRR and PR while the performance of LC cannot be increased by huge steps.16 2.34 3.35 2. Therefore.87 3.89 3. The algorithms that use load information. We see that if the performance was already good.70 2.09 3. By increasing the number of terminal servers and keeping the number of clients constant. There is a simple explanation for this phenomenon.06 3.Algorithm LC WRST LBA PR RR Performance measure 2.02 2.59 3.69 3. applied to determine the optimal update frequency.48 3.90 3. Table 3 shows that a small update interval is quite good.07 3.09 Table 2: Performance of five main LB algorithms.38 2.e.55 3. the performance of all algorithms becomes almost the same.96 3.44 2.11 3.09 3.27 3.43 3.30 2.50 3.42 2. we see that the choice of the algorithm becomes less important.26 3.18 3.34 2.91 4.11 3.89 2.85 Table 3: Performance for different update intervals. Big changes in the load are represented faster in the 1-LA than it would be in the 5-LA or 15-LA.88 3.65 2.09 3. can base their calculations on three load numbers.21 3.95 3. but using a too small interval performs worse.60 3.22 3.44 3.42 3.27 2. a small update interval works well in combination with AL. It is important to see whether the performance of the algorithms is specific to the chosen system parameters.69 2.24 2. Algorithm WRR-LP1 WRR-LP2 WRR-AL WLC-LP1 WLC-LP2 WLC-LOB WLC-AL PR-LP1 PR-LP2 PR-LOB PR-AL Update interval (seconds) 30 150 300 600 3. then the performance remains good in the two new 10 .14 2. i.. but with 200/250 clients and 4 terminal servers. Table 4 before the double lines gives the results.45 2. consider the same system. In particular. gives the best performance relative to the 5-LA and the 15-LA.42 2.97 3.

while type 2 users can only send PDF requests. since in most of the situations it is worse than just RR or LC.31 100 1 5.18 140 10 3.59 1.80 151 11 3.74 119 7 2.59 1.26 144 11 3. We conclude that the LVS method works best in combination with LP1.92 1.91 3. when we compare the performance of PR in combination with LP1 and LP2.93. The 11 .91 172 15 2. the length of a session is uniformly distributed on [300.15 125 7 3. 6 Conclusion In this research.82 112 5 2.68 106 2 2.26 141 12 3.37 146 13 250 clients. Now.33 1.52 100 1 5. 125 105 191 120 100 124 120 480 120 126 167 175 145 145 145 288 Table 4: Performance for different situations. and there are 250 clients. 1.07 135 8 3. 2 TS Diff. LC. We modify the situation in which there are 50 users of type 1 and 50 users of type 2.Algorithm RR LC PR LBA WRST WRR-LP1 WRR-LP2 WRR-AL WLC-LP1 WLC-LP2 WLC-LOB WLC-AL PR-LP1 PR-LP2 PR-LOB PR-AL 100 clients.53 110 4 2.52 109 3 2. while the Golden Ratio method works best in combination with all remaining update algorithms (i.90 155 12 4. All other settings remain the same.58 112 5 2.34 103 2 2.21 2.63 144 10 3.69 163 14 2.32 1.11 137 9 3. 4 TS Diff.25 227 16 2. but now with 150 clients and 2 terminal servers. Ind.45 106 2 2. In the description of the WRR method.06 135 7 3. since this yields better response times. while LC has a value equal to 0. From the last two columns in Table 4 .75 109 4 2. LOB.29 131 8 3.29 210 15 2.66 2.38 2. Table 5 shows the average absolute difference between the 1-LA for both schemes as well as for the PR method. we considered the original system.86 124 8 3. LP2.00 173 15 2.88 114 6 3. We have seen that three algorithms perform very well in general: WRST.02 131 10 3. It is then observed that WRST also performs better than LC. 4 TS Diff. and LBA. our objective was to find easily implementable algorithms to balance the load over the available terminal servers.91 1.27 100 1 2.80 Ind. situations. WRST has an average absolute difference equal to 0. we conclude that PR performs better than LVS or Golden Ratio.35 133 9 3. Rank 4.35 104 3 3.09 180 16 2.61 113 6 2.64 1. Rank 4.50 110 5 2. Ind. we identified two schemes (the LVS and the Golden Ratio Scheme) to assign clients to the terminal servers. However. we may conclude that an update algorithm can be better avoided.56 154 14 2.65 1.37 173 14 2..43 151 12 3.38 105 4 3. Ind. and AL).76 229 16 2.59 6. To test which one of them is better.91 155 13 Diff.87 124 9 3. 1800].e. Type 1 clients can only retrieve HTML pages. consider a totally different situation in which we make the following changes to the original situation: only HTML requests remain.60 159 13 200 clients.77.09 134 11 3.65 117 6 3.52 1.31 1. Rank 5.69 107 3 3.

References [1] http://kb. there is no general rule that states how to choose the size of the update interval.html. 1999.9 5. This is in contrast to the LVS method. [6] V. Load balancing can be done better by using additional information on the terminal servers.76 Table 5: Performance for three different methods.09 WRR-Golden Ratio 6. Bolotin.93 3. it performs equally well and in most cases even better. by using a mechanism to update the weights of WRR periodically. Liu. pages 887–894. [3] http://msdn2. expressed in the load. performance of RR can be improved significantly.08 4.g. static and dynamic algorithms. It outperforms the existing methods.asp. Characterizing data connection and messages by mixtures of lognormal distributions on logarithmic scale. since the performance does not improve in all situations. This can be seen from the performance of our developed algorithm WRST that does use this information.11 5. This scheme yields balanced sequences of server assignments for a given ratio of weights.icmgworld.loadbal. and information on the session lengths turn out to be useful. and D. due to the fact that these algorithms do not take state information into account. 12 . we looked at two possible schemes for server assignments to use in combination with WRR. where it is relatively easy to overload an underloaded server when all new sessions are assigned to the underloaded server. LB algorithms can be divided into two groups.38 3. Furthermore. Furthermore.A.14 4. [5] http://www. [2] http://kb.31 PR 4.linuxvirtualserver.. Information on the usage of a terminal server. [4] http://www. pages 125–134.Algorithm LP1 LP2 LOB AL WRR-LVS 5. Levy. It is better to make a scheme according to the Golden Ratio 3. The performance of static algorithms is poor. Y. e. Telephone circuit holding time 4.A. However. [7] V. The Fundamental Role of Teletraffic in the Evolution of Telecommunications Networks .com/corp/k2/k2. compared to LC. caution must be paid to using update Teletraffic Engineering in a Competitive World .linuxvirtualserver. Moreover.systinet. 1994. Bolotin. we observed that using that 1-LA provides the best load information.

2004. Efficient visit orders for polling systems. Levy. Firewalls and Caches.A. Gunther.J. and J. Performance Evaluation . [9] O. 13 . SpringerVerlag. Boxma. [10] N. Weststrate. Koppaparu. Load Balancing Servers.J. Server Load Balancing. Analyzing Computer Systems Performance using Perl::PDQ. 2003. 2001. 2002. 18:103–123. [11] C. John Wiley & Sons. Bourke. O’Reilly Media. H.[8] T.