A Randomized Scheduling Algorithm for Multiprocessor Environments

In this paper, we propose a randomized scheduling algorithm on a fully connected homogeneous multiprocessor environment. This is a randomized version of our earlier algorithm in which we used priority of modules that was dependent on the computation and the communication times associated with the modules. First we propose a generalization of our earlier scheduling algorithm with restricted number of clusters to reduce the time complexity. Then we apply randomization to the generalized algorithm and demonstrate its superiority over our previous work. We show the complexity of our proposed algorithm as O(ab |V| (|V|+|E|) log (|V|+|E|)). Here a is the number of randomization steps, and b is a limit on the number of clusters formed. If we use a and b as constants, then this gives a better complexity in comparison with the complexity of our previous algorithm that was O(|V|2(|V|+|E|) log (|V|+|E|)). In comparison with our previous work we get a performance improvement of up to 6.63% and a performance improvement of up to 12.56% when compared with Sarkar's Edge Zeroing algorithm.

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

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

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

[4]  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).

[5]  Howard Jay Siegel,et al.  Heterogeneous Distributed Computing , 1999 .

[6]  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).

[7]  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..

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

[9]  John K. Antonio,et al.  Software support for heterogeneous computing , 1996, CSUR.

[10]  Rajeev Motwani,et al.  Randomized Algorithms , 1995, SIGA.

[11]  R. F. Freund,et al.  Guest Editor's Introduction: Heterogeneous Processing , 1993 .