Paper Menu >>
Journal Menu >>
Int. J. Communications, Network and System Sciences, 2010, 3, 645-654 doi:10.4236/ijcns.2010.38087 Published Online August 2010 (http://www. SciRP.org/journal/ijcns) Copyright © 2010 SciRes. IJCNS A Load Balancing Policy for Distributed Web Service Safiriyu Eludiora1, Olatunde Abiona2, Ganiyu Aderounmu1, Ayodeji Oluwatope1, Clement Onime3, Lawrence Kehinde4 1Department of Computer Science and Engineering, Obafemi Awolowo University, Ile-Ife, Nigeria 2Department of Computer Information Systems, Indiana University Northwest, Garry, USA 3Information and Communication Technology Section, Abdus Salam International Centre for Theoretical Physics, Trieste, Italy 4Department of Engineering Technologies, Texas Southern University, Houston, USA E-mail: {sieludiora, aoluwato}@oauife.edu.ng, oabiona@iun.edu, gaderounmu@yahoo.com, onime@ictp.it, kehindelo@tsu.edu Received May 11, 2010; revised June 22, 2010; accepted July 28, 2010 Abstract The proliferation of web services; and users appeal for high scalability, availability and reliability of web servers to provide rapid response and high throughput for the Clients’ requests occurring at anytime. Distrib- uted Web Servers (DWSs) provide an effective solution for improving the quality of web services. This pa- per addresses un-regulated jobs/tasks migration among the servers. Considering distributed web services with several servers running, a lot of bandwidth is wasted due to unnecessary job migration. Having consid- ered bandwidth optimization, it is important to develop a policy that will address the bandwidth consumption while loads/tasks are being transferred among the servers. The goal of this work is to regulate this movement to minimize bandwidth consumption. From literatures, little or no attention was given to this problem, mak- ing it difficult to implement some of these policies/schemes in bandwidth scarce environment. Our policy “Cooperative Adaptive Symmetrical Initiated Dynamic/Diffusion (CASID)” was developed using Java De- velopment Environment (JADE) a middle ware service oriented environment which is agent-based. The software was used to simulate events (jobs distribution) on the servers. With no job transfer allowed when all servers are busy, any over loaded server process jobs internally to completion. We achieved this by having two different agents; static cognitive agents and dynamic cognitive agents. The results were compared with the existing schemes. CASID policy outperforms PLB scheme in terms of response time and system throughput. Keywords: Web Service, Load Balancing, Distributed Web Service, Job Migration, Quality of Web Service 1. Introduction Recently, Web Services are widely used daily by more than six hundred million users over the Internet. The proliferation of web services; and users appeal for high scalability, availability and reliability of web servers to provide rapid response and high throughput for the Cli- ents’ requests occurring at anytime. Distributed Web Ser- vers (DWSs) provide an effective solution for improving the quality of web services. A collection of web servers is used as a pool of replicated resources to provide con- current services to the clients. The incoming requests can be distributed to servers according to specific load dis- tribution strategies and thus the requests are processed quickly. The DWSs can be organized in different ways, they can be integrated into a cluster of web servers linked via Local Area Networks (LANs) to act as a powerful web server, and they can also be deployed at different sites over open network (Internet). The performance of a distributed system is enhanced by distributing the workload among the servers. Norm- ally, load balancing at the server side assists to balance the load in distributed web servers. According to [1] the most excellent mechanism for achieving optimal respo- nse time is to distribute the workload equally among the servers. Traditional load balancing approaches on distri- buted web servers are implemented based on message passing paradigm. Presently, mobile agents’ technology is used to implement load balancing on distributed web 646 S. ELUDIORA ET AL. servers [2]. A mobile agent is defined as a software component that can move freely from one host to another on a net- work, transport its state and code from home host to other host and execute various operations on the site [2]. The mobile agent based approaches have high flexibility, low network traffic and high asynchrony. Load balancing (LB) is an efficient strategy to improve throughput or speed execution of the set of jobs while maintaining high proc- essor utilization. Basically, LB is the allocation of the workload among a set of cooperating servers. The demand for high perfor- mance computing continues to increase every day. LB stra- tegies fall broadly into either one of two classes; static or dynamic. Static load distribution, also known as deterministic scheduling, assigns a given job to a fixed server or node. Every time the system is restarted, the same binding task processor (allocation of a task to the same processor) is used without considering changes that may occur during the system’s lifetime. Moreover, static load distribution may also character- ize the strategy used at runtime; in the sense that it may not result in the same task-processor assignment, but as- signs the newly arrived jobs in a sequential or fixed fash- ion. For example, using a simple static strategy; jobs can be assigned to servers in a round-robin manner, so that each processor executes approximately the same number of tasks. However, dynamic load-balancing takes into ac- count that the system parameters may not be known be- forehand and using a fixed or static scheme will finally produce poor results. A dynamic strategy is executed se- veral times and may reassign a previously scheduled job to a new server based on the current dynamics of the sy- stem environment. The paper is organized as follows, Section 1 introduced the readers to the issue web ser- vices’ challenges in a distributed systems. Section 2 briefly discusses the intelligent agents and its potentials. The related works was discussed in Section 3. The pro- posed work was detailed in Section 4. The software model was explained in Section 5. Theoretical frame- work was discussed in Section 6. Section 7 narrates ex- perimental results and Section 8 draws the conclusion and proposed future work. 2. Intelligent Agents Intelligent agents exhibit the following characteristics: au- tonomy, social ability, reactivity, pro-activeness, mobil- ity, learning, and beliefs. An intelligent agent is an inde- pendent entity capable of performing complex actions and resolving management problems on its own. Unlike code mobility, an intelligent agent does not need to be given task instructions to function, rather just the high- level objectives. The use of intelligent agents completely negate the need for dedicated manager entities, as intel- ligent agents can perform the network management tasks in a distributed and coordinated fashion, via inter agent communications. Many researchers believe intelligent agents are the future of network management, since there are quite some significant advantages in using intelligent agents for network management. 3. Related Works An attempt to distribute workload among available proc- essors to improve throughput or execution times of para- llel computers in cluster computing environments was discussed in [3]. This work proposed an approach called DDLB (Distributed Dynamic Load Balancing) policy, this makes an attempt to balance load by splitting proc- esses into separate jobs and then balance them to nodes. Mobile agent framework was proposed for DDLB policy and was implemented on PMADE. The performance ev- aluation shows that the multi-agent based approach out- performs the message-passing paradigm with large num- ber of clients’ requests in a heterogeneous cluster. DDLB policy can only address issues on local LB th- ere was little provision for global load balancing. There- fore, may not be able to address a very large heteroge- neous distributed environment. They need to compare the performance of the DDLB with some other recent LB policies apart from MPI. Since this is a mobile agent ba- sed approach, it could be compared with some other mo- bile agent based approaches. Various LB policies were reviewed by [4], specifically MPI (message-passing in- terface). Its wide availability and portability makes it an attractive choice. However, the communication require- ments are sometimes inefficient when implementing the primitives provided by MPI. Other works presented a dynamic LB framework cal- led Platform for LB (PLB). It uses MAs to implement reliable and scalable LB on distributed web servers. PLB is implemented on PMADE (A Platform for Mobile Agent Distributed and Execution). The performance evaluation shows that PLB based approach outperforms MPI when large number of servers and client requests are involved. The PLB SSP adopted two strategies: Best-fit and First- fit. The best-fit will create two different speeds; the fa- ster and the slower, this will affect the response time of the servers. The first-fit equally has some latency over a period of time. Overall, the two strategies adopted may not perform well when compared to other policies. This policy may not be efficient when compared with our work; we approach the load balancing by considering the heterogeneity of all nodes. We use broadcast approach to determine the node(s) that are available and ready for incoming jobs. Load balancing on WAN is more time consuming [5], Copyright © 2010 SciRes. IJCNS S. ELUDIORA ET AL. 647 since it involves the iteration between remote servers for gathering load information, negotiating on load reloca- tion and transporting the work-load. Also, moving a lar- ge amount of request requires high bandwidth and it is difficult if a node’s load changes quickly in relation to the time needed to move requests. The authors proposed an approach that will address these problems. LDMA (Load Balancing using Decentralized decision-making Mobile Agents) strategy introduced the concept of de- centralized decision making among the web servers in the cluster for processing requests. Also WLDMA (WANLDMA) was introduced, this allow each server to process client requests independent- ly and periodically interacts with others to share the work- load. The performance of load distribution on the three ser- vers using WLDMA is two times better than the scheme without load balancing. The result of this work shows that the WLDMA scheme can improve the system thr- oughput when increasing the number of servers. The use of mobile agents implies high flexibility, low network traffic and high asynchrony. Also, the result shows that no replica remains idle at any time when the other replicas are processing more request of each nodes. It is clear from this work that waiting time of the re- quest will go up leading to increase in response time. This policy use SI (sender initiated) which can lead to poor performance of the network, because of varying value of state load information of other servers if applied to larger distributed and heterogeneous environments. MALD (Mobile Agent based Load Balancing) frame- work that uses mobile agents technology was proposed to implement scalable load balancing on distributed web servers. To achieve this, two load balancing schemes were presented. Cluster of web servers and wide area network (www) web servers. The two schemes used MALD and tested in a well distributed environment. The load bal- ancing scheme on www uses shared LIA (load informa- tion agent) for load information gathering [2]. The MALD framework performs well compared to message-passing paradigm and no load balancing. The system throughput, network traffic is better in LAN; wh- ile in WANs, the LIAs are restricted to domains. Series of simulations were done and the results are better than message passing paradigm. The drawback of this work is that, the waiting time of each task in the queue and within the entire system may be more, because LIA will continue to move from one server to the other until the best server is found. In this approach, the domain name system mentioned did not consider the minimum number of servers that must be in a domain, in essence the policy may not perform well in a system with large number of servers. The scalability and good response time may not be achieved. Our study address this problem by identify the server that is overloaded that needed to share with other server that is under-loaded or idle in the cluster. This is achieved by proposing two agents, mobile and stationary agents. The stationary agents periodically de- termine the status of each server. The work in [6] addresses the escalating complexity and mobility of today’s network. This has led to the in- crease in application of mobile agent paradigm; however load balancing (LB) is one of the important problems of computer heterogeneous network. In that paper the authors introduced a decentralized algorithm for diffusion dynamic LB based on mobile agent paradigm. The architecture of three types of agents was employed to meet the requirements of the proposed diffusion LB algorithm. Packet format was suggested for each agent as a data communication packet. Two perfor- mance metrics were used in the proposed approach, they are: the average response time of the clusters and the variance of the load over the network. The algorithm was tested with the situation where there is NoLB. In addition it minimizes the bandwidth consumption and disruptive nature of wireless communication. This algorithm offers an alternative to client server based solution with appre- ciable bandwidth; it implies that it would be more ap- propriate in a wireless data communication application. The clusters size was not mentioned, nodes threshold was not stipulated and therefore there is no load inhibi- tion, so in large networks it may lead to instability of the system SI (sender-initiated) was used in the research work. In our proposed algorithm we proposed threshold for the RAM and CPU. We set the two at 90% and 80% respectively. Two of the existing static LB policies based on M/M/1 queues were reviewed [7]. This was done to address poor system performance due to loads imbalance. The authors proposed two new dynamic LB policies for multi-user jobs in heterogeneous distributed systems. The two dy- namic policies proposed are: DGOS and DNCOOPC, the two static policies reviewed are GOS and NCOOPC. The result of the simulations shows that static has low com- munication overheads; the dynamic schemes show supe- rior performance over the static policies. But as the overheads increases, the dynamic policy is expected to perform similar to the static policies. According to [8], challenge faced by these cluster- based applications is how to maintain desired real-time performance and service availability in the face of highly unpredictable work-loads in an open environment such as internet. The authors investigate the problem of multi- processor utilization control in large scale real-time clu- sters. The work proposed an effective approach that will dynamically enforce desired utilization bounds on all the processors in a cluster through online admission control. The authors present DUC-LB, a novel Distributed Utili- zation Control algorithm designed for large scale real- time clusters with LB. DUC-LB can provide robust util- ization guarantees to all processors in a real-time cluster Copyright © 2010 SciRes. IJCNS 648 S. ELUDIORA ET AL. through feedback-based admission control. The result sh- ows that DUC-LB is rigorously designed based on recent advance in distributed control theory, stability analysis and simulation results demonstrate that DUC-LB can dynamically enforce desired utilization set points under a range of dynamic workloads. FCU-LB was used as a baseline for performance comparison. In terms of utiliza- tion, DUC-LB performs better. In this study, the major drawbacks are: • the topology • the rejection of tasks • communication cost Challenges introduced by fine-grain services [9] for server workloads can fluctuate rapidly for those network services. Fine-grain services are sensitive to various overhead which is hard to accurately capture in simula- tions. In recognizing this limitation the authors developed a prototype that its implementation is based on a clustering infrastructure and conducted evaluations on a Linux cluster. The study and evaluations identify techniques that are effective for fine-grain services and lead to the following conclusions: • Random polling based load-balancing policies are well suited for fine-grain network services; • A small poll-size provides sufficient information for load balancing, while an exclusively large poll size may even degrade the performance due to polling over- head; • An optimization of discarding slow responding polls can further improve the performance up to 8.3%. The drawback of this policy is stale load information which is sensitive to the fine-grain network services. In the literature, these are done locally, because it is delay sensitive. In their work, authors use poll size that must not be more than two. It implies that it can not support broadcast policy and partly support random policy. Finally, this policy cannot support a largely distributed decentralized network environments. This research work [10] focus on networks connecting the different nodes typically exhibit significant latency in the exchange of information and the actual transfer of loads. The load balancing policy rely on latest informa- tion about the system of nodes, which in turn may result in unnecessary transfer of loads while certain nodes re- main idle as the loads are in transit. The strategy intro- duced by the authors put into account the following three aspects: • the connectivity among the nodes; • the computational power of each node and; • the throughput and bandwidth of the system, the pol- icy was described by defining some parameters. Values of (Ci term) are critical to the stability and effi- ciency of the load balancing policy. The results show that this policy is more scalable. The method used here leads to optimal results, when the Ci/Cj has no delay fac- tor. Transfer delays incurred when tasks are migrated from node to another may be unexpectedly large and result in a negative impact on the overall system per- formance. The traffic may be a little higher in a large heterogeneous distributed environment. The performance may not give optimal result. We take care of this in our work by introducing Job Migration regulatory mecha- nism. In [11], the authors explained that modeling the dy- namic load balancing behavior of a given set of tasks is difficult. They define an approximation problem using “bi-modal” task distribution, which serves as an accurate abstraction of the original task set. This approximation consists of only two task types and can therefore be tackled analytically. This work model the run time of the slowest processor as this will determine the overall run time of the parallel applications. All comparably un- der-loaded nodes will be probed before a suitable node will be located. The results of the experiments using synthetic micro-benchmarks and a parallel mesh genera- tion application, demonstrate that this technique when used in-conjunction with the PREMA runtime toolkit can offer users significant performance improvements over several well known load balancing tools used in practice today. Little overhead is incurred using PREMA, when compared with others. The drawback of this work is the adaptive issue that was not taking care of. In essence, the decision of each node will be relatively poor, therefore the response time of each node will be prolonged and it will affect overall performance. Global load balancing cannot be easily achieved, because stale state informa- tion will be available to several nodes. This work [12], overviewed the homogeneous and heterogeneous clusters. A general station model from a heterogeneous cluster was proposed. The model used considered a station as characterized by the following elements: • Unique ID • Computing power • Availability • Task lists Three network topologies were considered: mesh, trees and hyper-cube. The three configurations prove to be the least efficient. The hypercube seems to have best per- formance. The mesh topology is at the middle in terms of performance. Authors proposed a more intelligent rout- ing technique as a future work. Point of failure could be experienced in tree topology. The success of this policy rely much on network connections and available band- width to really address the load transfer from neighbors to neighbors until it reaches a powerful node among them. It then implies that, the scheme is not conservative at all and it is not scalable in the overall performance. Our proposed work addresses this drawback by intro- ducing cluster-based system that will allow server to join Copyright © 2010 SciRes. IJCNS S. ELUDIORA ET AL. 649 and exist at will. The cluster balances the loads by re- ducing the jobs intake through job migration regulation. This allows good quality of service (QoS) in the network. CASID policy is discussed in the next section. 4. CASID Policy The proposed policy tagged Cooperative Adaptive Sym- metrical Initiated Diffusion (CASID) consists of sender and receiver communicating through a communication networks links. The sender and receiver refer to as serv- ers. They are web servers and database servers as shown in Figure 1. The load threshold of each server describes whether it is sender (overloaded) or receiver (under loaded). The main goal of this policy is to minimize re- sponse time and increase system throughput. CASID implements dynamic policy, where the server can be- come a sender or a receiver at anytime. In essence, the policy gives room for the server to interact and there is inter-communication among the servers. Also, CASID has adaptive properties whereby server can accept or tra- nsfer load to/from other servers. Symmetric-initiated dif- fusion affirmed the relationship among the servers. Dif- fusion can be used to describe dynamism of distributed networks system (DNS). The main problem of any load balancing policy is how to get the right server to estab- lish the job exchange in the distributed networks system. The heterogeneous nature of dynamic policy explains whether a better performance will be achieved. CASID policy proposed a model that attempt to minimize the response time of the entire DNS to the user. The propo- sed policy will increase system throughput when com- pared with the existing policies. In this case, CASID po- licy considered the global load balancing within the DNS a priority. 4.1. Job Migration Regulatory Mechanism Job migration determines the success of any load balan- cing policy, especially in the area of minimizing band- width consumption. Most of the previous works did not lay much emphasis on this bandwidth minimization as a key issue in any distributed networks environment. It is Internet Router user Incoming HTTP Firewall Web servers Data b ase servers Figure 1. Proposed CASID policy architecture. well known fact that bandwidth consumption must be minimized. There must be a control measure on job mi- gration whenever LB is being deployed. As a result, the proposed policy will deal with this issue with more em- phasis on the server status information whenever any initiation wants to be made by servers. In this study, server status information is gathered through the station- ary agents. The stationary agents periodically check the status of the I/O networks, memory and CPU. This is done to have closed to real-time status information of every server. The mobile agents do the job transfer whenever there is need for such transfer. If this is done it will enhance better performance of this LB policy. The essence of this regulatory mechanism is to achieve the following: • reduce bandwidth consumption • achieve local and global load balancing • decrease response time of the users • reduce waiting time of the users • reduce congestion in the system However, the proposed policy will address job migra- tion mechanism. The server determines its load threshold by calculating the load on the queue and in service. The server status information will be broadcasted to other servers. Servers that meet such requirements will signify. The sending and receiving servers will establish commu- nication and job migration can commence as illustrated in Figure 2. In a situation where there is no under-loaded server that meets up with the conditions set by the sender, such task will be processed by the sending server. Only profitable job migration will be allowed in this policy. This is further discussed in Section 5 of this paper. 5. System Model This software model has some modules and each module Figure 2. Job migration using dynamic (mobile) cognitive agents. Copyright © 2010 SciRes. IJCNS S. ELUDIORA ET AL. Copyright © 2010 SciRes. IJCNS 650 describes the operation of ServerAgents. Simple model- ing language was used as illustrated in Figure 3 to mo- del the behavior of the agents on the server. This model will translate to the software that will be developed using JADE. Some of these modules are listed and discussed below. MigrateJobCompleted() This module is used to load migrated and completed jobs unto the ServerAgent (migrater) queue. jobLoader() This module loads new jobs unto the ServerAgent’s queue. jobLoaderFinishedMigrate(jobSerialisable jbL) IDLEServerBehaviour() This module is used to get some statistics on migrate job like completion time, waiting time, migrate time, thr- oughput, transfer rate of job between ServerAgents etc. This module is used by the ServerAgent whenever it enters the IDLE state. This module is actually a sub-class of the ServerAgent class and it is used to interact with BUSY ServerAgents. As a class, this module has its own modules which are action and done. The action module is executed each time the ServerAgent is called on. While done is executed when the ServerAgent’s state is to be changed to IDLE. ServerIsIDLE() This module returns the state of the ServerAgent (i.e. IDLE or BUSY). 5.1. Mobile Agent Modules BUSYServerBehaviour() ServerInteractionBeha viour() This module is used by the ServerAgent whenever it enters the BUSY state. This module is actually a sub-cla- ss of the ServerAgent class and it is used to interact with IDLE ServerAgents. As a class, this module has its own modules which are action and done. The action module is executed each time the ServerAgent is called on. While done module is called when the ServerAgent’s state is to be changed to IDLE. This module is used by the mobileAgent to interact with the IDLE ServerAgent during the mobileAgent’s sojourn at the IDLE ServerAgent’s domain. It is also used in interacting with the BUSY serverAgent. registerDFServices() This module is called when the ServerAgent is acti- vated or instantiated. The module registers this agent with the Directory Facilitator (DF) which records the name, address, location of the agent, its host and the ser- vices the agent renders. This registration makes interac- tion with other agents possible and seamless. registerDFServices() This module is called when the ServerAgent is activ- ated or instantiated. The module registers this agent with the Directory Facilitator (DF) which records the name, address, location of the agent, its host and the services the agent renders. This registration makes interaction with other agents possible and seamless. sendJobToServer(AID ServerAgent, String conID) This module is used by the mobileAgent to transfer jobs to ServerAgents either when the job is finished. Figure 3. Class diagram of the system model. S. ELUDIORA ET AL. Copyright © 2010 SciRes. IJCNS 651 6. Theoretical Framework Having discussed related issues concerning this paper, we need to address the framework in which this paper was based on. We want to compute the network traffic, system throughput, mean response time and system utilization of CASID and compare with PLB. We consider N exponential servers each having a dif- ferent service rate µi with i € (1, N). Each server has its own local queue and the number of jobs in each queue is represented by qi with Poisson distribution stream of strength λ (lamda). However, communication cost is considered to be significant, the arrival stream at each server is λ + δi, where λ is a constant rate at which tasks are initiated at any node (user) and δi is the rate of trans- fer of jobs to server i. The expected delay job i (Di) will experience if sent to the j-th server is (1) / j j Dq j (1) where µi service rate and qi no of jobs in the queue. The selected (destination) sever will normally be the one for which Dj is minimal. We have another equation when communication delay is added to Equation (1). Thus (, ) (1) / j jjcomi Dq t j (2) where µi service rate and qi no of jobs in the queue. tcom(i.j) represent communication delay experienced by jobs when it is being transferred from server i to server j. If the job is processed locally then, tcom(i.i) = 0 in addi- tion, the expected execution time is considered in Equa- tion (3). That is, (, )(1 /) execcom ijj Et t (3) where (1/µj) is the service rate. The throughput of was determined using Equation (4) 1 () /n jj j Tj (4) where n j is the total number of jobs in the j-th queue in- cluding any job in service. For each server j, the ratio µj / (λ + µj) is less than 1. Thus the greater n j is the smaller T(j) will be and the less “recommendable” (exponentially) the server j becomes to be selected as a destination server. 11 j jj nsq j t (5) where qj is the number of jobs in queue and ti is the number of jobs being transferred to server j, that are ex- pected to arrive before the next job initiation in the sys- tem. tj is simply the exact number of jobs being trans- ferred to server j at the instant that the decision is being made. As for sj, it is equal to zero if server j is idle. If server j is busy sj is equal to 1, if the job currently in service at server j is not expected to be completed before the next job initiation i.e if (1/µj) – time(already spent in service) ≥ 1/λ (arrival rate). Otherwise, sj is equal to zero [13]. The load size on each server was determined as 12 3 _ _/ _ Loadsizev CPUloadvЌЂ vfreemem (6) where CPU_load is the workload on the server, measured in the length of jobs in queue; Ќ is the number of active connections on the server; Ђ is the maximum number of connections allowed to the server; free_mem is the per- centage of free memory space; v1 + v2 + v3 = 1 System utilization was determined from Equation (7) 1 busy idle (7) the parameter αbusy is the time averaged of busy servers in the system. A busy server is defined as a server having one job in service and zero or more jobs in queue. Sys- tem utilization involves the percentages of CPU, Mem- ory and I/O being used at a point in time [14]. The network traffic was determined using Equation (8) [] ij R (8) where γij is the average transmission rate from source (server i) to destination (server j). In some cases, we def- ine the requirement matrix as R = ρR’, where R’ is a kn- own basic traffic pattern and ρ is a variable scaling factor usually referred to as traffic level [15]. In general, R or R’ cannot be estimated accurately a priori, because of its dependence upon network parameters (e.g. allocation of resources to computers, demand for resources etc which are difficult to forecast and are subject to changes with time and with network growth. 7. Experimental Results To analyze the proposed load-balancing algorithm, it was implemented on a cluster-based web server. For evalua- tion of CASID algorithm, throughput and average re- sponse time were selected as criteria [16,17]. To give a better evaluation, a network traffic analysis of the algo- rithm was also provided. We implement two of the commonly used load-balan- cing algorithms PLB and NO-LB, we compare the perf- ormance of the proposed algorithm with them. The PLB is a commonly used agent-based algorithm that uses the average CPU threshold to determine whether a server is busy/idle. PLB uses the same update intervals as used in the CASID to collect CPU and memory loads from web server nodes. The following sections describe the implementation 652 S. ELUDIORA ET AL. setups which are used in our experiments and finally the results are analyzed. 7.1. Implementation Setup We implement the experimental test bed with the hard- ware and software configurations as described below. 7.1.1. Hardware Setup The clustered web server consists of four (4) machines configured as follows. Each web server is connected to a dedicated database server node, so four (4) machines are used as database servers. Also, variable numbers of ma- chines were used as client emulators to simulate real us- ers’ interactions with the web site. The web server nodes and corresponding database server nodes are having Pen- tium 4 processors (ranging from 1 GHZ to 2 GHZ) with minimum of 512 MB of DDR RAM. 7.1.2. Software Setup All the machines in the cluster run windows xp 2007 op- erating system; we developed our software using JADE as discussed in the previous section to perform the exp- erimental test. We implement a client-browser emulator to generate load against the cluster. We vary the loads on the cluster by varying the number of concurrent clients. We use to determine which machine become overload and ready to perform job migration. The overloaded ser- ver broadcast its status to other servers in the cluster. Si- nce the developed software are installed and configured on each server. The server that is under-loaded or idle will receive the message and acknowledge the message and the jobs are transferred. Matlab [18] was used to plot the graphs and the data were generated from the results from the simulations 7.2. Implementation Results In the following sections, we demonstrated the results of our experiments with the CASID benchmark (non-stan- dard). We change load intensity, machines and measure the cluster throughput, response time and network traffic for the two load-balancing algorithms PLB and CASID). 7.2.1. Network Traffic Evaluation Figure 4 compares CASID policy network traffic with PLB scheme. CASID policy performs better than the PLB scheme; it reduces congestion in the network, beca- use it introduces job migration regulatory mechanism where loads cannot migrate to other server(s) without acknowledgement from other servers. If no acceptance from other servers, such server will process the tasks till completion. We consider situations where all the servers are idle and busy. The CASID scheme shows that when all the servers are busy the network traffic was low or insignifi- cant. As the number of busy and idle servers increase in PLB scheme the traffic increase accordingly, because of non-implementation of job migration regulatory mechan- ism as in CASID policy. CASID policy allows an overl- oaded server to broadcast its status before it can send jobs to other servers. The receiving server will acknowle- dge before the jobs is being transferred to the receiver (server). PLB scheme will send to under-loaded server ir- respective of volume of jobs at hand and processing cap- ability of that server. We work with maximum of 2 Mbps network within the average of 90 minutes. 7.2.2. Throughput Evaluation System throughput was evaluated and Analyzed in Fig- ure 5, we generate requests through requests emulator, the number of requests/sec range from 0 to 100 and the requests range from 0 to 1200. The two schemes were subjected to the same environments and conditions. The 11.5 22.533.5 4 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.2 Number of Servers Network Traffic(Mbps/10min) CASID PLB Figure 4. Network traffic (average 90 minutes). 0200 400 6008001000 1200 0 10 20 30 40 50 60 70 80 90 100 Number of Requests Requests/sec system throughput CASID PLB Figure 5. System throughput. Copyright © 2010 SciRes. IJCNS S. ELUDIORA ET AL. 653 schemes performance was close. CASID still has better performance, because the servers are able to manage their resources by ignoring load transfer messages. We used Figure 6 to explain the throughput of the sy- stem without load balancing and compare it with our CASID policy. We discover that the job done when serv- ers are many only have little improvement compare with when server is one. The mobile agents assisted our pol- icy couple with our job migration scheme. The CASID perform well than when the system was not load balanc- ing at all. 7.2.3. Mean Response Time Evaluation Response time was evaluated and analyzed in Figures 7-9, these figures analyze the high, medium and low het- erogeneous of the servers used. The inter-arrival of the 11.5 22.5 33.5 4 10 20 30 40 50 60 70 80 Number of Servers Requests/sec without load balancing CASID Approach Figure 6. System throughputs of the CASID policy and the case without load balancing. 0 0.05 0.1 0.15 0.2 0.25 0 5 10 15 int er-ar riv al(1/l am da) CASID PLB NO-LB Figure 7. Mean Response time of a highly heterogeneous system. requests to the system was processed by different server with their processing capabilities. This determined the mean response time of the servers at different time inter- val. Inter-arrival of the requests was plotted against re- sponse time. The CASID, PLB and NO-LB schemes were compared. CASID and PLB have better perform- ance. The CASID has improved performance over PLB, because of its job regulatory mechanism scheme. Dif- ferent machines were used as servers to confirm the ef- fect of heterogeneity of the nodes on the mean response time of the cluster. 8. Conclusions and Future Work This paper addresses un-regulated jobs/tasks migration among the servers. Considering distributed web services 00.02 0.04 0.06 0.080.1 0.12 0 5 10 15 inter-arrival rate (1/lamda) server response time CASID PLB NO-LB Figure 8. Mean Response time of a system with medium heterogeneity. 00.005 0.01 0.015 0.02 0.0250.03 0.0350.04 0 5 10 15 inter-arrival rate ( 1/lamda ) server response time CASID PLB NO-LB Figure 9. Mean response time of a system with low hetero- geneity. Copyright © 2010 SciRes. IJCNS S. ELUDIORA ET AL. Copyright © 2010 SciRes. IJCNS 654 with several servers running, a lot of bandwidth is wa- sted due to unnecessary job migration. It is important to develop a policy that will address the bandwidth con- sumption while loads/tasks are being transferred among the servers. This work attempts to regulate this move- ment to minimize bandwidth consumption. The results of this first phase of the experiment as illustrated in the gra- phs show that our policy performs better. The second experiments that will be carried out in future will consi- der the system utilization, response time and throughput that will be experienced by the job while running the software on LANs and open networks (Internet). 9. References [1] W. Winston, “Optimality of the Shortest Line Discipline,” Journal of Applied Probability, Vol. 14, No. 1, 1977, pp. 181-189. [2] J. Cao, Y. Sun, X. Wang and S. K. Das, “Scalable Load Balancing in Distributed Web Servers Using Mobile Agents,” Journal of Parallel and Distributed Computing, Vol. 63, No. 10, 2003, pp. 996-1005. [3] N. Nehra, R. B. Patel and V. K. Bhat, “A Framework for Distributed Dynamic Load Balancing in Heterogeneous Cluster,” Journal of Computer Science, Vol. 3, No. 1, 2007, pp. 14-24. http://www.scipub.org/fulltext/jcs/jcs31 14-24.pdf [4] R. B. Patel and N. Aggarwal, “Load Balancing on Open Networks: A Mobile Agent Approach,” Journal of Com- puter Science, Vol. 2, No. 4, 2006, pp. 337-346. http:// www.scipub.orga/fulltext/jcs/jcs24337-346.pdf [5] M. Aramudhan and V. R. Uthaiaraj, “LDMA and WLD- MA: Load Balancing Strategies for Distributed LAN and WAN Environments,” International Journal of Computer Science and Network Security, Vol. 6, No. 9B, September 2006. http://www.ijcsns.org/04_journal/200609/200609B 11.pdf [6] M. Saeb and C. Fathy, “Modified Diffusion Dynamic Load Balancing Employing Mobile Agents,” Computer Engi- neering Department, Arab Academy for Science, Techno- logy & Maritime Transport, Alexandria, 2001. http://www. magdysaeb.net/images/wseapaper3.pdf [7] S. Penmatsa and A. T. Chronopoulos, “Dynamic Multi- User Load Balancing in Distributed Systems,” Proceed- ings of IEEE International Parallel and Distributed Proc- essing Symposium, Long Beach, 26-30 March 2007, pp. 122-131. [8] Y. Fu, H. Wang, C. Y. Lu and S. Ramu, “Distributed Uti- lization Control for Real-Time Clusters with Load Bal- ancing,” Proceedings of the 27th IEEE International Real- Time Systems Symposium, Rio de Janeiro, 5-8 December 2006, pp. 137-146. [9] L. Chu, K. Shen and T. Yang, “Cluster Load Balancing for Fine-Grain Network Services,” Technical Report TR- CS2002-02, Department of Computer Science, University of California, Santa Barbara, 2002. [10] J. Ghanem, C. T. Abdallah, M. M. Hayat, J. Chiasson and J. D. Birdwell, “Distributed Load Balancing in the Prese- nce of Node Failure and Network Delays,” 2006. http:// www.eece.unm.edu/Ib/papers/dynamicLB2.pdf [11] K. Barker and N. Chrisochoides, “Practical Performance Model for Optimizing Dynamic Load Balancing of Ad- aptive Applications,” Proceedings of the 19th IEEE Inter- national Parallel and Distributed Processing Symposium, Denver, Vol. 1, 4-8 April 2005, pp. 28-37. [12] F. Leon, M. H. Zaharia and D. Galea, “A Simulator for Load Balancing Analysis in Distributed Systems,” In: A. Valachi, D. Galea, A. M. Florea, M. Craus, Ed., Then- ologii Informationale, Editura Unvierisitatii, Suceava, 2003, pp. 53-59. [13] K. Y. Kabalan, W. W. Smari and J. Y. Hakimian, “Adap- tive Load Sharing in Heterogeneous Systems Polices, Mo- difications, and Simulation,” 2009. http://ducati.doc.ntu. ac.uk/uksim/journal/Vol-3/No%201&2%20Special%20 issue%20karatza/kabalan/kabalan.pdf [14] K. S. Chatrapati, K. P. Chand, Y. R. Kumar and A. V. Babu, “A Novel Approach for Effective Dynamic Load Balancing by Using Tendensive Weight,” International Journal of Computer Science and Network Security, Vol. 8, No. 6, June 2008, pp. 42-48. [15] M. Gerla and L. Kleinrock, “On the Topological Design of Distributed Computer Networks,” IEEE Transactions on Communications, Vol. 25, No. 1, 1977, pp. 48-60. [16] M. Andreolini and E. Casalicchio, “A Cluster-Based Web System Providing Differentiated and Guaranteed Ser- vices,” Cluster Computing, Vol. 7, No. 1, 2004, pp. 7-19. [17] M. Andreolini and S. Casolari, “A Distributed Architec- ture for Gracefully Degradable Web-Based Services,” Pro- ceedings of IEEE International Symposium on Network Computing and Applications, Cambridge, 24-26 July 2006, pp. 235-238. [18] MathWorks, Inc., 2008. http://www.mathwork.com |