Article Preview
Top1. Introduction
Distributed computing system (DCS) consists of multiple processors, which are distributed at different sites and interconnected by a communication network. Task allocation is very important step in DCS. The purpose of task allocation is to maintain maximum utilization of computing resources. Task allocation approaches can be classified into two categories: statistical and dynamical. Statistical approaches allow a stochastic relaxation that reduces the cost function in search of a global minimum to take the task allocation decision. The statistical approaches get near to optimal solutions. In statistical approaches, when a task is assigned to the processor, it remains there until the execution of program. Due to this reason, it required more convergence times. While dynamical approaches are employed more frequently because they offer a better efficiency, having the flexibility of tasks migration.
The performance of the system depends upon several components such as load distribution, system reliability and system cost. Load distribution improves the performance of the system by transferring tasks from heavily loaded processors to lightly loaded processors. If workloads at some processors are typically heavier than at others, or if some processors execute tasks more slowly than others, the situation of lightly loaded or heavily loaded processors are likely to occur often. It is shown that even in such D; at least one processor is likely to be idle while other processors are heavily loaded due to the statistical fluctuations in the arrival of tasks computing system to the system and task service time requirements. Therefore, even in a homogeneous distributed, system performance can be potentially improved by the appropriate transfer of the workload from heavily loaded processors to lightly loaded processors. System reliability also plays an important role to improve the performance of the system. The system reliability can be defined as that all involved processors and communication links are operational during the execution of program.
In this manuscript, we have used the clustering technique to reduce the inter-task communication costs. Clustering is the act of grouping a set of objects in such a way that objects in the same groups (clusters) are more similar (in some senses) to each other to those in other group (cluster). The result of a cluster analysis can contribute directly to development of classification schemes. Indeed, clustering is used to reduce a very large data to a relatively compact analysis. Clustering was originated by Driver and Kroeber in 1932 and introduced to psychology by Zubin in 1938. Clustering is used in many fields such as machine learning, pattern recognition, image analysis, information retrieval, bioinformatics, data compression and computer graphics.