Dynamic load balancing in heterogeneous clusters (original) (raw)

DYNAMIC LOAD BALANCING IN HETEROGENEOUS CLUSTERS: EXPLOITATION OF THE PROCESSING POWER

The dynamic load balancing techniques, practically, do not assume any information about the tasks to be executed at compilation time. Parameters like execution time or communication time are unknown at compilation time. These techniques are used to distribute the computation tasks of an application between different processors at execution time to achieve some defined performance objectives . In this paper we present a dynamic load balancing algorithm designed especially for heterogeneous network of workstations . The algorithm distributes the parallel tasks dynamically attempting to minimize its execution time. The experiments are done over a network of workstation interconnected via a fast Ethernet. It is a Linux cluster which has some degree of heterogeneity in the processing nodes. Our algorithm is shown to be efficient in increasing the resource utilization and reducing the total execution time of the applications.

A Framework for Distributed Dynamic Load Balancing in Heterogeneous Cluster

Journal of Computer Science, 2007

Distributed Dynamic load balancing (DDLB) is an important system function destined to distribute workload among available processors to improve throughput and/or execution times of parallel computer in Cluster Computing. Instead of balancing the load in cluster by process migration, or by moving an entire process to a less loaded computer, we make an attempt to balance load by splitting processes

Load balancing for heterogeneous clusters of PCs

Future Generation Computer Systems, 2002

With commercial supercomputers and homogeneous clusters of PCs, static load balancing is accomplished by assigning equal tasks to each processor. With heterogeneous clusters, the system designers have the option of quickly adding newer hardware that is more powerful than the existing hardware. When this is done, the assignment of equal tasks to each processor results in suboptimal performance.

An Application Level Load Balancing Mechanism for Heterogeneous Clusters Programming

2002

Heterogeneous clusters provide an attractive scalability of low cost in terms of computation power. However, these systems are much complicated to program than dedicated parallel machines due to the perfomance of nodes and traffic in the network changes randomly. Execution of a parallel application in a heterogeneous cluster without keeping in mind these considerations, it can imply that some slow nodes can be overhead, while fast nodes can be in an idle state. Therefore, in order to avoid this situation, it is necessary to apply some scheme of load balancing. In this paper we present an application level load balancing mechanism for heterogeneous clusters.

Load balancing in heterogenous distributed systems

Microelectronics Reliability, 1996

In such systems it is possible for some nodes to be heavily loaded while others are lightly loaded, resulting in poor overall system performance. The purpose of load balancing is to improve performance by redistributing the workload among the nodes. In this paper four load balancing techniques are studied by simulations. The study is limited to a class of techniques where the jobs are lined up in a generic queue and sent to a central job dispatcher which allocates the job to a particular processor based upon the following criteria: nondeterministic routing, response time, system time and throughput. We propose an algorithm that reduces the computational complexity of algorithms ensuring minimum system time.

Dynamic load balancing on dedicated heterogeneous systems

2008

Parallel computing in heterogeneous environments is drawing considerable attention due to the growing number of these kind of systems. Adapting existing code and libraries to such systems is a fundamental problem. The performance of this code is affected by the large interdependence between the code and these parallel architectures. We have developed a dynamic load balancing library that allows parallel code to be adapted to heterogeneous systems for a wide variety of problems. The overhead introduced by our system is minimal and the cost to the programmer negligible. The strategy was validated on several problems to confirm the soundness of our proposal.

Analysing the Impact of Heterogeneity with Greedy Resource Allocation Algorithms for Dynamic Load Balancing in Heterogeneous Distributed Computing System

International Journal of Computer Applications, 2013

Heterogeneous Distributed systems have been an active research area in computer science for the last two decade, task allocation and load balancing have been a major issue associated with such systems. The load-balancing problem, attempts to compute the assignment with smallest possible makespan (i.e. the completion time at the maximum loaded computing node). This paper presents and discusses the dynamic load balancing problem on Heterogeneous Distributed Computing System (HDCS) and analyzes the impact of heterogeneity on computing capability of node on task allocation problem. Since the task assignment problem in NP hard, greedy heuristic algorithms are used to study the impact of heterogeneity on computing resources. The task model is presented as consistent ETC (Expected Time to Compute) matrix in four different heterogeneous computing environments to study the performance of heuristic algorithms to minimize the makespan.

A dynamic load balancing system for parallel cluster computing

Future Generation …, 1996

In this paper we discuss a new approach to dynamic load balancing of parallel jobs in clusters of workstations and describe the implementation into a Unix run-time environment. The e ciency of the proposed methodology is shown by means of a number of case studies.

An Empirical Study and Analysis of the Dynamic Load Balancing Techniques Used in Parallel Computing Systems

Proc. of the International Conference on Computing and Systems- 2010 (ICCS-2010), ISBN: 93-80813-01-5, 2010

A parallel computer system is a collection of processing elements that communicate and cooperate to solve large computational problems efficiently. To achieve this, at first the large computational problem is partitioned into several tasks with different work-loads and then are assigned to the different processing elements for computation. Distribution of the work load is known as Load Balancing. An appropriate distribution of work-loads across the various processing elements is very important as disproportional workloads can eliminate the performance benefit of parallelizing the job. Hence, load balancing on parallel systems is a critical and challenging activity. Load balancing algorithms can be broadly categorized as static or dynamic. Static load balancing algorithms distribute the tasks to processing elements at compile time, while dynamic algorithms bind tasks to processing elements at run time. This paper explains only the different dynamic load balancing techniques in brief used in parallel systems and concluding with the comparative performance analysis result of these algorithms.