Benchmarking the clustering algorithms for multiprocessor environments using dynamic priority of modules

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 O ( | V | | E | ( | V | + | E | ) ) and DCCL ( Dynamic Computation Communication Load scheduling algorithm ) having complexity O ( | V | 2 ( | V | + | E | ) log ( | V | + | E | ) ) where | V | is the number of nodes in the task graph, and | E | 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 O ( ab | V | ( | V | + | E | ) log ( | V | + | E | ) ) 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 O ( ( | V | + | E | ) log ( | V | ) ) , EZ ( Edge Zeroing algorithm ) having complexity O ( | E | ( | V | + | E | ) ) , and LC ( Linear Clustering algorithm ) having complexity O ( | V | ( | V | + | E | ) ) . 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.

[1]  Vivek Sarkar,et al.  Partitioning and Scheduling Parallel Programs for Multiprocessing , 1989 .

[2]  Pramod Kumar Mishra,et al.  A clustering algorithm for multiprocessor environments using dynamic priority of modules , 2011 .

[3]  Zhen Liu,et al.  A Note on Graham's Bound , 1990, Inf. Process. Lett..

[4]  Erwin Kreyszig,et al.  Introductory Mathematical Statistics. , 1970 .

[5]  Hironori Kasahara,et al.  A standard task graph set for fair evaluation of multiprocessor scheduling algorithms , 2002 .

[6]  Ronald L. Graham,et al.  Optimal scheduling for two-processor systems , 1972, Acta Informatica.

[7]  Ishfaq Ahmad,et al.  Benchmarking and Comparison of the Task Graph Scheduling Algorithms , 1999, J. Parallel Distributed Comput..

[8]  S. Ranka,et al.  Applications and performance analysis of a compile-time optimization approach for list scheduling algorithms on distributed memory multiprocessors , 1992, Proceedings Supercomputing '92.

[9]  Abhishek Mishra,et al.  An extention of edge zeroing heuristic for scheduling precedence constrained task graphs on parallel systems using cluster dependent priority scheme , 2010, 2010 International Conference on Computer and Communication Technology (ICCCT).

[10]  Mayez A. Al-Mouhamed,et al.  Lower Bound on the Number of Processors and Time for Scheduling Precedence Graphs with Communication Costs , 1990, IEEE Trans. Software Eng..

[11]  Oscar H. Ibarra,et al.  On Mapping Systolic Algorithms onto the Hypercube , 1990, IEEE Trans. Parallel Distributed Syst..

[12]  John N. Tsitsiklis,et al.  Parallel and distributed computation , 1989 .

[13]  Pramod Kumar Mishra,et al.  A CLUSTERING HEURISTIC FOR MULTIPROCESSOR ENVIRONMENTS USING COMPUTATION AND COMMUNICATION LOADS OF MODULES , 2010 .

[14]  Hironori Kasahara,et al.  Practical Multiprocessor Scheduling Algorithms for Efficient Parallel Processing , 1984, IEEE Transactions on Computers.

[15]  Daniel Gajski,et al.  Hypertool: A Programming Aid for Message-Passing Systems , 1990, IEEE Trans. Parallel Distributed Syst..

[16]  Jing-Jang Hwang,et al.  Multiprocessor scheduling with interprocessor communication delays , 1988 .

[17]  Mihalis Yannakakis,et al.  Towards an Architecture-Independent Analysis of Parallel Algorithms , 1990, SIAM J. Comput..

[18]  Ronald L. Graham,et al.  Bounds on Multiprocessing Timing Anomalies , 1969, SIAM Journal of Applied Mathematics.

[19]  Tao Yang,et al.  A fast static scheduling algorithm for DAGs on an unbounded number of processors , 1991, Proceedings of the 1991 ACM/IEEE Conference on Supercomputing (Supercomputing '91).

[20]  Teodor Gabriel Crainic,et al.  Benchmark-problem instances for static scheduling of task graphs with communication delays on homogeneous multiprocessor systems , 2006, Comput. Oper. Res..

[21]  T. C. Hu Parallel Sequencing and Assembly Line Problems , 1961 .

[22]  K. Mani Chandy,et al.  A comparison of list schedules for parallel processing systems , 1974, Commun. ACM.

[23]  Philippe Chrétienne,et al.  C.P.M. Scheduling with Small Communication Delays and Task Duplication , 1991, Oper. Res..

[24]  Claire Hanen,et al.  An approximation algorithm for scheduling dependent tasks on m processors with small communication delays , 2001, Discret. Appl. Math..

[25]  Jeffrey J. P. Tsai,et al.  Clustering Algorithm for Parallelizing Software Systems in Multiprocessors Environment , 2000, IEEE Trans. Software Eng..

[26]  S. Madala,et al.  Performance of Synchronous Parallel Algorithms with Regular Structures , 1991, IEEE Trans. Parallel Distributed Syst..

[27]  Adel Mohammed Adel Al-Massarani,et al.  Priority-based scheduling and evaluation of precedence graphs with communication times , 1993 .

[28]  Tao Yang,et al.  List Scheduling With and Without Communication Delays , 1993, Parallel Comput..