Is 99% Utilization of a Supercomputer a Good Thing? Scheduling in Context: User Utility Functions Cynthia Bailey Lee Department of Computer Science and Engineering and San Diego Supercomputer Center University of California, San Diego November 13, 2006
What is a Utility Function? Outline: What is a Utility Function? Metrics Metric Pitfalls 8 am 12–1pm 5 pm 8 am 9 am time u(t) Other factors: coordinate with other grid sites or sensors, paper deadlines, weather and hurricane prediction, …
Some Proposed Models What is a Utility Function? Proposed Models Real Functions Scheduling LINEAR DECAY Customizable start value and slope [Chun et al. 2002, Irwin et al. 2004] Common metrics such wait time and expansion factor implicitly use a (non- customizable) linear decay model. EXPONENTIAL DECAY Customizable start value PIECEWISE LINEAR DECAY User customizes all points My favorite
Real Functions What is a Utility Function? Proposed Models Real Functions Scheduling Randomly selected SDSC users provided these functions for jobs they were submitting Utility is in terms of the SDSC charge unit (“SU”)
More Real Functions What is a Utility Function? Proposed Models Real Functions Scheduling
Parallel Job Scheduling Explicitly by Utility Function What is a Utility Function? Proposed Models Real Functions Scheduling Finding the best solution is NP-hard “Tennis Court Scheduling” (Human-powered scheduling) Still practiced occasionally at most centers (officially and not) -- a phone call to sysadmins gets a job a reservation or to the front of the queue) Custom Heuristics Sort by current value, a combination of start value and slope [Chun and Culler 02, Irwin, Grit, Chase 04] Linear Solver / CPLEX
Comparing Schedulers What is a Utility Function? Proposed Models Real Functions Scheduling Expansion Factor 25/50/75 %ile Aggregate Utility rounded, x10^7 Time to Solution* EASY 0/0/ s Conservative Backfilling 0/82/ s Priority Queues + EASY 0/2883/ s Genetic Algorithm 0/289/ s * For 500 scheduling rounds (need to do a round when a job arrives or ends). All timings done with a (not particularly optimized) modular scheduling simulator framework in Python ( me for code). Expansion Factor 25/50/75 %ile Aggregate Utility rounded, x10^7 EASY 0/0/ Conservative Backfilling 0/82/ Priority Queues + EASY 0/2883/
Questions For more information, see paper: –Gathering real users’ utility functions: Lee, Cynthia Bailey and Allan Snavely. "On the User- Scheduler Dialogue: Studies of User-Provided Runtime Estimates and Utility Functions." International Journal of High Performance Computing Applications, vol. 20, pp , Contact: Cynthia Lee