25. marts 2009 16:32
I observed that the Job scheduler places new jobs on that node with is less busy to distribute them evenly.
When I assume a Cluster with 2 nodes and each with 4 cores, Job 1 with 1 Core will be placed on Node 1. Job 2 with 1 Core will placed on Node 2. So, each Node is busy with one Core. When now Task 3 with 4 cores arrives, it cannot be served. But, when Job 1 and Job 2 would be placed on Node 1, it would be possible.
So, is it possible to specify if the scheduler first fill one node completely or distribute the jobs evenly on the nodes?
25. marts 2009 18:51Redaktør
By default, the scheduler sorts nodes in order of the number of available cores (descending), so jobs get the nodes with the most free nodes first. You can change this on a particular job by setting the jobs "Order by" field to use Cores (Ascending), for example by adding the "/orderby:-cores" to your command line.
You can change thi behavior for all jobs by changing the Default Job Template (Configurations -> Job Templates -> Edit Templates in the UI) to have a Node Ordering constraint with a default of Cores (Ascending).
- Markeret som svar af Josh BarnardModerator 25. marts 2009 18:51
2. april 2009 13:09I tried to change the Default job Template to Cores (Ascending). When i try to submit a new job i get the following error:
Unexpected exception when validating job: Unable to cast object of type 'System.String' to type 'Microsoft.Hpc.Scheduler.Properties.JobOrderByList'.