Abstract
Triggered by the ever increasing advancements in processor and networking technology, a cluster of PCs connected by a high-speed network has become a viable and cost-effective platform for the execution of computation intensive parallel multithreaded applications. However, there are two research issues to be tackled in the scheduling problem for PC cluster computing: (1) how to reduce the communication overhead of executing a multithreaded application on the cluster; (2) how to exploit the heterogeneity, which is unavoidable in an evolving PC cluster, for the application. In this paper, we propose to use a duplication based approach in scheduling tasks/threads to a heterogeneous cluster of PCs. In duplication based scheduling, critical tasks are redundantly scheduled to more than one machine, in order to reduce the number of inter-task communication operations. The start times of the succeeding tasks are also reduced. The task duplication process is guided given the system heterogeneity in that the critical tasks are scheduled or replicated in faster machines. The algorithm has been implemented in our experimental application parallelization system for generating multithreaded parallel code executable on a cluster of Pentium PCs. Our experiments, using three numerical applications and one protocol processing kernel (multithreading per request), have indicated that heterogeneity of PC cluster is indeed useful for optimizing the execution of parallel multithreaded programs.
Similar content being viewed by others
References
I. Ahmad, Y.-K. Kwok, M.-Y. Wu, and W. Shu. CASCH: a tool for computer aided scheduling. IEEE Concurrency, 8(4):21–33, 2000.
I. Ahmad and Y.-K. Kwok. On exploiting task duplication in parallel program scheduling. IEEE Transactions on Parallel and Distributed Systems, 9(9):872–892, 1998.
CCGrid Web Site, http://www.ccgrid.org/.
M. Cosnard and M. Loi. Automatic task graphs generation techniques. Parallel Processing Letters, 5(4):527–538, 1995.
M. Cosnard, M. Marrakchi, Y. Robert, and D. Trystam. Parallel Gaussian elimination on An MIMD computer. Parallel Computing, 6:275–296, 1988.
S. M. Ehandarkar and H. R. Arabnia. Parallel computer vision on a reconfigurable multiprocessor network. IEEE Transactions on Parallel and Distributed Systems, 8(3):292–309, 1997.
T. Fahringer. Compile-time estimation of communication costs for data parallel programs. Journal of Parallel and Distributed Computing, 39:46–65, 1996.
M. Hughes, M. Schoffner, and D. Hamner, Java Network Programming, 2nd ed. Manning Publications Co., Greenwich, CT, 1999.
Y.-K. Kwok and I. Ahmad. Benchmarking and comparison of the task graph scheduling algorithms. Journal of Parallel and Distributed Computing, 59(3):381–422, 1999.
Y.-K. Kwok and I. Ahmad. Static scheduling algorithms for allocating directed task graphs to multiprocessors. ACM Computing Surveys, 31(4):406–471, 1999.
M. A. Palis, J.-C. Liou, and D. S. L. Wei. Task clustering and scheduling for distributed memory parallel architectures. IEEE Transactions on Parallel and Distributed Systems, 7(1):46–55, 1996.
C. Papadimitriou and M. Yannakakis. Toward an architecture independent analysis of parallel algorithms. SIAM Journal on Computing, 19(2):322–328, 1990.
G. F. Pfister. In Search of Clusters, 2nd ed. Prentice Hall, Englewood Cliffs, NJ, 1998.
B. Shirazi, H. Chen, and J. Marquis. Comparative study of task duplication static scheduling versus clustering and non-clustering techniques. Concurrency: Practice and Experience, 7(5):371–390, 1995.
H. J. Siegel, H. G. Dietz, and J. K. Antonio. Software support for heterogeneous computing. ACM Computing Surveys, 28(1):237–239, 1996.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Kwok, YK. On Exploiting Heterogeneity for Cluster Based Parallel Multithreading Using Task Duplication. The Journal of Supercomputing 25, 63–72 (2003). https://doi.org/10.1023/A:1022856623227
Issue Date:
DOI: https://doi.org/10.1023/A:1022856623227