Optimal Task Assignment in Homogeneous Networks
IEEE Transactions on Parallel and Distributed Systems
Static scheduling algorithms for allocating directed task graphs to multiprocessors
ACM Computing Surveys (CSUR)
Performance-Effective and Low-Complexity Task Scheduling for Heterogeneous Computing
IEEE Transactions on Parallel and Distributed Systems
The ANL/IBM SP Scheduling System
IPPS '95 Proceedings of the Workshop on Job Scheduling Strategies for Parallel Processing
Counterexample-Guided Abstraction Refinement
CAV '00 Proceedings of the 12th International Conference on Computer Aided Verification
HCW '99 Proceedings of the Eighth Heterogeneous Computing Workshop
ISPAN '99 Proceedings of the 1999 International Symposium on Parallel Architectures, Algorithms and Networks
Utilization and Predictability in Scheduling the IBM SP2 with Backfilling
IPPS '98 Proceedings of the 12th. International Parallel Processing Symposium on International Parallel Processing Symposium
Cost-Based Scheduling of Scientific Workflow Application on Utility Grids
E-SCIENCE '05 Proceedings of the First International Conference on e-Science and Grid Computing
The virtual resource manager: an architecture for SLA-aware resource management
CCGRID '04 Proceedings of the 2004 IEEE International Symposium on Cluster Computing and the Grid
Pegasus: A framework for mapping complex scientific workflows onto distributed systems
Scientific Programming
MapReduce: simplified data processing on large clusters
Communications of the ACM - 50th anniversary issue: 1958 - 2008
A Dual Heuristic Scheduling Strategy Based on Task Partition in Grid Environments
CSO '09 Proceedings of the 2009 International Joint Conference on Computational Sciences and Optimization - Volume 01
OSDI'08 Proceedings of the 8th USENIX conference on Operating systems design and implementation
Parallel symbolic execution for automated real-world software testing
Proceedings of the sixth conference on Computer systems
HotCloud'11 Proceedings of the 3rd USENIX conference on Hot topics in cloud computing
CloudPack* exploiting workload flexibility through rational pricing
Proceedings of the 13th International Middleware Conference
International Journal of Adaptive, Resilient and Autonomic Systems
Hi-index | 0.00 |
The static scheduling problem often arises as a fundamental problem in real-time systems and grid computing. We consider the problem of statically scheduling a large job expressed as a task graph on a large number of computing nodes, such as a data center. This paper solves the large-scale static scheduling problem using abstraction refinement, a technique commonly used in formal verification to efficiently solve computationally hard problems. A scheduler based on abstraction refinement first attempts to solve the scheduling problem with abstract representations of the job and the computing resources. As abstract representations are generally small, the scheduling can be done reasonably fast. If the obtained schedule does not meet specified quality conditions (like data center utilization or schedule makespan) then the scheduler refines the job and data center abstractions and, again solves the scheduling problem. We develop different schedulers based on abstraction refinement. We implemented these schedulers and used them to schedule task graphs from various computing domains on simulated data centers with realistic topologies. We compared the speed of scheduling and the quality of the produced schedules with our abstraction refinement schedulers against a baseline scheduler that does not use any abstraction. We conclude that abstraction refinement techniques give a significant speed-up compared to traditional static scheduling heuristics, at a reasonable cost in the quality of the produced schedules. We further used our static schedulers in an actual system that we deployed on Amazon EC2 and compared it against the Hadoop dynamic scheduler for large MapReduce jobs. Our experiments indicate that there is great potential for static scheduling techniques.