Abstract:
In this paper we give some extensive benchmark results for some dynamic priority clustering algorithms for homogeneous multiprocessor environments. By dynamic priority we mean a priority function that can change with every step of the algorithm. Using dynamic priority can give us more flexibility as compared to static priority algorithms. Our objective in this paper is to compare the dynamic priority algorithms with some well known algorithms from the literature and discuss their strengths and weaknesses. For our study we have selected two recently proposed dynamic priority algorithms: CPPS (Cluster Pair Priority Scheduling algorithm) having complexity and DCCL (Dynamic Computation Communication Load scheduling algorithm) having complexity where is the number of nodes in the task graph, and is the number of edges in the task graph. We have selected a recently proposed randomized algorithm with static priority (RCCL: Randomized Computation Communication Load scheduling algorithm) and converted it into a dynamic priority algorithm: RDCC (Randomized Dynamic Computation Communication load scheduling algorithm) having complexity where a is the number of randomization steps, and b is a limit on the number of clusters formed. We have also selected three well known algorithms from literature: DSC (Dominant Sequence Clustering algorithm) having complexity , EZ (Edge Zeroing algorithm) having complexity , and LC (Linear Clustering algorithm) having complexity . We have compared these algorithms using various comparison parameters including some statistical parameters, and also using various types of task graphs including some synthetic and real task graphs. Our results show that the dynamic priority algorithms give best results for the case of random task graphs, and for the case when the number of available processors are small.