Allocating Independent Subtasks on Parallel Processors
IEEE Transactions on Software Engineering
Guided self-scheduling: A practical scheduling scheme for parallel supercomputers
IEEE Transactions on Computers
Load-sharing in heterogeneous systems via weighted factoring
Proceedings of the eighth annual ACM symposium on Parallel algorithms and architectures
Parallel programming with MPI
Adaptively Scheduling Parallel Loops in Distributed Shared-Memory Systems
IEEE Transactions on Parallel and Distributed Systems
Static scheduling algorithms for allocating directed task graphs to multiprocessors
ACM Computing Surveys (CSUR)
Loop tiling for parallelism
Exploiting Wavefront Parallelism on Large-Scale Shared-Memory Multiprocessors
IEEE Transactions on Parallel and Distributed Systems
An Efficient Adaptive Scheduling Scheme for Distributed Memory Multicomputers
IEEE Transactions on Parallel and Distributed Systems
High Performance Compilers for Parallel Computing
High Performance Compilers for Parallel Computing
Trapezoid Self-Scheduling: A Practical Scheduling Scheme for Parallel Compilers
IEEE Transactions on Parallel and Distributed Systems
Using Processor Affinity in Loop Scheduling on Shared-Memory Multiprocessors
IEEE Transactions on Parallel and Distributed Systems
Minimizing Completion Time for Loop Tiling with Computation and Communication Overlapping
IPDPS '01 Proceedings of the 15th International Parallel & Distributed Processing Symposium
Defining and Supporting Pipelined Executions in OpenMP
WOMPAT '01 Proceedings of the International Workshop on OpenMP Applications and Tools: OpenMP Shared Memory Parallel Programming
Optimal task scheduling at run time to exploit intra-tile parallelism
Parallel Computing
A Class of Loop Self-Scheduling for Heterogeneous Clusters
CLUSTER '01 Proceedings of the 3rd IEEE International Conference on Cluster Computing
Compiling Tiled Iteration Spaces for Clusters
CLUSTER '02 Proceedings of the IEEE International Conference on Cluster Computing
Linear Algebra Algorithms in Heterogeneous Cluster of Personal Computers
HCW '00 Proceedings of the 9th Heterogeneous Computing Workshop
Loop scheduling for heterogeneity
HPDC '95 Proceedings of the 4th IEEE International Symposium on High Performance Distributed Computing
An Investigation of Feedback Guided Dynamic Scheduling of Nested Loops
ICPP '00 Proceedings of the 2000 International Workshop on Parallel Processing
(R) Load Balancing for Parallel Loops in Workstation Clusters
ICPP '96 Proceedings of the Proceedings of the 1996 International Conference on Parallel Processing - Volume 3
Reducing the Communication Cost via Chain Pattern Scheduling
NCA '05 Proceedings of the Fourth IEEE International Symposium on Network Computing and Applications
ISPAN '05 Proceedings of the 8th International Symposium on Parallel Architectures,Algorithms and Networks
A parallel loop self-scheduling on extremely heterogeneous PC clusters
ICCS'03 Proceedings of the 2003 international conference on Computational science
Enhancing self-scheduling algorithms via synchronization and weighting
Journal of Parallel and Distributed Computing
Future Generation Computer Systems
A flexible general-purpose parallelizing architecture for nested loops in reconfigurable platforms
PATMOS'07 Proceedings of the 17th international conference on Integrated Circuit and System Design: power and timing modeling, optimization and simulation
Using analytical models to load balancing in a heterogeneous network of computers
PaCT'07 Proceedings of the 9th international conference on Parallel Computing Technologies
Concurrency and Computation: Practice & Experience
A dynamic self-scheduling scheme for heterogeneous multiprocessor architectures
ACM Transactions on Architecture and Code Optimization (TACO) - Special Issue on High-Performance Embedded Architectures and Compilers
The Journal of Supercomputing
Hi-index | 0.00 |
Distributed computing systems are a viable and less expensive alternative to parallel computers. However, concurrent programming methods in distributed systems have not been studied as extensively as for parallel computers. Some of the main research issues are how to deal with scheduling and load balancing of such a system, which may consist of heterogeneous computers. In the past, a variety of dynamic scheduling schemes suitable for parallel loops (with independent iterations) on heterogeneous computer clusters have been obtained and studied. However, no study of dynamic schemes for loops with iteration dependencies has been reported so far. In this work we study the problem of scheduling loops with iteration dependencies for heterogeneous (dedicated and non-dedicated) clusters. The presence of iteration dependencies incurs an extra degree of difficulty and makes the development of such schemes quite a challenge. We extend three well known dynamic schemes (CSS, TSS and DTSS) by introducing synchronization points at certain intervals so that processors compute in pipelined fashion. Our scheme is called dynamic multi-phase scheduling (DMPS) and we apply it to loops with iteration dependencies. We implemented our new scheme on a network of heterogeneous computers and studied its performance. Through extensive testing on two real-life applications (the heat equation and the Floyd-Steinberg algorithm), we show that the proposed method is efficient for parallelizing nested loops with dependencies on heterogeneous systems.