• No results found

An Innovate Dynamic Load Balancing Algorithm Based on Task

N/A
N/A
Protected

Academic year: 2021

Share "An Innovate Dynamic Load Balancing Algorithm Based on Task"

Copied!
11
0
0

Loading.... (view fulltext now)

Full text

(1)

An Innovate Dynamic Load Balancing Algorithm Based on Task

Classification

Hong-bin Wang

1,2,a

, Zhi-yi Fang

1, b

, Guan-nan Qu

1,*,c

, Xiao-dan Ren

1,d

1. College of Computer Science and Technology, Jilin University, Changchun 130012, China

2. School of Computer Science and Technology, Changchun University of Science and

Technology, Changchun 130022, China

[email protected]

[email protected]

*,[email protected]

[email protected]

Abstract

In a distributed system, the key factor affecting performance is between many nodes and nodes dynamic task allocation and scheduling, that is dynamic load balancing, so the technology of load balancing has higher value in theory study and practical applications. This paper considers users’ task requests type is difference and according to resource requirements type and real-time extent of demand. The users’ tasks are divided into real-time I/O consuming task queue and CPU consuming task queue; through improved the least connection scheduling algorithm, the paper proposes an innovate dynamic load balancing algorithm based on task classification, this algorithm named BTC(based on task classification). BTC can fully solve the system’s low throughput and efficiently address the node’s resources can not adequately use; this paper proves the availability of algorithm, and through the simulation experiment verify the algorithm’s feasibility; compares with the least connection scheduling algorithm, proves BTC is better than the least connection scheduling algorithm, it can full use of node resources and improve the system’s response time.

Keywords

: Cluster System, Dynamic Load Balancing, Weighted Least Connection Scheduling, Least Connection Scheduling, Task Classification

1. Introduction

In recent years, with the rapid development of the computer hardware and high-performance computer network technology, the people use computers’ way have a great change, the people’s demand on the machine resources whether can make full using becoming more and more high, meanwhile the data transparency and as much as possible more computing power requirements are also gradually increasing, which stimulated people’s interest in distributed computing systems, making the distributed system has been an unprecedented development [1][17].

In a distributed system, a group computer nodes which independent each other, form a whole. It as a unified view display for users, from the user’s point of view, a single system provides service. The system consists of much function independent physical modules and logical modules ensure achieving the tasks dynamic allocation, scattered in every node’s physical and logical modules through computer networks communicate achieves information exchange, together to accomplish the client’s task request [2][8][19]. Server Cluster is a typical distributed system, which includes several nodes [3] [10]. Through LAN makes the multiple server nodes high-speed connection, all nodes collaboration work, as a single. The unified interface provides services for external users, while taking advantage of load balancing technology makes users’ large number of requests business reasonable and balanced distribution to multiple server nodes, the full use of node resources, greatly enhances the system’s load capacity, parallel processing capacity, flexibility, high efficiency and scalability [4][11].

For decades, the distributed system load balancing technology research has made great progress. In a cluster system, according to each node device collected load information distributions the users’ task request for each node in the server pool , if the node has more accurate load information, it has higher load balancing performance. The task allocation and scheduling algorithm for load balancing cluster system has been the research focus, for the load balancing algorithm, researchers have made a number of effective strategies, each strategy has different methods deal with the issues which including load balancing node localization, task allocation and task migration [5][9][16]. However, most existing algorithms have some shortcomings, for example, the weighted least connection scheduling algorithm [6] [13] [14] [18], which is the classical load balancing algorithm, has been widely used. The algorithm used the current server actual task connections estimate the server’s actual load conditions, meanwhile

International Journal of Advancements in Computing Technology(IJACT) Volume4, Number6, April 2012

(2)

according the server’s processing capacity assigned it corresponding value, the value denote the server’s process capacity, then the user’s request was sent to the server which has the minimum weighted number of connections. But there are still inadequacies in the following [7] [12]:

First, the different task types of user requests for the machines’ resource utilization are different, so uses the current task connections to denote each server node’s load conditions is not accurate.

Second, according each server’s software and actual hardware configuration assign a fixed value for each server, the value indicated the server processing power, the system administrator relies his experience set the value, it could not accurately reflect the server nodes’ really processing capability, and can not modify the value with server’s process capabilities dynamically change in the process of scheduling.

For these two issues, there is no better way to resolve, in order to solve these problems and improve the distributed systems’ processing capacity, this paper studies the distributed systems’ static and dynamic load balancing strategies, and analyzes the weighted least connection scheduling algorithm, trying to analyze different task types of user requests of the load on different machines to improve the weighted least connection algorithm, and makes the new algorithm apply to the cluster system’s load distribution.

The rest of this paper is organized as follows. Section 2 presents an innovation dynamic load balancing algorithm based on task classification. Section 3 proof decrypts the dynamic load balancing algorithm based on task classification. Section 4 presents the system implementation and experimental evaluations. Section 5 concludes the paper.

2. Dynamic load balancing algorithm based on task classification

In distributed parallel computing, the dynamic load balancing scheduling is based on the current load status of the system to adjust the tasks partition. The task scheduling in parallel computing is still the key issues to be resolved. we do in-depth understanding the dynamic load balancing mechanism. Then we divide the task type according to the user’s task request type,

Different task types of client make different demands on resources. The calculate task main consuming CPU resources, without need for I/O resources and the I/O-based task mainly occupied I/O channels, complete input and output tasks, without need CPU resources to do operation. When a machine have two tasks, one task executes CPU operations sentence and another task simultaneously complete the disk read and write operations, and one task perform the disk read and write operations and another task can perform CPU operation. Therefore, the client tasks are divided into CPU consuming type and I/O consuming type

.

2.1. I/O consuming task and CPU consuming task

For I/O and CPU consuming type task, we according to the procedures’ act define three parameters and use the three parameters to distinguish the task is I/O type or CPU type. The definition as following:

Definition 1 we use the number of Reading and writing instructions for the proportion of the total number of instructions to measure The I/O instructions to total instructions how much of. We define the proportion as P.

Definition 2 we use the I/O instructions accessing frequency to denote how much average number of CPU instructions is mixed up with one I/O instruction. We define the accessing frequency as f.

Definition 3 we set T is the average cycle of I/O instruction occurs. That f is1/ T. T is one of two I/O command with an interval of the average number of CPU instructions.

Definition 4 we set N is the total number of reading and writing commands. 1

Definition 5 we set N is the total number of CPU instructions. 2

In order to focus on the analysis algorithms’ basic performance and makes our analysis easier, we make the following assumptions:

Basic assumption 1: Because each CPU type instruction execution time roughly same, it can be defined as a constant time, we set each CPU type instruction execution time isC . 1

Basic assumption 2: because each I/O type instruction execution time roughly same, it can also be defined as the constant time, we set executing each reading / writing instructions for the required time isC . 2

(3)

Basic assumption 3: there is a program has N reading and writing instruction, 1 N CPU 2

instructions, execute reading and writing instruction total time equal the total time of executing CPU type instruction.From the basic assumption 3, we can deduce the following:

1 2 2 1

CNCN ,

N1N2

/N1

C1C2

/C2. , PN1/

N1N2

C2/

C1C2

.

Which P is the proportion of read and write commands of the total commands, if a program’ value of P is greater thanC2/

C1C2

. The program used to read and write operations’ total time is greater

than the total time for the CPU computing, this program is I/O consumption type tasks. If the value of P is less thanC2/

C1C2

, then the program for the CPU computing time than the I/O time, this

process is CPU consuming type task. After the above analysis, we have the following definition: Definition 6 A program’s total number of reading and writing instruction is C , the CPU computing 1

instruction is C , the total number of instructions for the program to read and write the proportion of 2

command, if PC2/

C1C2

, then the program is I/O consuming type task.

Definition 7 The total of a program’s reading and writing commands is C , CPU computing 1

instructions have C , 2 P is the total number of instructions for the program to read and write the

proportion of command, if PC2/

C1C2

, then the process is CPU consuming task. 1

CC are constants, we assume2 C1C2  , then1 P1/ 2, so long as the value of P is greater than 1/ 2 . We believe the task is I/O consuming type task, if Pis less than 1/ 2 , it is CPU consuming type task.

2.2. Task queue’s internal prioritization partition

We set up a priority queue for I/O consuming type task and CPU consuming type task, according to the parameters of each I/O consuming type task and CPU consuming type task to determine the priority of each task, and then follow the priority from high to low the order of the task into the queue. For I/O type tasks, we put the tasks’ I/O wait time descending order. We choose the length of I/O instruction number and frequency to measure the I/O wait time parameter, according to the program analysis, the total number of I/O command is the key factors for measuring the I/O consuming task size. The frequency is a secondary condition. For example: There are two procedures, as shown in Figure 1. We setP , 1 P is the procedures 1 and 2 I/O ratio respectively,2 T ,1 T is for the program 1 and 2 I/O cycle 2

respectively, f1、 f for the program 1, 2 frequencies respectively. 2

Figure 1. With the same frequency I/O consuming task

Figure 2. With varying frequency of I/O consuming task

(4)

In figure 1, comparison procedure 1, 2, analysis as follows:

1 2 / 3 1/ 2

P   ;P2 2 / 3 1/ 2 , so the two programs are I/O consuming type task. For program 1 and 2, T1 

5 5 / 2

 ,5 T2   

5 5 5 5 / 4

5 , obviously f1f2 1/T11/T20.2 . The program one has 20 I/O instructions; the program two has 40 I/O instructions. Obviously, the program 2's I/O wait time is longer, that is occupied by I/O resources of a long time. So when two tasks have equal frequency, the number of I/O instructions is the decisive factor, the more number of instructions has a higher priority task. Therefore, the comparison procedure 1, 2, we come to a conclusion:

Conclusion 1: When the two I/O consuming type task with equal frequency, the number of I/O instructions is the decisive factor. The task which has high priority has large number of instructions.

The two I/O consumption type task has different frequency, the number of I/O instructions is still a decisive factor. For example: There are two procedures, as shown in Figure 2. We set P1P is 2

procedures 1 and 2 I/O proportion respectively. T ,1 T2 is procedures 1 and 2 I/O cycles respectively, f1

2

f is procedures 1, 2 frequencies respectively.

In figure 2, comparison procedure 1, 2, analysis as follows:

1 2 / 3 1/ 2

P   , P2 2 / 3 1/ 2 , so the two procedures are I/O consuming type task. For procedure 1, 2,T1   

5 5 5 5 / 4

5,T2

10 5 / 2

7.5, f11/T10.2, f2 1/T2 0.13. The procedure 1 has 40 I/O instructions; the procedure 2 has 30 I/O instructions. Obviously, the procedure 1 has more I/O instructions, waiting for a long time, which is occupied by I/O resources of a long time, so when two tasks’ frequency is not equal; the number of I/O instructions is still the decisive factor, the more number of instructions is a higher priority task.

Therefore, the comparison procedure 1and 2, we have come to the second conclusion:

Conclusion 2: When the two I/O consuming type task has different frequency, the number of I/O that is still the decisive factor, the task has large number of instructions that has high priority.

When the two I/O consuming type tasks with the same I/O instruction, the frequency is the key factor that as a measure of the two tasks’ priority. For example: There are two procedures, as shown in Figure 3. We set P1P is the procedures 1 and 2 I/O ratio respectively, for the program 1 and 2 I/O 2

cycles respectively, f1f for the procedures 1, and 2 frequencies respectively, 2 N1N for the 2

number of procedures 1 and 2 I/O instruction respectively.

Figure 3. With the same number of I/O instructions of I/O consuming task

In figure 3, comparison procedure 1, 2, analysis as follows:

1 4 / 7 1/ 2

P   ,P2 2 / 3 1/ 2 , so the two procedures are I/O consuming type task. The procedure 1 has 20 I/O instructions; the procedure 2 has 20 I/O instructions. For the procedure 1, 2,

(5)

1 5 5 5 / 3 5

T     ,T2 10 /1 10 ,f11/T10.2, f2 1/T2 0.1, so when the two tasks have the same number of I/O instructions, the frequency is the decisive factor for the task priority level. The smaller frequency procedures do not need frequent switch between the CPU and I/O instruction. The most of the time performing I/O operation, and the larger frequency procedures are often switch between the I/O and CPU instruction, exclusive I/O device short time, it can give other I/O consuming type task chance occupy I/O resources, thereby increasing the I/O device resource utilization ratio. Therefore, we have come to the third conclude after compared the procedure 1, 2.

Conclusion 3: When the two I/O consuming type task with the same number of I/O instructions, the smaller frequency has the higher priority task.

After the above analysis, I/O consuming type task queue in determining the priority should be compare the number of I/O instructions, the greater the number of instructions, the higher the priority. When the I/O with the same number of instructions; compare the frequency. The frequency is smaller, the priority is higher. Through comparative analysis, the I/O consuming type task queue is based on the final task of I/O wait time arranged in a descending queue. Based on the above three conclusions, we can get conclusion 4:

Conclusion 4: Comparing two I/O consuming task priorities should be comparing the two task’s number of I/O instructions, the more instructions tasks with higher priority. When two tasks have the same number of instructions, the need to compare the frequency of the two tasks, the less frequent tasks with high priority.

CPU consuming type task queue in the priority criteria is just the I/O consuming type task standards of the opposite. The number of I/O instructions is less, the corresponding number of CPU instructions is more; consume fewer disks, and consume more CPU resources. So when the two CPU consuming type task compares the priority, we should compare the number of I/O instructions first, the number of the I/O instructions is more, the priority is lower. When the I/O has the same number of instructions, we compare the frequency. The frequency is greater, the priority is higher. The CPU task queue’s order is based on the final task of I/O wait time from small to big, which is arranged in descending CPU utilization ratio of a queue.

2.3. Real-time task urgency analysis

A real-time task more stringent on time, the urgency is the significance of dealing with task, or the strength of real-time requirements of dealing with task. In a task queue, not all tasks have the same urgency, but according to the analysis of the condition of specific tasks to set the urgency. The time limit is a task processing time constraint; a task processing should be completed within the time limit in order to meet the needs of users. Urgency and time limit are not necessarily linked, a task with a shorter processing time, it does not has a higher urgency; the task has the same time limit handling, it also has different urgency. We assume that the urgency of real-time task and time limit are known, and the task of handling a variety of factors to be considered, we can calculate the real-time type of task priority. For the task of R define the following parameters:

 

i

P R is the task processing R ‘s comprehensive parameter; i

T

u is the task processing Ri’s urgency;

T

d is the task processing Ri‘s time limit;

si

t is the Ri’s start time;

ti

CPU is the R consuming CPU time; i

ti

IO is the R consuming I/O time; i

ti

M is the longest time of allowing to wait before R arrives the time limit;i t is the current time;

K

V is the coefficient;

 

i

CP R ‘s computational formula as following:

 

i T

1

s

2 Ti 3 ti 4 ti 5 ti

(6)

Thus, a higher-priority real-time based task can be obtained services by urgency computing and shorten the wait time for users.

3. Algorithm effective proof

The I/O consuming type tasks are assigned by the average waiting time descending on the machine. Each machine’s I/O wait time is roughly same, at this time the machine load balancing. The CPU consuming type tasks are assigned by CPU utilization ratio descending on the machine. Each machine's CPU utilization ratio is roughly same, then the machine load balancing. As a machine’s CPU consuming type tasks and I/O consuming type tasks can execute concurrently, without disturbing each other, so the CPU consuming type task and the I/O consuming type task interspersed assigned to the machine also can ensure the load is balancing, the proof as following. Proof:

We assume that there are N tasks, such as: T T1, 2,...,Tn

, and M machines, such as: C C1, 2,...,Cm, assuming that N tasks have I tasks are I/O type, the N-I tasks are CPU type.

The I tasks order according to I/O wait time descending order,t1

T T1, 2,...,Ti

. The N-I tasks order by CPU occupancy ratio descending order, t2

Ti1,Ti2,...,Tn

. The C C1, 2...C order by the CPU occupancy ratio from small to big, mt3

C C1, 2,...,Cm

. The C C1, 2...Cm order by the I/O wait time from small to big, t4

C C1, 2,...,Cm

. WhenNM :

The I I/O consuming type tasks were assigned to the t4

C C1, 2,...,Cm

previous I machines. The N-I CPU consuming type tasks were assigned to the t3

C C1, 2,...,Cm

previous N-I machines. At this time, each machine has at least one task, and each machine’s I/O wait time roughly same, the CPU occupancy ratio is roughly same, namely to achieve load balancing state.

WhenNM :

① At I<M, the I I/O consuming type tasks were assigned to the t4

C C1, 2,...,Cm

previous I machine, the N-I CPU consuming type tasks were assigned to the t3

C C1, 2,...,Cm

previous M-I machines.

At this time, each machine has at least one task, and each machine’s I/O wait time roughly same, the CPU occupancy ratio is roughly same, namely to achieve load balancing state. For the remaining N-M CPU type tasks, to update M machine's CPU utilization ratio and the I/O average wait time, according to the algorithm re-queue as follows:

The C C1, 2,...,C orders by the CPU occupancy ratio from small to big, mt5

C C1, 2,...,Cm

. The C C1, 2,...,Cmorders by the I/O wait time from small to big, t6

C C1, 2,...,Cm

.

The remaining N-M CPU consuming type tasks were assigned to the t5

C C1, 2,...,Cm

previous N-M machines.

② At I M , the previous M of t1

T T1, 2,...,Ti

I/O consuming type tasks were assigned to the

4 1, 2,...,

t C C Cm

 previous M machines. At this time, each machine has added a task, and each machine’s I/O wait time on average roughly same, the CPU occupancy ratio is roughly the same, the overall reached load balancing state. Update M machine's CPU utilization ratio and the I/O wait time on average, according to re-queue algorithm is as follows:

The C C1, 2,...,Cm order by CPU occupancy ratio from small to big, t5

C C1, 2,...,Cm

. The C C1, 2,...,Cm order by the I/O wait time from small to big, t6

C C1, 2,...,Cm

.

The remaining I-M I/O consuming type tasks were assigned to the t6

C C1, 2,...,Cm

previous

IM machines. At this time, all I/O consuming type tasks get a response. The entire system is load balancing state.

If IM much larger than M , the I mod M is T, remainder is V; T denotes the number of cycles that cycle assumes the I/O consuming type task’s times, V denotes the last remaining task number.

(7)

Because every time the M I/O consuming type task assigned to M machines, the machine's I/O wait time is balancing, update the machine's I/O average wait time after re-allocation of tasks, it is still balancing, so the last remaining V tasks assigned to V machines also can ensure the entire system load balancing.

There are I CPU consuming type tasks and N-I I/O consuming type tasks. The algorithm can ensure the entire system load balancing.

4. Experiment

We use simulation experiment to verify BTC’s availability and feasibility, and then analysis the algorithm’s efficiency. Using the master/slave mode; the entire cluster system has a master node, a number of server nodes. We divided the server node resources into two categories; six homogeneous nodes configured the cluster 1and seven heterogeneous nodes constitute a cluster 2. Through simulation experiments show that the algorithm in two types of cluster performance.

The master node in the compiler first analyzes the user's connection request, then according to the characteristics of the task to provide P, f, N1, N2 four parameters, load-balancing algorithm based on these parameters to distinguish the task type, then the allocation of tasks. The master node receive each server node send back the machines’ real-time status, the task is executed from the node and update their own machine resources occupancy ratio, the state sent to the master node, the process shown in Figure 4.

Figure 4. The main control node runs process

4.1. Homogeneous cluster experiment results

We assume that the client has 30 tasks requests, we use the least connection scheduling algorithm (LCS), and each node should be allocated 5 tasks. Through the experiment, we run 30 tasks; each server node’s CPU utilization ratio is shown in Figure 5. Run BTC algorithm, the 30 tasks CUP occupancy ratios and I/O wait time show in Table 1, Table 2 and Table 3, each task node machine label as shown in Table 4. In order to facilitate compare the two load-balancing algorithms’ results, we use Figure 6 showing the new algorithm‘s running results, each server node’s CPU utilization ratio in cluster system.

Table 1. The task’s CPU occupancy ratio and I/O wait time

Task number 1 2 3 4 5 6 7 8 9 10

CPU occupancy

ratio(%) 120 200 55 140 155 10 30 150 25 260 I/O wait time

(8)

Table 2. The task’s CPU occupancy ratio and I/O wait time

Task number 11 12 13 14 15 16 17 18 19 20

CPU occupancy

ratio(%) 145 20 40 60 155 50 328 10 40 90

I/O wait time (ms) 200 450 100 400 100 800 1000 350 1300 550

Table 3. The task’s CPU occupancy ratio and I/O wait time

Task number 21 22 23 24 25 26 27 28 29 30

CPU occupancy

ratio(%) 235 180 172 45 20 100 30 220 100 15 I/O wait time (ms) 800 200 100 200 200 1200 1500 200 600 350

Table 4. Each task node machine label in the homogeneous cluster

Server node 1 2 3 4 5 6 Task label 1 7 11 18 19 28 2 12 16 22 27 3 10 24 25 26 4 9 15 20 23 5 13 17 30 6 8 14 21 29

Figure 5. Homogeneous cluster server node’s CPU utilization ratio comparison chart.

Compare the data in Figure 5, we can find in the least connection scheduling algorithm cluster, each node has five tasks, each node CPU utilization ratio difference relatively poor. Contrast the least connection scheduling algorithm, the new algorithm makes the whole cluster system efficiency has been improved, and a more balanced provision of services.

(9)

Figure 6. Homogeneous cluster server node’s I/O waits time comparison chart.

Compare the data in Figure 6, we can find in the cluster of the least connection scheduling algorithm, each node I/O wait time difference relatively poor., this paper proposed algorithm has greatly improved on the CPU, I/O resource utilization ratio. With the amount of the task increases, the system can provide more efficient services.

The experiment results show that, in the homogeneous cluster, the innovation dynamic load balancing algorithm based on task classification has more efficiency and stronger applicability.

4.2. Heterogeneous clusters experiment results

We assume that the client has 30 tasks request. The 30 tasks are listed in Table 1, Table 2 and Table 3. The weighted least-connection scheduling algorithm is still used to connect the machine to measure the number of the current load conditions. The CPU utilization ratio is shown as Figure 7.

Figure 7. Heterogeneous cluster server node’s CPU utilization ratio comparison chart.

Comparing weighted least connection algorithm, the BTC makes the whole cluster system’s efficiency has been greatly improved, and the cluster system more balanced provision of services. With the task size increases, the new algorithm can provide higher efficiency than the weighted least connections algorithm. The comparison of I/O wait time is shown in Figure 8.

(10)

Figure 8. Heterogeneous cluster server node’s CPU utilization ratio comparison chart.

Comparing the data in Figure 8, we can find in the cluster of the weighted least connection scheduling algorithm, each node I/O wait time difference between the relatively poor, Using the new algorithm, each node I/O wait time roughly the same, that is, each node has the same load conditions; it can take advantage of I / O resources.

The experiment results show that in heterogeneous clusters the new algorithm has more efficient than the weighted least connections algorithm. The new algorithm can better take advantage of each node's CPU and I/O resources; the system's overall performance is great increase.

5. Conclusion

Load balancing technology’s core is the task scheduling, multiple task requests more evenly distributed to different processing nodes for parallel processing, to provide solutions to a large number of concurrent users to access services, to achieve parallel processing, so that each effective node has the maximum utilization ratio, thereby enhancing the system’s throughput capacity to ensure the overall system efficiency.

This paper analyzed the least load balancing algorithm and weighted least-connection scheduling algorithm existence shortage, and proposed an innovation dynamic load balancing algorithm based on task classification. Based on the actual network conditions to make some reasonable assumptions, we gave the algorithm description and proved the validity of the theory, then through simulation experiments demonstrate the algorithm’s feasibility. The experimental data compared with the least weighted connection scheduling algorithm and the least connection scheduling algorithm, the new algorithm made full using of machine resources. Through the long run, it made the whole pool node cluster server on a more balanced tasks distribution.

Although the proposed an innovation dynamic load balancing algorithm based on task classification full using of machine resources, reduced users’ wait time, truly balanced tasks distribution for the server node, but each task allocation needs to re-gather a pool of each node of the server machine state parameters. In the practical application, the algorithm increased the communication overhead. It follow-up study to reduce the algorithm’s communication overhead, and made the new algorithm can adapt to the real system environment.

6. References

[1] AM. Colajanni, P.S. Yu, and D.M. Dias, “Analysis of task assignment policies in scalable distributed web-server systems”, IEEE Trans. Parallel Distrib. Syst., vol.9, no.6, pp.585-600, 1998. [2] Andrew S Tanenbaum, Distributed operating system, [M]. Prentiee-Hall Ine, 1995.

[3] T.Schroeder, S.Goddard and B.Ramamurthy, “Scalable Web Server Clustering Technologies”, IEEE Network, pp.38-45, May/June 2000.

[4] V.Cardellini, M.Colajanni and P.S.Yu, “Dynamic Load Balancing on Web-Server Systems”, IEEE Internet Computing, pp.28-39, May-June, 1999.

(11)

[5] YM Teo and R Ayani, “Comparison of Load Balancing Strategies on Cluster-based Web Servers”, Transactions of the Society for Modeling and Simulation, 2001.

[6] Yongjun Luo,Xiaole Li,Ruxiang Sun, “Load Balancing Algorithms overview”, SCI-TECH INFORMATION DEVELOPMENT AND ECONOMY, vol.18, no.23, pp.134-135, 2008.

[7] Rilling L, Sivasubramanina S, Pierre G, “High availability and scalability support for web applications”, Proceedings of 2007 International Symposium on Applications and the Internet. Ottawa : NRC Research Press, pp.1525-1533, 2007.

[8] Keith W.Ross,David D.Yao, “Optimal load balancing and scheduling in a distributed computer system”, Journal of the ACM,vol.38, no.03, pp.676-690, July 1991.

[9] H.Bryhni, E.Klovning and O.Kure, “A Comparison of Load Balancing Techniques for Scalable Web Servers”, IEEE Network, pp.58-63, July/August 2000.

[10] T. Chen, “Load Balancing Strategies on Cluster-based Web Servers”, Project Report, Department of Computing Science, National University of Singapore, http://www.comp.nus.edu.sg/ teoym/ref7.pdf, 2000.

[11] A.Iyengar, A.MacNair and E.Nguyen, “An Analysis of Web Server Performance”, IEEE GLOBECOM, vol.3, pp.1943-1947, 1997.

[12] R.J.Schemers, “A load Balancing Name Server in Perl”, In Proc. Of the 9th Systems Administration Conference, 1995.

[13] W.Zhang, “Linux Server Clusters for Scalable Network Services”, Free Software Symposium, China, 2002.

[14] W. Zhang and W. Zhang, Linux Virtual Server Clusters, Linux Magazine, November 2003. [15] M. Colajanni, P. Yu and M. D. Dias, “Analysis of task assignment policies in scalable distributed

Web-server systems”, IEEE Trans. on Parallel Distributed Systems, June 1998.

[16] Xin Ye, Xinghua Bing, Liming Zhu, “A Deadlock Detection Method for Inter-organizational Business Process Based on Role Network Model”, AISS, vol.3, no.10, pp.486-496, 2011.

[17] Hamid Turab Mirza, Ling Chen, Gencai Chen, “Practicablility of Dataspace System”, JDCTA, vol.4, no.3, pp.233-243, 2010.

[18] Hongbin Wang, Zhiyi Fang, Guannan Qu,Xi Zhang, Yunchun Zhang, “A Novel Weight Distribution Scheduling Algorithm”, Journal of Information & Computational Science, vol.8, no.8, pp.1235-1243, 2011.

[19] Hongbin Wang, Zhiyi Fang, Shuang Cui, “Dynamic Adaptive Feedback of Load Balancing Strategy”, vol.8, no.10, pp.1901-1908, 2011.

References

Related documents

ORTHOPAEDIC SURGERY FOR THE LOWER LIMBS IN CHILDREN WITH CEREBRAL

In the more general case we present here, when the population rises, the number of varieties rises, which increases the elasticity of demand and drops the price, so output must

In manual mode when a remote client, for example RobotStudio or a PC SDK application, requests mastership a dialog box will appear on the FlexPendant.. It enables the operator to

Analysis: Practice Establishment in Imbrication Processes To reach out to a greater public of possible job candidates and overcome a problem that both organizations have, the

In one part general bio data of students was noted while on the other part outcome variables such as socioeconomic status, parents’ education and their assistance in students’

These stoichiometric changes were associated with unique environmental factors among ecosystems as tribu- tary stoichiometry was related to terrestrial land use and land cover,

Den har også ført med seg en politisk tanke om at barnehagen skal være økonomisk lønnsom for samfunnet, hvor en mer formell læring innenfor barnehagen skal kunne bidra til