Software pipelining: an effective scheduling technique for VLIW machines
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
Scheduling precedence graphs in systems with interprocessor communication times
SIAM Journal on Computing
Faster scaling algorithms for network problems
SIAM Journal on Computing
Static Rate-Optimal Scheduling of Iterative Data-Flow Programs Via Optimum Unfolding
IEEE Transactions on Computers
Graphical development tools for network-based concurrent supercomputing
Proceedings of the 1991 ACM/IEEE conference on Supercomputing
The CODE 2.0 graphical parallel programming language
ICS '92 Proceedings of the 6th international conference on Supercomputing
PYRROS: static task scheduling and code generation for message passing multiprocessors
ICS '92 Proceedings of the 6th international conference on Supercomputing
Program partitioning for NUMA multiprocessor computer systems
Journal of Parallel and Distributed Computing - Special issue on performance of supercomputers
Task scheduling in parallel and distributed systems
Task scheduling in parallel and distributed systems
A Scalable Scheduling Scheme for Functional Parallelism on Distributed Memory Multiprocessor Systems
IEEE Transactions on Parallel and Distributed Systems
Run-time compilation for parallel sparse matrix computations
ICS '96 Proceedings of the 10th international conference on Supercomputing
Scheduling Parallel Computations
Journal of the ACM (JACM)
Partitioning and Scheduling Parallel Programs for Multiprocessors
Partitioning and Scheduling Parallel Programs for Multiprocessors
Parallel Programming and Compilers
Parallel Programming and Compilers
Hypertool: A Programming Aid for Message-Passing Systems
IEEE Transactions on Parallel and Distributed Systems
On the Granularity and Clustering of Directed Acyclic Task Graphs
IEEE Transactions on Parallel and Distributed Systems
DSC: Scheduling Parallel Tasks on an Unbounded Number of Processors
IEEE Transactions on Parallel and Distributed Systems
Determining Asynchronous Acyclic Pipeline Execution Times
IPPS '96 Proceedings of the 10th International Parallel Processing Symposium
Scheduling Loops on Parallel Processors: A Simple Algorithm with Close to Optimum Performance
CONPAR '92/ VAPP V Proceedings of the Second Joint International Conference on Vector and Parallel Processing: Parallel Processing
A Polynomial Time Method for Optimal Software Pipelining
CONPAR '92/ VAPP V Proceedings of the Second Joint International Conference on Vector and Parallel Processing: Parallel Processing
Low-Cost Task Scheduling for Distributed-Memory Machines
IEEE Transactions on Parallel and Distributed Systems
A Platform Independent Parallelising Tool Based on Graph Theoretic Models
VECPAR '00 Selected Papers and Invited Talks from the 4th International Conference on Vector and Parallel Processing
LISA '01 Proceedings of the 15th USENIX conference on System administration
A semi-static approach to mapping dynamic iterative tasks onto heterogeneous computing systems
Journal of Parallel and Distributed Computing
A new strategy for multiprocessor scheduling of cyclic task graphs
International Journal of High Performance Computing and Networking
Multiloop parallelisation using unrolling and fission
International Journal of Reconfigurable Computing - Special issue on selected papers from spl 2009 programmable logic and applications
Parallel programming with data driven model
EURO-PDP'00 Proceedings of the 8th Euromicro conference on Parallel and distributed processing
Stochastic DFS for multiprocessor scheduling of cyclic taskgraphs
PDCAT'04 Proceedings of the 5th international conference on Parallel and Distributed Computing: applications and Technologies
Hi-index | 0.00 |
Many partitioned scientific programs can be modeled as iterative executions of computational tasks and represented by iterative task graphs (ITGs). An ITG may or may not have dependence cycles. In this paper, we consider the symbolic scheduling of ITGs on distributed memory architectures with nonzero communication overhead and propose heuristic algorithms for scheduling both cyclic and acyclic ITGs without searching an entire iteration space. Our approach incorporates techniques of software pipelining, graph unfolding, directed acyclic graph (DAG) scheduling, and load balancing. We analyze the asymptotic optimality of the algorithms to show that the derived schedules are competitive to optimal solutions. We also study the sensitivity of scheduling performance on inaccurate weights. Finally, we present experimental results to demonstrate the effectiveness of the optimization techniques.