The problem of scheduling and allocation of tasks to processing nodes in large Computational Grids (CG) is studied in this paper. Each node of the system is considered as an autonomous stand-alone processing unit, ranging from workstations or small computing devices to computational clusters. For large-scale scheduling on very large CGs, two heuristic algorithms (neighbor and Tabu search) are applied and tested. These techniques do not attempt to perfectly balance the load of the system since that is completely unrealistic especially for large CGs, but they rather try to solve the problem locally, using only the local information at each node. Simulation results shown the efficiency of the proposed algorithms, which can achieve an approximate improvement of 80% of the efficiency of the whole system. In addition, in a cluster-computing environment, a dynamic technique, which perfectly balances the load among the nodes of the cluster, was employed. Based on the divide and conquer principle, the algorithm first embeds the cluster to a hyper-dimensional grid (or else hyper-array) and then balances the load among them. Recursively, the hyper-grids are dividing into grids of smaller dimensions, until the dimensionality becomes zero and each hyper-grid becomes a single node. Then, all the nodes of the cluster are equally loaded.
展开▼