An efficient clustering algorithm for partitioning parallel programs
This paper presents a clustering algorithm that partitions node-labelled and edge-labelled directed acyclic precedence graphs (APG) into clusters such that all the clusters have balanced amount of computation load and there is only one communication path between any pair of clusters. The algorithm initially demonstrates all exploitable parallelism instances in a tree structure, then balances the computation load among the parallelism instances, and finally partitions the parallelism instances into clusters which can be scheduled on a set of processors belonging to an MIMD multiprocessor. The comparison results show that the clusters generated by our algorithm could be scheduled in less completion time than the clusters obtained by using other approaches.
clustering partitioning granularity multiprocessor scheduling parallel processing