Thursday, January 10, 2008 12:26 AMHi Folks,
Here's the setup:
On a compute cluster of, say, 100 nodes, developer A starts a low priority job with several thousand tasks. Each task is single-threaded & is happy to share the node, takes roughly 30 minutes to run, and the full cluster may take several days to chug through them all. When there is low demand for the cluster, it's full resources ought to be dedicated to running those tasks (eg, constraining the number of processors would be wasteful).
Some time later, developer B has a high-turnaround job of just a few tasks they wish to run. My understanding is, as prioritization happens at the job level, there is no way for developer B's tasks to take precedence over remaining developer A tasks. Is this accurate? If so, is there a workaround?
The obvious answer, of course, is to add another level of indirection and submit each task as a seperate job; however from a management perspective, this is non-optimal.
Any advice would be appreciated!
- Moved by Josh BarnardModerator Thursday, March 26, 2009 12:25 AM (Moved from Windows HPC Server Developers - General to Windows HPC Server Job Submission and Scheduling)
Wednesday, January 16, 2008 1:52 AMOwner
This type of task-level prioritization is implemented within the "Grow/Shrink" scheduling policy on Windows HPC Server 2008 (currently in beta1). The tasks of Job B would take precedence over unlaunched Job A tasks. Thus, Job B would assume resources as launched Job A tasks complete.
Please see the "New Job Scheduler Features..." presentation at http://channel9.msdn.com/shows/The_HPC_Show.
With the currently shipping product (CCS 2003), there are back-fill scheduling policies but the Job A resources would not be automatically rescheduled for use by Job B until Job A completed.
- Marked As Answer by Josh BarnardModerator Thursday, March 26, 2009 12:25 AM