Towards an architecture-independent analysis of parallel algorithms
SIAM Journal on Computing
Task Clustering and Scheduling for Distributed Memory Parallel Architectures
IEEE Transactions on Parallel and Distributed Systems
Software support for heterogeneous computing
ACM Computing Surveys (CSUR)
Parallel Computer Vision on a Reconfigurable Multiprocessor Network
IEEE Transactions on Parallel and Distributed Systems
Compile-time estimation of communication costs for data parallel programs
Journal of Parallel and Distributed Computing
In search of clusters (2nd ed.)
In search of clusters (2nd ed.)
On Exploiting Task Duplication in Parallel Program Scheduling
IEEE Transactions on Parallel and Distributed Systems
Java network programming (2nd ed.)
Java network programming (2nd ed.)
Benchmarking and comparison of the task graph scheduling algorithms
Journal of Parallel and Distributed Computing
Static scheduling algorithms for allocating directed task graphs to multiprocessors
ACM Computing Surveys (CSUR)
CASCH: A Tool for Computer-Aided Scheduling
IEEE Concurrency
A performance study of multiprocessor task scheduling algorithms
The Journal of Supercomputing
Multi-site scheduling with multiple job reservations and forecasting methods
ISPA'06 Proceedings of the 4th international conference on Parallel and Distributed Processing and Applications
Improving communication latency with the write-only architecture
Journal of Parallel and Distributed Computing
Parallel partitioning for distributed systems using sequential assignment
Journal of Parallel and Distributed Computing
Hi-index | 0.00 |
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.