JOURNAL OF INFORMATION, KNOWLEDGE AND RESEARCH IN COMPUTER SCIENCE AND APPLICATIONS
Balancing the Load of Networked Workstations
1Dr. Narayan A. Joshi, 2Dr. D. B. Choksi
1Assistant Professor, Computer Science Department, Institute of Science & Technology for Advanced Studies & Research, Vallabh Vidyanagar
2Professor, G. H. Patel Post Graduate Department of Computer Science & Technology, Sardar Patel University, Vallabh Vidyanagar
,
ABSTRACT:Advancement in computing and networking technologies has increased the usage of distributed computing environments. Apart from the various benefits such as diversified resource utilization, scalability and fault tolerance such systems possess certain limitations also. Some of the workstations may gradually become overloaded while some other workstations may be doing little work or sitting nearly idle in a networked environment. Such a phenomenon certainly represents wastage of the available computing power and reduction in the overall system’s performance. The paper suggests a server managed dynamic load sharing technique in order to overcome such problems.
Keywords— load balancing, load sharing, process migration, distributed systems
ISSN: 0975 –6728| NOV 12TO OCT 13| VOLUME – 02, ISSUE - 02Page 1
JOURNAL OF INFORMATION, KNOWLEDGE AND RESEARCH IN COMPUTER SCIENCE AND APPLICATIONS
I: Introduction
The implementations of information systems comprising of the distributed computing environments is gradually growing day by day as a result of the availability of prevailing computing resources at moderate prices and evolution in the communication and networking technologies [4].Few of the primary important benefits of distributed systems comprise of the capability of resource sharing to enable the system users with a rich collection of computing resources which are generally diversified across the interconnected nodes. Moreover, according to [6], the distributed systems serve remarkable benefits like fault tolerance, higher scalability and better reliability which help more to overcome the limitations of the parallel computing architectures [3], [5].
Though, the cumulative computing power of the network’s interconnected workstations may theoretically appear to be higher than that of some isolated uniprocessor system, it is generally observed that in the networked computing environments, some of the workstations become highly loaded while some others remain lightly loaded or left as nearly idle; this may happen due to number of reasons such as variations in the arrival times, service times and turnaround times of the processes across the workstations belonging to the distributed computing environment. This in effect results into underutilization of the overall network’s theoretical computing power and reduction in the overall network’s performance [10]. However, [9] and [12] suggest that the gain in performance may be realized by sharing the computing power of the networked workstations by means of relocating the processes from the highly loaded workstations to the workstations which are nearly idle or lightly loaded; such a computing power sharing mechanism is known as load sharing or load balancing technique.
Section 2 of the paper describes the load balancing approach along with different types of load balancing mechanisms. Section 3 focuses on the server managed load balancing technique. The load balancing mechanism and the suggested algorithm have been described in the section 4. Finally, the paper concludes with some remarks in section 5.
II: Load Balancing
Load balancing or load sharing technique is one of the existing techniques available to attain better performance in the distributed computing environments. It may be implemented by performing transfer of either newly submitted processes or the partially executed processes from the overloaded node to some lightly loaded or nearly idle node within the network.The paper focuses on the problem of attaining higher overall performance in the network of workstations by describing an efficient load balancing mechanism.
The distribution of workload using the load balancing technique can be performed statically or dynamically [11]. The static load balancing technique is quite easier to implement as the process migration decisions are taken probabilistically; the dynamic state information (such as current workload of a certain workstation) is not taken into account by such static techniques. For example, some class of static load balancing algorithm may implement the round-robin scheduling policy; whereas some other class of algorithms may take the pre-calculated probability (say Pi) of workload for some workstation (say Wi), where the probability Pi may be predetermined statically using some criteria such as the average ratio of creation and completion of jobs on workstation Wi. In static load balancing mechanisms the workload transfer decisions are hardcoded based on some previously gained knowledge about the behaviour of the workstations [2].Such mechanisms are effective when the workload information about all workstations within a network can be characterized well in advance. However, such mechanisms may function improperly in the case of occurrence of fluctuations in the behaviour of workstations.
Whereas the dynamic load balancing mechanisms take the deterministic strategy into consideration, such mechanisms operate to balance the workstation’s workload during runtime. Though such mechanisms incur some overhead on the overall computing environment as the dynamic mechanism has to analyse workload of all workstations and perform decision making, the incurred expenses may be neglected in comparison to the limitations of the static mechanisms [9]. The paper focuses on the dynamic load balancing mechanism. Furthermore, the load balancing technique may be classified into two more classes: server-managed and client-initiated load balancing.
III: Server-managed Load Balancing
Also known as centralized load balancing mechanism, in this technique, a consolidated load balancing strategy is imposed over the computing environment comprising a network of workstations. In such a inter connected set of nodes, some certain node (say it a server), is allotted an additional charge to carry out decision making which is associated withthe task of balancing the workload of rest of the workstations (say them clients) in the network. At runtime, the server workstation determines the overloaded and lightly loaded clientsfrom the network and sends process migration order to the overloaded client to share its workload with the lightly loaded client. By imposing a centralized control over the network, the technique does not require communication among the n number of peer clients, thereby reducing the additional network traffic among the peer clients [1]. The paper focuses on the algorithm for implementation of the server managed dynamic load balancing strategy.
IV: The Mechanism
In the centralized load balancing technique, the client nodes are assigned responsibility to periodically determine the current workload information and inform the same to the server. Whereas on the other side, the server is programmed to continuously perform a couple of tasks such as – receiving the workload information sent by the clients, effectively maintaining the received information, determining the overloaded and lightly-loaded clients and carrying out the load balancing decision. The suggested policy comes with a striking feature that it precludes the lightly loaded clients from all of a sudden over burdening. Such a feature is attained by maintaining the clients’ current status information in the server’s repository. At a particular time, the client may have one of the status values – INACTIVE, ACTIVE and PASSIVE. The client whose workload information is unavailable or the available information is not in integrity, the client is said to be INACTIVE; the load balancing server does not consider involvement of such clients in its further load balancing decisions. The server treats the clients as ACTIVE clients whose integral workload information is available and such clients only are looked up as destinations for sharing the workload of the highly loaded clients. On the other side, the clients whose integral workload information is available and which have been chosen as the destination for load balancing, such clients are treated as PASSIVE for certain time duration.Again, the PASSIVE clients are not considered for further load balancing for particular time duration. After completion of passive time period, the status of PASSIVE client is toggled into ACTIVE, thereby making it available as a destination in further load balancing decisions. Thus, the server is assigned certain responsibilities such as management of workload information, management of clients’ current status information and load balancing decision making[7].
We have implemented the solution in form of major modules which are summarized below:
The LoadPortal module continuously runs on the clients, it periodically determines clients’ workload details and sends the same to the central load balancing server. On the server side, the LoadServer module runs constantly, it collects the clients’ workload information, and maintains the received information in server’s repository. Furthermore, the LoadServer module determines the overloaded and lightly loaded ACTIVE clients and informs the same to the LoadBalancer module; then it changes the status value of the above selected lightly loaded client from ACTIVE to PASSIVE. The LoadBalancer module which also runs on the central load balancing server, makes arrangements of workload transfer by sending the process migration order to the overloaded client.Additionally, one more concurrent module called ClientStatusMaintainer runs on the load balancing server which occasionally turns the current status into ACTIVE value from PASSIVE value of the client whose status was turned into PASSIVE before the passive-time duration; additionally the module looks for the clients whose valid workload information is not available, such clients’ status is toggled to INACTIVE. Moreover, the module also toggles the status value to ACTIVE for the clients whose valid workload information becomes available firsttime [7], [8].
Thus, the mechanism discussed above assists the suggested server-managed load balancing mechanism to keep the lightly loaded clients safe by keeping the away from the phenomenon of an all of a sudden over burdening.
We conclude this paper with the brief description of the LoadServer module whose one of the important task is determination of overloaded and lightly loaded clients and toggling of the status value of the lightly loaded client:
ISSN: 0975 –6728| NOV 12TO OCT 13| VOLUME – 02, ISSUE - 02Page 1
JOURNAL OF INFORMATION, KNOWLEDGE AND RESEARCH IN COMPUTER SCIENCE AND APPLICATIONS
void load_balancer_thread_fn()
//server-managed load balancing
{
/*represents highly loaded client*/
struct Client highly_loaded_client;
/*represents lightly loaded client*/
struct Client lightly_loaded_client;
int sleept = 10; //indicates thread’s sleeping-interval
while(1){//run continuously
sleep(sleept);
/* find lightly loaded workstation */
if(find_least_loaded_client(&lightly_loaded_client)==0)
continue;/*no more active-clients in network*/
/*set current_status of lightly_loaded_client client to PASSIVE*/
/*set time_of_passive_set of pload client to current time*/
…
/* find overloaded client */
if(find_overloaded_client(&highly_loaded_client)==0)
continue;
/*
Otherwise, we have determined the overloaded and
lightly-loaded workstations.
*/
if(strcmp(highly_loaded_client.ip, lightly_loaded_client.ip) == 0) {
continue;
/* both variables refer to same client,
so do nothing.*/
}
printf("load_balancer_thread_fn():
Carry out process migration from overloaded client:
[%s]to the lightly-loaded client [%s]\n",highly_loaded_client.ip,lightly_loaded_client.ip);
send_process_migration_order(highly_loaded_client,
lightly_loaded_client);
…
}
}
ISSN: 0975 –6728| NOV 12TO OCT 13| VOLUME – 02, ISSUE - 02Page 1
JOURNAL OF INFORMATION, KNOWLEDGE AND RESEARCH IN COMPUTER SCIENCE AND APPLICATIONS
V: Concluding Remarks
After describing significance of the load balancing mechanism in the distributed computing environment, some light is thrown on the types of load balancing techniques such as static load balancing, dynamic load balancing and server managed load balancing. An efficient algorithm for server managed dynamic load balancing mechanism has been described in this paper. Moreover, a novel mechanism through which the lightly loaded clients may be prevented from the sudden overburdening has been suggested in this paper.
References
[1]A. Ali, “A Guide to Dynamic Load Balancing in Distributed Computer system”, International Journal of Computer Science and Network Security, VOL.10, No.6, June 2010
[2]B. Saxena and D. Sharma, "Analysis of Threshold Based Centralized Load Balancing Policy for Heterogeneous Machines", International Journal of Advanced Information Technology (IJAIT) Vol. 1, No.5, October 2011
[3]J. D. Smith, “Fault Tolerance using Whole-Process Migration and Speculative Execution”, M. S. thesis at California Institute of Technology, 2003
[4]J. M. Smith, “A Survey of Process Migration Mechanisms”, Technical Report CUCS-324-88, Computer Science Department, Columbia University
[5]M. Kozuch and M. Satyanarayanan, “Internet suspend/resume”, Proceedings of the IEEE Workshop on Mobile Computing Systems and Applications, IEEE CS Press, 2002
[6]M. L. Liu, “Distributed Computing: Concepts and Applications”, Pearson Education, ISBN 978-81-317-1332-7, Fourth Impression-2009
[7]N. A. Joshi, “Development of Algorithms for Optimized Process Migration for Load Balancing in Distributed Systems”, PhD Thesis, Sardar Patel University, 2012
[8]N. A. Joshi and. D. B. Choksi, “Mechanism for Implementation of Load Balancing using Process Migration”, International Journal of Computer Applications, February 2012
[9]N. G. Shivaratri, P. Krueger and M. Singhal, “Load Distributing for Locally Distributed Systems”, IEEE Computer, Vol. 25, Issue- 12, 1992
[10]S. Malik, “Dynamic Load Balancing in a Network of Workstations”, 95.515F Research Report, 2000
[11]S. Sharma, S. Singh and M. Sharma, “Performance Analysis of Load Balancing Algorithms”, World Academy of Science, Engineering and Technology 38, 2008
[12]Z. Khan, "Performance Analysis of Dynamic Load Balancing Techniques for Parallel and Distributed Systems," International Journal of Computer and Network Security, vol. 2, no. 2, February 2010
ISSN: 0975 –6728| NOV 12TO OCT 13| VOLUME – 02, ISSUE - 02Page 1