Approximation algorithms for scheduling unrelated parallel machines
Mathematical Programming: Series A and B
How Accurate is Scientific Software?
IEEE Transactions on Software Engineering
Space-Efficient Scheduling of Multithreaded Computations
SIAM Journal on Computing
Improved bounds for acyclic job shop scheduling (extended abstract)
STOC '98 Proceedings of the thirtieth annual ACM symposium on Theory of computing
Provably efficient scheduling for languages with fine-grained parallelism
Journal of the ACM (JACM)
The Parallel Evaluation of General Arithmetic Expressions
Journal of the ACM (JACM)
Scheduling multithreaded computations by work stealing
Journal of the ACM (JACM)
Static scheduling algorithms for allocating directed task graphs to multiprocessors
ACM Computing Surveys (CSUR)
A comparison of list schedules for parallel processing systems
Communications of the ACM
Scheduling Algorithms
Computers and Intractability: A Guide to the Theory of NP-Completeness
Computers and Intractability: A Guide to the Theory of NP-Completeness
The T Experiments: Errors In Scientific Software
IEEE Computational Science & Engineering
Performance Analysis and Scheduling of Stochastic Fork-Join Jobs in a Multicomputer System
IEEE Transactions on Parallel and Distributed Systems
Makespan Minimization in Job Shops: A Linear Time Approximation Scheme
SIAM Journal on Discrete Mathematics
The ANL/IBM SP Scheduling System
IPPS '95 Proceedings of the Workshop on Job Scheduling Strategies for Parallel Processing
Theory and Practice in Parallel Job Scheduling
IPPS '97 Proceedings of the Job Scheduling Strategies for Parallel Processing
Developments from a June 1996 seminar on Online algorithms: the state of the art
Classifying scheduling policies with respect to unfairness in an M/GI/1
SIGMETRICS '03 Proceedings of the 2003 ACM SIGMETRICS international conference on Measurement and modeling of computer systems
Dynamic Task Assignment in Server Farms: Better Performance by Task Grouping
ISCC '02 Proceedings of the Seventh International Symposium on Computers and Communications (ISCC'02)
Executing multithreaded programs efficiently
Executing multithreaded programs efficiently
Two Stage Optimization of Job Scheduling and Assignment in Heterogeneous Compute Farms
FTDCS '04 Proceedings of the 10th IEEE International Workshop on Future Trends of Distributed Computing Systems
MapReduce: simplified data processing on large clusters
OSDI'04 Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation - Volume 6
An extended evaluation of two-phase scheduling methods for animation rendering
JSSPP'05 Proceedings of the 11th international conference on Job Scheduling Strategies for Parallel Processing
On the road to recovery: restoring data after disasters
Proceedings of the 1st ACM SIGOPS/EuroSys European Conference on Computer Systems 2006
Don't settle for less than the best: use optimization to make decisions
HOTOS'07 Proceedings of the 11th USENIX workshop on Hot topics in operating systems
Evaluating the impact of inaccurate information in utility-based scheduling
Proceedings of the Conference on High Performance Computing Networking, Storage and Analysis
An extended evaluation of two-phase scheduling methods for animation rendering
JSSPP'05 Proceedings of the 11th international conference on Job Scheduling Strategies for Parallel Processing
Jockey: guaranteed job latency in data parallel clusters
Proceedings of the 7th ACM european conference on Computer Systems
Hi-index | 0.00 |
We describe a new class of utility-maximization scheduling problem with precedence constraints, the disconnected staged scheduling problem (DSSP). DSSP is a nonpreemptive multiprocessor deadline scheduling problem that arises in several commercially-important applications, including animation rendering, protein analysis, and seismic signal processing. DSSP differs from most previously-studied deadline scheduling problems because the graph of precedence constraints among tasks within jobs is disconnected, with one component per job. Another difference is that in practice we often lack accurate estimates of task execution times, and so purely offline solutions are not possible. However we do know the set of jobs and their precedence constraints up front and therefore some offline planning is possible.Our solution decomposes DSSP into an offline job selection phase followed by an online task dispatching phase. We model the former as a knapsack problem and explore several solutions to it, describe a new dispatching algorithm for the latter, and compare both with existing methods. Our theoretical results show that while DSSP is NP-hard and inapproximable in general, our two-phase scheduling method guarantees a good performance bound for many special cases. Our empirical results include an evaluation of scheduling algorithms on a real animation-rendering workload; we present a characterization of this workload in a companion paper. The workload records eight weeks of activity on a 1,000-CPU cluster used to render portions of the full-length animated feature film Shrek 2 in 2004. We show that our improved scheduling algorithms can substantially increase the aggregate value of completed jobs compared to existing practices. Our new task dispatching algorithm LCPF performs well by several metrics, including job completion times as well as the aggregate value of completed jobs.