scispace - formally typeset
Search or ask a question

Showing papers on "Load balancing (computing) published in 1985"


Journal ArticleDOI
TL;DR: A distributed computer system that consists of a set of heterogeneous host computers connected in an arbitrary fashion by a communications network is considered, and a general model is developed, in which the host computers and the communications network are represented by product-form queuing networks.
Abstract: A distributed computer system that consists of a set of heterogeneous host computers connected in an arbitrary fashion by a communications network is considered. A general model is developed for such a distributed computer system, in which the host computers and the communications network are represented by product-form queuing networks. In this model, a job may be either processed at the host to which it arrives or transferred to another host. In the latter case, a transferred job incurs a communication delay in addition to the queuing delay at the host on which the job is processed. It is assumed that the decision of transferring a job does not depend on the system state, and hence is static in nature. Performance is optimized by determining the load on each host that minimizes the mean job response time. A nonlinear optimization problem is formulated, and the properties of the optimal solution in the special case where the communication delay does not depend on the source-destination pair is shown.Two efficient algorithms that determine the optimal load on each host computer are presented. The first algorithm, called the parametric-study algorithm, generates the optimal solution as a function of the communication time. This algorithm is suited for the study of the effect of the speed of the communications network on the optimal solution. The second algorithm is a single-point algorithm; it yields the optimal solution for given system parameters. Queuing models of host computers, communications networks, and a numerical example are illustrated.

410 citations


Journal ArticleDOI
TL;DR: A distributed algorthim for load balancing which is network topology independent is proposed in this paper and the main objective of this paper is to describe the dynamic process migration protocol based on the proposed drafting algorithm.
Abstract: It is desirable for the load in a distributed system to be balanced evenly. A dynamic process migration protocol is needed in order to achieve load balancing in a user transparent manner. A distributed algorthim for load balancing which is network topology independent is proposed in this paper. Different network topologies and low-level communications protocols affect the choice of only some system design parameters. The "drafting" algorithm attempts to compromise two contradictory goals: maximize the processor utilization and minimize the communication overhead. The main objective of this paper is to describe the dynamic process migration protocol based on the proposed drafting algorithm. A sample distributed system is used to further illustrate the drafting algorithm and to show how to define system design parameters. The system performance is measured by simulation experiments based on the sample system.

227 citations


Journal ArticleDOI
TL;DR: Three algorithms necessary to maintain load balancing in this system are introduced: the local load algorithm, used by each processor to monitor its own load; the exchange algorithm, for exchanging load information between the processors, and the process migration algorithm that uses this information to dynamically migrate processes from overloaded to underloaded processors.
Abstract: This paper deals with the organization of a distributed load-balancing policy for a multicomputer system which consists of a cluster of independent computers that are interconnected by a local area communication network. We introduce three algorithms necessary to maintain load balancing in this system: the local load algorithm, used by each processor to monitor its own load; the exchange algorithm, for exchanging load information between the processors, and the process migration algorithm that uses this information to dynamically migrate processes from overloaded to underloaded processors. The policy that we present is distributed, i.e. each processor uses the same policy. It is both dynamic, responding to load changes without using an a priori knowledge of the resources that each process requires; and stable, unnecessary overloading of a processor is minimized. We give the essential details of the implementation of the policy and initial results on its performance. Our results confirm the feasibility of building distributed systems that are based on network communication for uniform access, resource sharing and improved reliability, as well as the use of workstations without a secondary storage device.

198 citations


Journal ArticleDOI
TL;DR: In the above paper1, an error was made in the Load Balancing Algorithm so a more clear recursive way to present this algorithm is to modify steps S3 to S5 as follows.
Abstract: A loosely coupled multiprocessor system contains multiple processors which have their own local memories To balance the load among multiple processors is of fundamental importance in enhancing the performance of such a multiple processor system Probabilistic load balancing in a heterogeneous multiple processor system with many job classes is considered in this study The load balancing scheme is formulated as a nonlinear programming problem with linear constraints An optimal probabilistic load balancing algorithm is proposed to solve this nonlinear programming problem The proposed load balancing method is proven globally optimum in the sense that it results in a minimum overall average job response time on a probabilistic basis

164 citations


01 Jan 1985
TL;DR: Two methods for distributed simulation are studied, applicable to discrete time simulation models and are fully distributed in the sense that they require no central control.
Abstract: Simulation is one example of an application that shows great potential benefits from distributed processing The conventional approach to simulation, that of sequentially processing the events, does not exploit the natural parallelism existing in some simulation models This is particularly true in large models, where submodels often interact weakly and can be simulated in parallel The decreasing cost of multiprocessor systems also suggests that a distributed approach to simulation can be workable Moreover, such an approach can be very attractive, since time and memory limitations, often major constraints with simulation programs, may be alleviated by distributing the load among several processors Distributed simulation requires a set of processors that can communicate by sending messages along the links of a communication network or via a shared memory The processors each simulate a submodel of the overall model and interact when necessary Submodel interactions produce the interprocessor communication in the simulator Two methods for distributed simulation are studied in this thesis Both methods are applicable to discrete time simulation models and are fully distributed in the sense that they require no central control In one method, each processor can simulate independently as long as it is certain that no events will arrive that belongs to the past of the simulation process In the second method, processors are not concerned about future arriving events They simulate independently and roll back if an event arrives that belongs to the past The thesis consists of two parts The first presents some centralized and distributed algorithms for efficient utilization of the second method The issue of load balancing is also discussed in this part and some heuristic algorithms are presented The second part of the work consists of mathematical modeling and analysis of models of both methods The analysis gives some insight into the effects of different system parameters on the performance The performance of each method is compared with the other and also with single processor simulation The mathematical models are then confirmed and complemented with the simulation results Finally, results of the implementation of the second method are presented

95 citations


Patent
26 Sep 1985
TL;DR: In this paper, a load balancing circuit is adapted to generate new routing tag signals identifying output port addresses which redistribute the output port load, in order to implement a predetermined output port priority scheme.
Abstract: A load balancing circuit arrangement for use with a packet switching node. The packet switching node processes applied data packets containing routing tag signals indicative of the output port destinations to which the data packets are addressed, and routes these packets to the identified output ports. The present invention a load balancing circuit coupled to the packet switching node which monitors the output port addresses of the applied data packets and monitors the number of data packets addressed to each of the output ports. The load balancing circuit is adapted to generate new routing tag signals identifying output port addresses which redistribute the output port load. The load balancing circuit arrangement includes a tag selection circuit coupled to the load balancing circuit and the packet switching node which selectively replaces the routing tag signals of the applied data packets with the new routing tag signals in order to redistribute and balance the output port load. The load balancing circuit comprises a minimum index circuit for generating the new routing tag signals and an adder circuit coupled thereto. The minimum index circuit combines the new routing tag signals with offset signals that modify the new routing tag signals in order to implement a predetermined output port priority scheme. The load balancing circuit arrangement may be employed in both multiple queue and multiport memory packet switching nodes employed in computer or telephone communications applications.

90 citations


ReportDOI
01 Oct 1985
TL;DR: One such index, based on a mean-value equation, is proposed, and its main characteristics investigated, and the index is obtained assuming that the goal of the load balancing scheme is the minimization of the response time of the user command being considered for possible remote execution.
Abstract: : The problem of selecting the load index or indices to be used in dynamic load balancing policies is discussed. One such index, based on a mean-value equation, is proposed, and its main characteristics investigated. The index is obtained assuming that the goal of the load balancing scheme is the minimization of the response time of the user command being considered for possible remote execution. A few major obstacles to the practical use of the index are also discussed.

29 citations


Journal ArticleDOI
TL;DR: The authors propose an efficient method of utilizing the primitive operations of collision detection and broadcast in multiaccess networks to efficiently distribute status information and to identify the extremum.
Abstract: A study of resource scheduling based on a distributed state-dependent discipline for a system of processors connected by a local multiaccess network is made. The scheduling problem is reduced to the identification of the extremum from a set of physically dispersed random numbers. The authors propose an efficient method of utilizing the primitive operations of collision detection and broadcast in multiaccess networks to efficiently distribute status information and to identify the extremum. The optimal performance of extremum identification is found to be constant and on the average independent of the number of contending processors. The protocol can be implemented either by minor hardware modification of existing multiaccess-network interfaces or in software.

22 citations


ReportDOI
01 Dec 1985
TL;DR: A load-balancing system is implemented to increase the overall utilization and throughput of a network of computers and to process certain types of CPU intensive jobs there.
Abstract: As the number of machines in a computer installation increases, the likelihood that they are all being equally used is very small. We have implemented a load-balancing system to increase the overall utilization and throughput of a network of computers. With this system, a busy machine will locate an underutilized one and attempt to process certain types of CPU intensive jobs there. We present here a complete functional description of the system and an analysis of its performance.

20 citations


Journal ArticleDOI
TL;DR: An extension to the token ring protocol which allows a special type of arithmetic, called shift arithmetic, to be performed directly on the node's interfaces, to enhance the performance of distributed algorithms on ring networks by performing many simple tasks in the lowest possible level.
Abstract: An extension to the token ring protocol which allows a special type of arithmetic, called shift arithmetic, to be performed directly on the node's interfaces is proposed. The new protocol is based on an approach in which the communication channel and the interfaces form an environment in which simple commands can be executed. Each command operates on operands located at the interfaces, and places the result at the interface which initiated the command. The commands utilize the mandatory 1-bit delay of the token ring protocol to implement arithmetic and logical operations on the operands without further delay. The goal of this protocol is to enhance the performance of distributed algorithms on ring networks by performing many simple tasks in the lowest possible level. The authors show that this protocol is especially useful for load sharing in local area networks. Other potential application areas include parallel algorithms, distributed simulation, distributed operating systems, distributed databases and real-time computations.

11 citations


01 Oct 1985
TL;DR: In this paper, the problem of selecting the load index or indices to be used in dynamic load balancing policies is discussed, and one such index, based on a mean-value equation, is proposed, and its main characteristics investigated.
Abstract: The problem of selecting the load index or indices to be used in dynamic load balancing policies is discussed. One such index, based on a mean-value equation, is proposed, and its main characteristics investigated. The index is obtained assuming that the goal of the load balancing scheme is the minimization of the response time of the user command being considered for possible remote execution. A few major obstacles to the practical use of the index are also discussed.

01 Jan 1985
TL;DR: This dissertation studies two important issues in building scalable applicative systems: load balancing problem and fault tolerance and the concept of functional checkpointing is proposed as the nucleus of a distributed recovery mechanism.
Abstract: Applicative systems are promising candidates to achieve high performance computing through aggregation of processors. This dissertation studies two important issues in building scalable applicative systems: load balancing problem and fault tolerance. A dynamic load balancing scheme is proposed for large scale applicative systems. The method is based on a demand-driven approach, the gradient model, which transfers excessive tasks to the nearest idle processor via a gradient surface. The gradient surface is established by the demands from idle processors. The algorithm is fully distributed and asynchronous. A global balance is achieved by successive refinements of many localized balances. The gradient model is independent of system topology and can easily accommodate heterogeneous multiprocessor systems. Simulations have shown that the gradient model performs reasonably well. The concept of functional checkpointing is proposed as the nucleus of a distributed recovery mechanism. This entails incrementally building a resilient structure as the evaluation of an applicative program proceeds. A simple rollback algorithm is suggested to regenerate the corrupted structure by redoing the most effective functional checkpoints. Another algorithm, which attempts to recover all intermediate results, is also presented. The parent of a faulty task reproduces a functional twin of the failed task. The regenerated task inherits all offspring of the faulty task so that partial results can be salvaged.