A Review Towards: Load Balancing Techniques

Neeraj Rathore  
*Assistant Professor, Jaypee University of Engineering & Technology, Guna (MP), India.

Abstract

The rapid development in computing resources has enhanced the performance of computers and reduced their costs. This availability of low cost powerful computers coupled with the popularity of the Internet and high-speed networks has led the computing environment to be mapped from distributed to Grid environments. Grid is a type of distributed system that supports the sharing and coordinated use of geographically distributed and multi- owner resources independently from their physical type and location in dynamic virtual organizations that share the same goal of solving large-scale applications. A computational grid is a hardware and software infrastructure that provides dependable, consistent, pervasive, and inexpensive access to high-end computational capabilities. Grid computing is concerned with “Coordinated resource sharing and problem solving in dynamic, multi-institutional virtual organizations”. The key concept is the ability to negotiate resource-sharing arrangements among a set of participating parties (providers and consumers) and then to use the resulting resource pool for some purpose.

The sharing concern is not primarily file exchange, but rather direct access to computers, software, data, and other resources, as is required by a range of collaborative problem solving and resource-brokering strategies emerging in industry, science, and engineering. This sharing is, necessarily, highly controlled, with resource providers and consumers defining clearly and carefully just what is shared, who is allowed to share, and the conditions under which sharing occurs. A set of individuals and/or institutions defined by such sharing rules form what we call a virtual organization.

Keywords :

Introduction

The current computational power demands and constraints of organizations have led to a new type of collaborative computing environment called grid computing [27], [58]. A computational grid is an emerging computing infrastructure that enables effective access to high performance computing resources. End users and application see this environment as a big virtual computing system. The systems connected together by a grid might be distributed globally, running on multiple hardware platforms, under different operating systems and owned by different organizations. While simultaneous resource allocation can be done manually with privileged accesses to the resources, such environments need certain resource management strategy and tool that can provide security and coordination of the resource allocations [31], [59].

There are many potential advantages to using grid architectures, including the ability to simulate applications, whose computational requirements exceed local resources and the reduction of the job turnaround time through workload balancing across multiple computing facilities [28], [60].

The grid load balancing problem, an essential aspect of load balancing system is overviewed to provide a global image of the load balancing process. A distributed system will have number of resources working independently with each other. Some of them are linked by communication channel, while some are not.

Resource management and load balancing are key grid services, where issues of local balancing represent a common concern for the most grid infrastructure developers [29], [30]. In fact, it would be inaccurate to say that the computing power of any system increases proportionally with the number of resources involved. Care should be taken so that some resources do not become overloaded and some others stay ideal [31] .

The essential objective of a load balancing consists primarily in optimizing the average response time of applications, which often means maintaining the workload proportionally equivalent on the whole resources of a system [31].

1. Load Balancing Definitions and Key Factors

Load Balancing based on the idea of migration of excess load from heavily loaded node to lightly loaded ones. The problem starts with to determine when to migrate a process or task. This solution is typically based on local load situation [35]: for example, a simple procedure may be the comparison of the load between various nodes with those of the neighboring node and a determination of the node to which the task is to be migrated. But the two nodes, each one having two task may not be equally loaded as in distributed environment; the nodes are of heterogeneous nature. Now, Load balancing algorithms vary in their complexity where complexity is measured by the amount of communication used to approximate the least loaded node. The most significant parameter of the system was found to be the cost of transferring a job from one node to another. It is cost that limits the dynamic algorithms [26], but at the high end of complexity, the dynamic algorithms which do collect varying amounts of information. Potentially, the more information an algorithm can collect, the better decision it will make. Load balancing is usually described in the literature, as either load balancing or load sharing. These terms are often used interchangeably, but can also attract quite distinct definition.

1.1 Load Sharing

This is the coarsest form of load distribution [33]. Load may only be placed on ideal resources and can be viewed as binary, where a resource is either idle or busy.

1.2 Load Balancing

Load sharing is the coarsest form of load balancing attempts to ensure that the workload on each resource is within a small degree, or balance criterion, of the workload present on every other resource in the system [35], [61].

1.3 Load Leveling

Load leveling introduces a third term to describe the middle ground between the two extremes of load sharing and load balancing rather than trying to obtain a strictly even distribution of load across all resources, or simply utilizing idle resources, load leveling seeks to avoid congestion on any one resource [36].

Other issues related to load balancing is that a computing job may not arbitrarily divisible leading to certain constraints in dividing tasks. Each job consists of several tasks and each of those tasks can have different execution times. Also, the load on each resource as well as on the network can vary from time to time based on the workload brought about by the users. The resource capacity may be different from each other in architecture operation system, CPU speed, memory size, and available disk space. The load balancing problem also needs to consider fault-tolerance and faulty-recovery. With these entire factor taken into account, load balancing can be generalization into four basic steps [34], [62].

2. Review

Grid is a type of distributed system which supports the sharing and coordinated use of resources, independently from their physical type and location, in dynamic virtual organizations that share the same goal [1]- [6]. This technology allows the use of geographically widely distributed and multi-owner resources to solve large scale applications like meteorological simulations, and data intensive applications. In order to fulfill the user expectations in terms of performance and efficiency, the Grid system needs efficient load balancing algorithms for the distribution of tasks.

Load balancing algorithms in classical distributed systems, which usually run on homogeneous and dedicated resources, cannot work well in the Grid architectures [5], [63]. Grids has a lot of specific characteristics, like heterogeneity, autonomy, scalability, adaptability and resources computation-data separation, which make the load balancing problem more difficult [6]- [9].

Load balancing/sharing exploits the communication facility between the servers of a distributed system, by using the exchanging of status information and jobs between any two servers of the system in order to improve the overall performance.

3. Load Balancing Policies and Mechanism

There are two basic issues in the design of load balancing system. The policy issue is the set of choices that are made to balance the load (which tasks should be executed remotely and where). The mechanism issue carries out the physical facilities to be used for task remote execution and provides any information required by the policies [17]- [25]. The division of policy and mechanism can be continued, breaking any load balancing scheme into a set of distinct, but interdependent components [32] [64]. Figure 1 illustrates a suitable decomposition with each leaf representing a distinct component of a load distribution scheme. The emphasis is on the components of the policy and the provision of information to the policy.

Figure 1. The Components of Loads Balancing System [52]

3.1Information Policy

Specifies what load information to be collected, when it is to be collected and from where [7].

3.2 Triggering Policy

Determines the appropriate moment to start a load balancing operation.

3.3 Resource Type Policy

Classifies a resource as server or receiver of tasks according to its availability status and capabilities.

3.4 Location Policy

Uses results of the resource type policy to find a suitable partner for a server or receiver.

3.5 Candidate Selection Policy

Defines the tasks that should be migrated from overloaded resources (source) to most idle resources (receiver) and coordinating their use to execute a set of tasks [32].

To harness the computational power of a grid, a load balancing policy is used. Such policies attempt to balance the load with the end result of maximizing resource utilization and hence optimizing performance. Per formance may be significantly impacted if information on task and machine heterogeneity is not taken into account by the load balancing policy [10] , [65].

Load Metric Mechanism: The load metric is the representation used to describe the load on a resource This determines the type of information that makes a load index (queue CPU length, memory size) and the way such information is communicated to other loaders (broadcasting, focused addressing, polling).

Load Communication Mechanism: Load communication defines the method by which information, such as the load on a resource, is communicated between the resource and the load distribution policy and mechanisms [22]. The load communication policy can also include the communication between cooperating distributed policies.

Transfer Mechanism: The transfer mechanism is the physical medium for transferring tasks between resources. This leaf can be further expanded to include branches for initial placement and process migration [28], [29].

4. Rules of Load Balancing

The load balancing process can be defined in three rules: the location, distribution, and selection rule. Zomaya and Yee-Hwei [8] described that the location rule determines which resource domain will be included in the balancing operation. The domain may be local, i.e. inside the node, or global, i.e. between different nodes. The distribution rule establishes the redistribution of the workload among available resources in the domain, while the selection rule decides whether the load balancing operation can be performed preemptively or not [8].

5. Advantages and Disadvantages of Load balancing (LB)

Load balancing is done basically to do following advantages and disadvantages.

6. Characteristics of the Load Balancing

In traditional distributed systems in grid architectures following properties that characterize [15], [16], [37]- [42], [66],[67]:

6.1 Heterogeneity

A Grid involves multiple resources that are heterogeneous in nature and might span numerous administrative domains across a potentially global expanse [22] .

6.2 Scalability

A Grid might grow from few resources to millions. This raises the problem of potential performance degradation as the size of a Grid increases.

6.3 Adaptability

In a Grid, a resource failure is the rule, not the exception. That means that the probability of some resources fail is naturally high. Resource managers must tailor their behavior dynamically so that they can extract the maximum performance from the available resources and services [47].

6.4 Hierarchical

This characteristic facilitates the information flow through the tree and well defines the message traffic in the strategy.

6.5 Independent

It is totally independent from any physical architecture of a grid that the transformation of a grid into a tree is a univocal transformation. Each grid corresponds to one and only tree.

These properties make the load balancing problem more complex than in traditional parallel and distributed systems, which offer homogeneity and stability of their resources. Also interconnected networks on grids have very disparate performances and tasks submitted to the system can be very diversified and irregular [45], [46].

7. Grid Load Balancing Process

Grid is a system of high diversity, which is rendered by various application, middleware components and resources. A load balancing process in the grid in generalized, into three stages: information collection, resource selection, and tasks mapping [68], [69].

7.1 Information Collection

Information collection is the basis for providing current state information of the resources. It should be performed during the whole course of system running. A load balancing system can either construct its own information collection infrastructure, or employ existing information services systems, enabled by middleware's. It is desired that the overhead introduction by the process of information collection is as small as possible.

7.2 Resource Selection

In principle, resource selection is performed in two steps. In the first step, the initial filtering is done with the goal of identifying a list of authorized resources that is available to a given application. Possibly, the initial list of authorized resources can be further refined by filtering according to the coarse-grained application requirements, such as hardware platform, operating system, minimum memory, and disk space.

In the second step, those resources are aggregated into small collection such that each collection is expected to provide performance desired by the given application. The number of ways that the resources could be aggregated would be extremely large when the number of feasible resource is large. To overcome the complexity, different heuristics may be introduced [44].

7.3 Tasks Mapping

The third phase involves mapping the given set of tasks onto a set of aggregated resources including both the computational resources and network resources. Various heuristics may be used to reach a near-optimal solution. The effort of mapping in conjunction of resource selection produces a set of candidate submission. Once the set of candidate submission is ready; the balancer starts to selects the best submission subject to the performance goal [45], based on mechanisms provided by the performance model.

8. Phases of Dynamic Load Balancing

8.1 Load Evaluation

Some estimate of a computer's load must be provided to first determine that a load imbalance exists [13], [70]. Estimates of the workloads associated with individual tasks must also be maintained to determine which tasks should be transferred to best balance the computation.

8.2 Profitability Determination

Once the loads of the computers have been calculated, the presence of a load imbalance can be detected. If the cost of the imbalance exceeds the cost of load balancing, then load balancing should be initiated.

8.3 Work Transfer Vector Calculation

Based on the measurements taken in the first phase, the ideal work transfers necessar y to balance the computation are calculated.

8.4 Task Selection

Tasks are selected for transfer or exchange to best fulfill the vectors provided by the previous step. Task selection is typically constrained by communication locality and task size considerations [14].

8.5 Task Migration

Once selected, tasks are transferred from one computer to another; state and communication integrity must be maintained to ensure algorithmic correctness. By decomposing the load balancing process is split into distinct phases.

9. Approaches of Load Balancing

9.1 Primary Approach for Dynamic Load Balancing

A distributed system consists of independent workstations connected usually by a local area network. Static load balancing don't fulfill the requirements for load balancing [25]. As in static load balancing, number of jobs at a station is fixed. Dynamic load balancing does the process while job are in execution. Jobs are allocated to host or node. Load at each post is calculated (as number of process, structure of node, network bandwidth, etc.) dynamically. As sender initiated or receiver initiated approaches are available to find the desired load for transferring the load [47]- [53] .

As shown in Figure 2, initially processes restored in queue or process can be allotted as they arrive. If these are placed in queue, processes are allotted one by one to primary nodes. Processes are migrated from heavily loaded node to light weighted node. Process migration is greatly affected by the network bandwidth and work load. In order to reduce the traffic, nodes are grouped into clusters. First a light weighted node is checked in the same cluster, if suitable node is not found then nearby cluster is searched and after getting a required node transfer takesplace if a protocol is satisfied for load transfer [10].

Figure 2. Simple Dynamic Load Balancing to avoid Overload on Heavily Loaded Node by Transferring Process to Light Weighted Node

9.2 Centralized Approach for Load Balancing

Whenever a heavily loaded node don't find node in its cluster and due to congestion in network, node fail to search the node far away cluster. It would be better if heavily loaded node finds a temporary node in same cluster to handle the overload. So, in centralized approach, one centralized node is provided in each cluster. Whenever a primary node is overloaded, first it searches the other light weighted primary nodes, if such primary node is available, load transfer takes place between these two nodes and load is balanced, otherwise, one centralized node is available to accommodate the overload of a primary node. This centralized node is assigned in process when primary node is overload; Centralized node has some better structure as compared to other nodes in the cluster. To avoid network delay traffic between centralized node and primary nodes are kept minimum.

As in Figure 3, the overload from nodes is transferred to centralized node to increase output of each node.

Figure 3. Centralized Node Based Load Balancing

9.3 Classification of Load Balancing Mechanisms

Load balancing problem description knew a proliferation of the terminologies, sometimes even contradictory, making difficult the qualitative analysis of the various methods suggested. Thus, it had become necessary to have a taxonomy which makes it possible to standardize the terminologies for a better description of these approaches and their comparison. Casavant and Kuhl [37] proposed a largely adopted taxonomy, because very complete, for scheduling and load balancing algorithm in general-purpose parallel and distributed computing systems.

Load balancing mechanisms can be broadly categorized as centralized or decentralized, dynamic or static [10], [11], [12]. Here the authors have compared centralize with decentralize and dynamic with static algorithm by comparing some common parameters. On the basis of literature survey, following comparisons have been made (as shown in Tables 1 and 2).

Table 1. Comparison between Dynamic and Static Load Balancing Algorithm

Table 2. Comparison between Decentralized and Centralize Load Balancing Algorithm

10. Research Gap Analysis and Problem Formulation

After extensive literature survey, various research gaps come to picture for the current research work in the area of grid computing and load balancing. Load balancing in grid environment is significantly complicated by the unique characteristics of grids. The reason can be found be going through the assumption underlying traditional system.

11. Load Balancing Algorithm Challenge

In grid computing, many unique characteristics make the design of load balancing algorithm more challenging as explained below [ 70-78].

11.1 Storage Resources Utilization

For load balancing strategy that needs to balance load of a Data Grid in such a judicious way that computation and storage resources in each site are simultaneously well utilized for a variety of data-intensive applications.

11.2 Performance

Load-balancing strategy can achieve high performance for data- intensive jobs in Data Grid environments.

11.3 Response Time

Building a model to estimate the response time of job running at a local site or remote site to confirm that new load balancing approach can achieve high performance for data-intensive jobs running on a resource-sharing Data Grid. Response time was realized with a reduction of communication cost between clusters.

11.4 Throughput

With the help of Load balancing global throughput of these software environments, workloads have to be evenly scheduled among the available resources.

11.5 Scalability and Availability

The search of load balancing algorithm across a grid is the lack of scalability and the need to acquire system wide knowledge by the nodes of such a system to perform load balancing decisions.

11.6 Decentralization

To overcome a single point of failure, scalability, fault tolerance, the communication overhead incurred by frequent state information exchange between machines decentralize mechanism is used, it significantly reduces the communication overhead, while quickly updating the state information in a decentralized fashion.

11.7 Heterogeneous (Distributed and Parallel Computer System)

Grid Computing solving of massive computational problems by making use of unused resources of a largely heterogeneous collection of computers in a distributed infrastructure. A heterogeneous computational grid mainly has two categories of resources: First networks, that are used to interconnect these computational resources, may be differing significantly in terms of their bandwidth and communication protocol. Second, computational resources may have different hardware and also different software, such as instruction set, computer architectures, number of resource, physical memory size, CPU speed, different OS, and so on.

11.8 Site Autonomy

Site autonomy greatly complicates the design of effective grid load balancing. A site is an autonomous computational entity. It usually has its own scheduling policy, which complicate the prediction of a job in the site. A single overall performance goal is not feasible for a grid system since each site has its own performance goal and scheduling decision is made independently of other sites according to its own performance goal.

11.9 Local Priority

It is another important issue. Certain classes of job have higher priority only on certain specific resources. For example, it can be expected that local jobs will be assigned higher priorities, such as local jobs will be better served on the local resources.

11.10 Resource Non-Dedication

Resource usage contention is a major issue. Competition may exist in both computational resources and interconnection network. Due to the non dedication of resources, a resource may join multiple grids simultaneously. The workload from local user and other grid share the recourse, concurrently the underlying interconnection network is shared as well. One consequence of contention is that behavior and performance can vary over time in WAN using the internet protocol suite, network characteristics, such as latency and bandwidth may be varying over time. Under such an environment, designing an accurate performance model is extremely difficult.

11.11 Application Diversity

The problem arises because the grid applications are from a wide range of users, each having its own special requirements. For example, some application may require sequential execution, some application may consist of asset of independent jobs and others may consist of a set of dependent jobs, in this context; building a general-purpose load balancing system seems extremely difficult. An adequate load balancing system should be able to handle a variety of application.

11.12 Dynamic Behavior

In traditional distributed computing enviroments (cluster), the pool of resources is assumed to be fixed or stable. In grid environment, dynamic exist in both the networks and computational resources. First, a network shared by many parities cannot provide guaranteed bandwidth in WAN. Second, both availability and capabiity of computation resources will exhibit dynamic behaviour. On one hand, new resouces may join the grid and on the other hand, some resorces may become unavialable due to network failure problem. After a new resource joins the grid, the dynamic behavior of load balancing should be able to detect it automatically and leverage the new resource in the later balancing decision making.

11.13 Resource Selection

In traditional systems, executable code of applications and input/output data are usually in the same site, or the input sources and output destinations are determined before the application is submitted. Thus the cost is a constant determined before execution and load balancing algorithm need not consider it but in a grid which consists of a large number of heterogeneous computing sites (from supercomputers to desktop) and storage sites connected via WAN, the computation sites of an application are selected by the grid load balancer according to resource status and certain performance models.

11.4 Computation Data Separation

In a grid, the communication bandwidth of the underlying network is limited and shared by a host of background loads, so the inter domain communication cost cannot be neglected, but the data staging cost is considerable because of data intensiveness of grid applications. This situation brings about the computation data separation problem, the advantage brought by selecting a computational resource that can provide low computational cost may be neutralized by its high access cost to the storage site.

12. Problem Formulation

Load balancing problem becomes more challenging because of some unique characteristics belonging to grid computing. It is often difficult to make comparisons between distinct efforts because each load balancing is usually developed for a particular system environment or particular greedy application with different assumptions and constraints.

These challenges pose significant obstacles on the problem of designing an efficient and effective load balancing system for Grid environments. Some problem resulting from the above are not solved successfully yet and still open research issues. As a result, new load balancing frame work must be developed for Grid, which should reflect the unique characteristics of grid systems.

13. Comparative Analysis of Existing Load Balancing Algorithms

In this section comparative study of load balancing algorithms has been done on the basis of some parameters like, scalability, security, throughput, migration time, efficiency, fault tolerance, overload rejection, resource utilization, forecasting accuracy and stability etc. Table 3 lists the comparative study of all the Existing Algorithms.

Table 3. Comparative Study of all the Existing Algorithms [58-82]

Node reconfiguration mechanism makes application workload migrate from source node to destination node, and then let source node depart from original computing environment. There are two implementation fashions of node reconfiguration, first one is synchronous method and the other is asynchronous method. Best performance can be obtained by maintaining the order of node reconfiguration messages [55-56].

In Virtual machine, migration snapshots of machine are sent to other machine by using two migration method, live migration and regular migration. An important aspect of this mechanism is to make the run-time job migration with non-dedicated shared resources in dynamic grid environment and also provides high isolation, and security [57-58].

Robin Hood algorithm is totally non-centralized mechanism, using the proactive library for the migration of jobs, and a multicast channel for node coordination. It improves the decision time in non-centralized environment and uses the non-centralized architecture and non-broadcasting of the balance of each node to reduce the overload in network [59-60].

Load based graph method is based on network graph where each node is represented with its load, whereas load can be the number of users, average queue length or the memory utilization. It uses analytic model and single load determination policy throughout the system and load is determined on the basis of memory utilization and average queue length. The major parameter, network partitioning issues along with inter-cluster and intra-cluster transfers for decision making of load balancing for the transfer is considered here [61- 62].

In Data Consolidation algorithms, data replication technique is considered here which provide fast access and reliability by reducing the scheduling of task and data management. This is the main optimization technique, that provide fast data access and reliability. Data Consolidation (DC) is the combine name of task scheduling and data migration. DC can be considered as the dual of the data replication problem, where from one site, the data are scattered to many repository sites. Through this dual relationship the authors show that DC can also provide, by reversing the procedure, data replication services [63-64].

The above comparative study shows that all the characteristics are fulfilled by any single load balancing algorithm as this is very difficult to achieve. Parameters like performance, throughput, resource utilization, and efficiency are mandatory and therefore should be considered always while developing dynamic load balancing algorithms. In the proposed algorithm, the parameters have been considered to a large extent for a grid environment.

Conclusion

The work has analyzed the load balancing technique in existing distributed environments and a dynamic, decentralized load balancing and scheduling policy in heterogeneous grid Environments. The author also has reviewed the job migration technique in load balancing algorithm based on the framed policy. The time optimization, and cost efficiency of the algorithm were discussed, including various load balancing challenges.

References

[1]. M. Dobber, G. M. Koole, and R. D. Van Der Mei, (2004). “Dynamic load balancing for a grid application”. In Proceedings of HiPC'04, pp.342-352. Springer-Verslag.
[2]. Qureshi K, and Hussain SS, (2008). “A comparative study of parallelization strategies for fractal image scompression on a cluster of workstations”. Int. J. Comput. Methods, Vol.5, No.3, pp.463-482.
[3]. Rehman A, Qureshi K, Manuel P, and Rashid H, (2008). “Resource topology aware GridSim: A step a head”. J. Comput., Vol.19, No.2, pp.13-22.
[4]. Mark Baker, Rajkumar Buyya, and Domenico Laforenza, (2000). “The Grid: International Efforts in Global Computing”. Intl. Conferences on Advances in Infrastructure for Electronic, Business, Science, and Education on the Internet, Italy.
[5]. Ian Foster, C. Kesselman, and Steve Tuecke, (2001). “The Anatomy of the Grid: Enabting Scalable Virtual Organization” International Journal of Supercomputer Applications, Vol.15, No.3. Retrieved from http://www. globus.oryfrescarch/papers/anatomy.pdf
[6]. Parveen Jain, and Daya Gupta, (2009). “An Algorithm for Dynamic Load Balancing in Distributed Systems with Multiple Supporting Nodes by Exploiting the Interrupt Service”. Int. J. of Recent Trends in Engineering and Technology, Vol.1, No.1, pp.232-236.
[7]. Kabalan, K.Y., W.W. Smar, and J.Y. Hakimian, (2002). “Adaptive load sharing in heterogeneous systems: Policies, modifications, and simulation”. Intl. J. Simulation, Vol.3, No.1-2, pp.89-100.
[8]. Y. Zomaya, and Yee-Hwei, (2001). “Observations on using genetic algorithms for dynamic load-balancing”. IEEE Trans. on Parallel and Distributed Systems, Vol.12, No.9, pp.899-911.
[9]. Y. Lan, and T. Yu, (1995). “A Dynamic Central Scheduler Load-Balancing Mechanism”. Proc. 14th IEEE Conf. on Computers and Communication, Tokyo, Japan, pp.734- 740.
[10]. H.C. Lin and C.S. Raghavendra, (1992). “A Dynamic Load-Balancing Policy with a Central Job Dispatcher (LBC)”, IEEE Transaction on Software Engineering, Vol.18, No.2, pp.148-158.
[11]. Z. Zeng and B. Veeravalli, (2004). “Rate- Based and Queue-Based Dynamic Load Balancing Algorithms in Distributed Systems”. Proc. 10th IEEE Int. Conf. on Parallel and Distributed Systems, pp.349- 356.
[12]. M. Amini and H. Deldari, (2006). “Grid Load Balancing using an Echo System of Ants”, Proc. of 24th IASTED Int. Conf., Innsbruck, Austria, pp.47-52.
[13]. Jerrell Watts, and Stephen Taylor, (1998). “A Practical Approach to Dynamic Load Balancing”. Journal of Computer Science, Vol.3, No.3, pp.186-194.
[14]. Yagoubi and Y. Slimani, (2007). “Task Load Balancing Strategy for Grid Computing”. IEEE Transactions on Parallel and Distributed Systems, Vol.9, No.3, PP.235-248.
[15]. Alaoui, Frieder and El-hzawi, (1999). “A parallel genetic algorithm for task mapping on parallel machine”. IPPS 1999: Parallel and Distributed Processing, pp 201-209.
[16]. Belabbas Yagoubi and Yahya Slimani, “Dynamic Load Balancing Strategy for Grid Computing”. Proc. of World Academy of Science, Engineering and Technology, Vol.13, pp.260- 265.
[17]. Foster, and C. Kesselman, (1998). “The Globus Project: a Status Report”. In Proc. of Seventh Heterogeneous Computing Workshop (HCW 98), pp.4-18.
[18]. Chervenak, A., I. Fosterand C. Kesselman, C . Salisbury, and S. Tuecke, (2000). “The data Grid: Towards architecture for the distributed management and analysis of large scientific datasets”. J. Network and Computer Applications, Vol.23, No.3, pp.187-200.
[19]. Xu, C.Z. and F.C.M. Lau, (1997). Load Balancing in Parallel Computers: Theory and Practice. Kluwer, Boston, MA.
[20]. Berman, F., G. Fox, and Y. Hey, (2003). Grid Computing: Making the Global Infrastructure a Reality. Wiley Series in Comm. Networking & Distributed System.
[21]. Yanmin Zhu, and Lionel M. Ni, (2013). A Survey on Grid Scheduling Systems. Technical Report SJTU_CS_TR_ 200309001, Department of Computer Science and Engineering, Shanghai Jiao Tong University.
[22]. Leinberger, W., G. Karypis, V. Kumar, and R. Biswas, (2000). “Load balancing across near homogeneous multi-resource servers”. In 9th Heterogeneous Computing Workshop, pp.60-71.
[23]. Buyya, R., (n.d). A Grid Simulation Toolkit for Resource Modelling and Application Scheduling for Parallel and Distributed Computing, The Gridbus Project, GRIDS Lab, The University of Melbourne,
[24]. Belabbas Yagoubi, Hadj Tayed lilia, and Halima Si Moussa, (2006). “Load Balancing in Grid Computing”. Asian Journal of Information Technology, Vol.5, No.10, pp. 1095-1103.
[25]. Foster, I, (2002). “The grid: A new infrastructure for 21st Century Science”. Physics Today, Vol.55, No.2, pp.42-47.
[26]. Foster, I., and C. Kesselman, (1998). The Grid: Blueprint for a New Computing Infrastructure. Morgan Kaufman.
[27]. Arora, M., S. K. Das, and R. Biswas, (2002). “A decentralized scheduling and load balancing algorithm for heterogeneous grid environments”. In Proc. of International Conference on Parallel Processing Workshop (ICPPW’02), Vancouver, British Columbia Canada, pp.499-505.
[28]. Fangpeng Dong, and G. Akl Selim, (2006). Scheduling Algorithm for Grid Computing: State-of-theart and Open Problems. Technical Report, No. 2006-504, School of Computing, Queen’s University Kingston, Ontario.
[29]. Florin Leon, Dan Galea, and Mihai Horia Zaharia, (2002). “Load Balancing in distributed systems using cognitive behavioral in distributed system using congnitive behavioral models”. Bulletin of Technical University of Lasi, Vol. XLVIII (LII), No.1-4, pp.119-124.
[30]. Xu, C. Z., and F. C. M. Lau, (1997). Load Balancing in Parallel Computers: Theory and Practice. Kluwer, Boston, MA.
[31]. Kristian Paul Bubendorfer, (1996). Resource based Policies for Load Distribution. (Master Thesis), Victoria University of Wellington.
[32]. Zhu, Y., (2003). A Survey on Grid Scheduling Systems. Technical Report, Department of Computer Science, Hong Kong University of Science and Technology.
[33]. Nieuwpoort, R. V., T. Kielmann, and H.E. Bal, (2001). “Efficient load balancing for wide-area divide-andconquer application”. In Proc. Eighth ACM SIGPLAN Symposium on Principales and Practice of Parallel Programming (PPoPP’01), Snowbird, UT, pp.34-43.
[34]. Ferrari, D., and S. Zhou, (1987). “An empirical investigation of load indices for load balancing application”. Proc of 12th International Symposium on Computer Performance Modeling Measurement and Evaluation, pp.515-528.
[35]. Casavant, T.L., and J. G. Kuhl, (1997). “A taxonomy of scheduling in general purpose distributed computing systems”. IEEE Trans. Software Engin., Vol.14, No.2, pp.141-153.
[36]. Rotithor, H. G., (1994). “Taxonomy of dynamic task scheduling schemes in distributed Computing Systems”. In IEEE Proc: on Computer and Digital Techniques, Vol.141, No.2, pp.1-10.
[37]. Sandeep Sharma, Sarabjit Singh, and Meenakshi Sharma, (2008). “Performance Analysis of Load Balancing Algorithms”. World Academy of Science, Engineering and Technology, Vol.38.
[38]. M. Backschat, A. Pfaffinger, and C. Zenger, (1996). “Economic Based Dynamic Load Distribution in Large Workstation Networks”. In Euro-Par'96, No.1124, pp.631- 634.
[39]. H. E. Bal, R. Bhoedjang, R. Hofman, C. Jacobs, K. Langendoen, T. Ruhl, and F. Kaashoek, (1998). “Performance Evaluation of the Orca Shared Object System”. ACM Transactions on Computer Systems, Vol.16, No.1, pp.1-40.
[40]. Rob V. van Nieuwpoort, Thilo Kielmann, and Henri E. Bal, (2001). “Efficient Load Balancing for Wide-Area Divideand- Conquer Applications”. PPoPP '01 Proceedings of the Eighth ACM SIGPLAN Symposium on Principles and Practices of Parallel Programming, pp.33-43.
[41]. J. Baldeschwieler, R. Blumofe, and E. Brewer. (1996). “ATLAS: An Infrastructure for Global Computing”. In Seventh ACM SIGOPS European Workshop on System Support for Worldwide Applications, pp.165-172.
[42]. Schopf, J., (2001). “Ten actions when super scheduling, document of Scheduling Working Group”. In Global Grid Forum.
[43]. Su., A., F. Berman, R. Wolski, and M. Mills Strout, (1999). “Using apples to achedule simple SARA on the computational grid”. In International J. of High Performance Computing Applications, Vol.13, pp.253- 262.
[44]. R.D. Blumofe and C.E. Leiserson, (1994). “Scheduling th Multithreaded Computations by Work Stealing”. In 35 Annual Symposium on Foundations of Computer Science (FOCS '94), Santa Fe, New Mexico, pp.356-368
[45]. Casanova, H., M. Kim, J.S. Plank, and J.J. Dongarra, (1999). “Adaptive scheduling for task farming with grid middleware”. In International J. of High Performance Computing Application, Vol.13, No.3, pp.231-240.
[46]. N. G. Shivaratri, P. Krueger, and M. Ginghal, (1992). “Load Distributing for Locally Distributed Systems”. IEEE Computer, Vol.25, Vol.12, pp.33-44.
[47]. Wu, M., and X. Suna, (2003). “A general self-adaptive t a s k s c h e d u l i n g s y s t e m f o r n o n - d e d i c a t e d Heterogeneous computing”. In Proc. of IEEE International Conferences on Cluster Computing (CLUSTER’03), Hong Kong, pp.354-361.
[48]. Abraham, A., R. Buyya, and B. Nath, (2000). “Nature’s heuristic for scheduling jobs on computational grids”. In Proc. of 8th IEEE Intl. Conf. Adv. Comput. Communicat. (ADCOM 2000), Cochin, India, pp.45-52.
[49]. Riky Subrata Albert Y., and Zomaya Bjorn Landfeldt, (2006). “Artificial Life Techniques for Load Balancing in Computational Grids”. Journal of Computer and System Sciences, Vol.73, No.8, pp.1176-1190.
[50]. Nazir B, Qureshi K, and Manuel P, (2008). “Adaptive fault tolerant job scheduling strategy for economy based grid”. J. Super Comput., pp.116-134.
[51]. Hussain S, Qureshi K, and Rashid H, (2009). “Local predecimation with range index communication parallelization strategy for fractal image compression on a cluster of workstations”. Int. Arab. J. Inf. Technol., Vol.6, No.3, pp.293-296.
[52]. Javier Bustos Jimenez, (2003). “Robin Hood: An Active Objects Load Balancing Mechanism for Intranet”. Proc. of Workshop de Sistemas Distribuidos y Paralelismo, Chile.
[53]. Po-Cheng Chen, Cheng-I Lin, Sheng-Wei Huang, Jyh- Biau Chang, Ce-Kuen Shieh, and Tyng-Yeu Liang, (2008). “A Performance Study of Virtual Machine Migration vs. Thread Migration for Grid Systems”. 22nd International Conference on Advanced Information Networking and Applications - Workshops (Aina Workshops 2008), Okinawa, pp. 86-91.
[54]. Parag Kulkarni, and Indranil Sengupta, (2000). “Load Balancing With Multiple Token Policy”. Proceedings Seventh International Conference on Parallel and Distributed Systems (Cat. No.PR00568), Iwate, pp. 99-107.
[55]. P. Kokkinos, K. Christodoulopoulos, A. Kretsis, and E. Varvarigos, (2008). “Data Consolidation: A Task Scheduling and Data Migration Technique for Grid Networks”. Eighth IEEE International Symposium on Cluster Computing and the Grid, (CCGRID), Lyon, pp.722-727.
[56]. N. Rathore, (2016). “Dynamic Threshold Based Load B a l a n c i n g A l g o r i t h m s ” . W i r e l e s s P e r s o n a l Communication, Springer Publication-New-York (USA), ISSN print 0929-6212, ISSN online 1572-834X, Vol.91, No.1, pp.151-185.
[57]. N Rathore, and I Chana, (2016). “Job Migration Policies for Grid Environment ”. Wireless Personal Communication, Springer Publication-New-York (USA), ISSN print 0929-6212, Vol.89, No.1, pp.241-269, IF -0.979.
[58]. N Rathore, and I Chana, (2015). “Variable Threshold Based Hierarchical Load Balancing Technique in Grid”. Engineering with Computers, Springer Publication- London (England (UK), ISSN: 0177-0667 (print version) ISSN: 1435-5663 (electronic version), Vol.31, No.3, pp.597-615, IF- 1.451.
[59]. N. Rathore, and I Chana, (2014). “Load Balancing and Job Migration Techniques in Grid: A Survey of Recent Trends”. Wireless Personal Communication, Springer Publication-New-York (USA), ISSN print 0929-6212, ISSN online 1572-834X, Vol.79, No.3, pp.2089-2125, IF - 0.979.
[60]. N. Rathore, and I. Chana, (2014). “Job migration with fault tolerance based QoS scheduling using hash table functionality in Social Grid Computing”. Journal of Intelligent & Fuzzy Systems, IOS Press Publication- Netherland, Vol.27, No.6, pp.2821-2833, ISSN print 1064- 1246, IF- 0.936.
[61]. Neeraj Kumar Rathore, (2016). “Faults in Grid”. International Journal of Software and Computer Science Engineering, Mantech Publiations, Vol.1, No.1, pp.1-19.
[62]. Neeraj Kumar Rathore, (2016). “Installation of Alchemi.NET in Computational Grid”. i-manager’s Journal on Computer Science (JCOM), Vol.4, No.2, June-August , 2016 Print 2347-2227, E-ISSN 2347-6141, pp.1-5..
[63]. Neeraj Kumar Rathore, (2016). “Ethical Hacking & Security Against Cyber Crime”. i-manager’s Journal on Information Technology (JIT), Vol.5, No.1, Dec 2015-Feb 2016, Print ISSN 2277-5110, E-ISSN 2277-5250, pp.7-11.
[64]. Neeraj Kumar Rathore, (2015). “Efficient Agent Based Priority Scheduling and Load Balancing Using Fuzzy Logic in Grid Computing”. i-manager’s Journal on Computer Science (JCOM), Vol.3, No.3, Sep - Nov 2015 Print ISSN 2347–2227, E-ISSN 2347–6141, pp.11-22.
[65]. Neeraj Kumar Rathore, (2015). “Map Reduce Architecture for Grid”. i-manager’s Journal on Software Engineering (JSE), Vol.10, No.1, Jul-Sep 2015, Print ISSN 0973-5151, E-ISSN 2230-7168, pp.21-30.
[66]. Neeraj Kumar Rathore, (2015). “GridSim Installation and Implementation Process”. i-manager’s Journal on Cloud Computing (JCC), Vol.2, No.4, Aug-Oct 2015, Print ISSN 2349-6835, E-ISSN 2350-1308, pp. 23-34.
[67]. Vishal Sharma, Rajesh Kumar, and Neeraj Kumar Rathore, (2015). “Topological Broadcasting using Parameter Sensitivity based Logical Proximity Graphs in Coordinated Ground-Flying Ad Hoc Networks”. Journal of Wireless Mobile Networks Ubiquitous Computing and Dependable Applications (JoWUA), Vol.6, No.3, pp.54-72.
[68]. Neeraj Kumar Rathore and Inderveer Chana, (2013). “Report on Hierarchal Load Balancing Technique in Grid Environment”. i-manager's Journal on Information Technology, Vol.2, No.4, Sep-Nov 2013, Print ISSN 2277- 5110, E-ISSN 2277-5250, pp. 26-40.
[69]. Neeraj Kumar Rathore and Inderveer Chana, (2010). “Checkpointing Algorithm in Alchemi.NET”. Pragyaan: Journal of Information Technology, IMS Dehradun. ISSN No: 0974-5513, Vol.8, No.1, pp.32-38.
[70]. Neeraj Kumar Rathore and I Chana, (2011). “A Cogitative Analysis of Load Balancing Technique with Job Migration in Grid Environment”. World Congress on Information and Communication Technology (WICT), Mumbai, pp.77-82.
[71]. Neeraj Kumar Rathore and I Chana, (2013). “A Sender Initiate based Hierarchical Load Balancing Technique for Grid using Variable Threshold Value”. In International Conference IEEE-ISPC, pp.1-6.
[72]. Neeraj Kumar Rathore, (2015). “Efficient Load Balancing Algorithm in Grid”. In 30th M.P. Young Scientist Congress, Bhopal, M.P., pp.56.
[73]. Neeraj Kumar Rathore, (2014). “Efficient Hierarchical Load Balancing Technique based on Grid”. In 29th M.P. Young Scientist Congress, Bhopal, M.P., pp.55.
[74]. Rohini Chouhan and Neeraj Kumar Rathore, (2012). “Comparision of Load Balancing Technique in Grid”. 17th Annual Conference of Gwalior Acadmy of Mathematical Science and National Symposium on Computational Mathematics & Information Technology, JUET, Guna, M.P.
[75]. Neeraj Kumar Rathore, and Inderveer Chana, (2010). “Fault Tolerance Algorithm in Alchemi.NET Middleware”, National Conference on Education & Research (ConFR10), Third CSI National Conference of CSI Division V, Bhopal Chapter, IEEE Bombay, and MPCST Bhopal.
[76]. Neeraj Kumar Rathore, and Inderveer Chana, (2009). “Checkpointing Algorithm in Alchemi.NET”. Annual Conference of Vijnana Parishad of Iindia and National S ymp o s i um Re c e n t D e v e l o pme n t i n A p p l i e d Mathematics & Information Technology, JUET, Guna, M.P.
[77]. Neeraj Kumar Rathore, and Inderveer Chana, (2008). “Comparative Analysis of Checkpointing”. In IC Gupta and Deepak Jaroliya (Ed.), IT Enabled Practices and Emerging Management Paradigm, pp.321-327.
[78]. Neeraj Kumar Rathore, and Rohini Chohan, (2016). An Enhancement of Gridsim Architecture with Load Balancing. In Scholar's Press, ISBN: 978-3-639-76989-0.
[79]. Neeraj Kumar Rathore and Anuradha Sharma, (2015). Efficient Dynamic Distributed Load Balancing Tech-nique. In Lambert Academic Publication House, Germany, ISBN no-978-3-659-78288-6.
[80]. Neeraj Kumar Rathore and Inderveer Chana, (2010). Checkpointing Algorithm in Alchemi.NET. In Lambert Academic Publication House (LBA), Germany ISBN-10: 3843361371.
[81]. Neeraj Rathore and Inderveer Chana, (2006). Implementing Checkpointing Algorithm in Alchemi .NET. (M.E. Thesis). Thapar University, Patiala.
[82]. Neeraj Rathore and Inderveer Chana, (2014). An Efficient Dynamic and Decentralized Load Balancing Technique for Grid. (Ph.D. Thesis). Thapar University, Patiala.