Optimal multiprocessor task scheduling using dominance and equivalence relations
Computers and Operations Research
ACM Computing Surveys (CSUR)
Scalable Global and Local Hashing Strategies for Duplicate Pruning in Parallel A* Graph Search
IEEE Transactions on Parallel and Distributed Systems
IEEE Transactions on Computers
On Parallelizing the Multiprocessor Scheduling Problem
IEEE Transactions on Parallel and Distributed Systems
Random Trees and the Analysis of Branch and Bound Procedures
Journal of the ACM (JACM)
Genetic Scheduling for Parallel Processor Systems: Comparative Studies and Performance Issues
IEEE Transactions on Parallel and Distributed Systems
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)
Anomalies in parallel branch-and-bound algorithms
Communications of the ACM
Scheduling and Automatic Parallelization
Scheduling and Automatic Parallelization
Performance-Effective and Low-Complexity Task Scheduling for Heterogeneous Computing
IEEE Transactions on Parallel and Distributed Systems
State of the Art in Parallel Search Techniques for Discrete Optimization Problems
IEEE Transactions on Knowledge and Data Engineering
Unstructured Tree Search on SIMD Parallel Computers
IEEE Transactions on Parallel and Distributed Systems
Optimal Scheduling Strategies in a Multiprocessor System
IEEE Transactions on Computers
Studies in Semi-Admissible Heuristics
IEEE Transactions on Pattern Analysis and Machine Intelligence
Optimal scheduling of task graphs on parallel systems
PDCN'07 Proceedings of the 25th conference on Proceedings of the 25th IASTED International Multi-Conference: parallel and distributed computing and networks
A performance study of multiprocessor task scheduling algorithms
The Journal of Supercomputing
A List Scheduling Algorithm for Scheduling Multi-user Jobs on Clusters
High Performance Computing for Computational Science - VECPAR 2008
Scheduling task graphs optimally with A*
The Journal of Supercomputing
Optimal linear programming solutions for multiprocessor scheduling with communication delays
ICA3PP'12 Proceedings of the 12th international conference on Algorithms and Architectures for Parallel Processing - Volume Part I
Parallel partitioning for distributed systems using sequential assignment
Journal of Parallel and Distributed Computing
Reducing the solution space of optimal task scheduling
Computers and Operations Research
Predicting execution time of machine learning tasks for scheduling
International Journal of Hybrid Intelligent Systems
Hi-index | 0.00 |
Obtaining an optimal schedule for a set of precedence-constrained tasks is a well-known NP-complete problem in its general form. In view of the intractability of the problem, most of the previous work relies on heuristics that try to find reasonably high quality solutions in an acceptable amount of time. While optimal polynomial-time algorithms are known only for a few simple cases (and in other cases can only be obtained through an exhaustive search with prohibitively high time complexity), they may be critically important for applications in which performance is the prime objective. Optimal solutions can also serve as a reference to test the performance of various heuristics. Moreover, an optimal schedule for a program at hand needs to be determined only once (and off-line) but the program using that schedule is in general executed several times. In this paper, we propose optimal algorithms for static scheduling of task graphs with arbitrary parameters to multiple homogeneous processors. The first algorithm is based on the A^* search technique and uses a computationally efficient cost function for guiding the search with reduced complexity. Additionally, we propose a number of effective state-pruning techniques to reduce the search space. For further lowering the complexity, we propose an efficient parallelization of the search algorithm. We parallelize the algorithm with reduced interprocessor communication as well as with static and dynamic load-balancing schemes to evenly distribute the search states to the processors. We also propose an approximate algorithm that guarantees a bounded deviation from the optimal solution but executes in a considerably shorter time. Based on an extensive experimental evaluation of the algorithms, we conclude that the parallel algorithm with pruning techniques is an efficient scheme for generating optimal solutions of reasonably large problems while the approximate algorithm is effective if slightly degraded solutions are acceptable.