80 likes | 172 Views
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
E N D
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
u(t) time 8 am 12–1pm 5 pm 8 am 9 am Outline: What is a Utility Function? MetricsMetric Pitfalls What is a Utility Function? Other factors: coordinate with other grid sites or sensors, paper deadlines, weather and hurricane prediction, …
LINEAR DECAY Customizable start value and slope[Chun et al. 2002, Irwin et al. 2004] EXPONENTIAL DECAY Customizable start value PIECEWISE LINEAR DECAY User customizes all points Common metrics such wait time and expansion factor implicitly use a (non-customizable) linear decay model. What is a Utility Function? Proposed Models Real Functions Scheduling Some Proposed Models My favorite
What is a Utility Function? Proposed ModelsReal Functions Scheduling Real Functions • Randomly selected SDSC users provided these functions for jobs they were submitting • Utility is in terms of the SDSC charge unit (“SU”)
What is a Utility Function? Proposed ModelsReal Functions Scheduling More Real Functions
What is a Utility Function? Proposed Models Real FunctionsScheduling Parallel Job Scheduling Explicitly by Utility Function 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
What is a Utility Function? Proposed Models Real FunctionsScheduling Comparing Schedulers * 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 (email me for code).
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.495-506, 2006. • Contact: Cynthia Lee CL@SDSC.EDU