Yes, sorry Ryan that is what understood, my brain interpreted it reversely.
Ok so I now have my slaves set up, 7 per node, each named and set to a specific affinity and also assigned to a matching group and pool.
node:1 slave:1 affinity:0-7 group:affinity_1 pool:affinity_0-7 concT:0 - --------------------------> 2 cpus/8cores 8 concTasks
node:1 slave:2 affinity:0-3 group:affinity_2 pool:affinity_0-3 concT:2 - --------------------------> 1 cpus/4cores 2 concTasks
node:1 slave:3 affinity:4-7 group:affinity_2 pool:affinity_4-7 concT:2 - --------------------------> 1 cpus/4cores 2 concTasks
node:1 slave:4 affinity:0-1 group:affinity_3 pool:affinity_0-1 concT:1 - --------------------------> 1 cpus/2cores 1 concTasks
node:1 slave:5 affinity:2-3 group:affinity_3 pool:affinity_2-3 concT:1 - --------------------------> 1 cpus/2cores 1 concTasks
node:1 slave:6 affinity:4-5 group:affinity_3 pool:affinity_4-5 concT:1 - --------------------------> 1 cpus/2cores 1 concTasks
node:1 slave:7 affinity:6-7 group:affinity_3 pool:affinity_6-7 concT:1 - --------------------------> 1 cpus/2cores 1 concTasks
node:2 slave:1 affinity:0-7 group:affinity_1 pool:affinity_0-7 concT:0 - --------------------------> 2 cpus/8cores 8 concTasks
node:2 slave:2 affinity:0-3 group:affinity_2 pool:affinity_0-3 concT:2 - --------------------------> 1 cpus/4cores 2 concTasks
node:2 slave:3 affinity:4-7 group:affinity_2 pool:affinity_4-7 concT:2 - --------------------------> 1 cpus/4cores 2 concTasks
node:2 slave:4 affinity:0-1 group:affinity_3 pool:affinity_0-1 concT:1 - --------------------------> 1 cpus/2cores 1 concTasks
node:2 slave:5 affinity:2-3 group:affinity_3 pool:affinity_2-3 concT:1 - --------------------------> 1 cpus/2cores 1 concTasks
node:2 slave:6 affinity:4-5 group:affinity_3 pool:affinity_4-5 concT:1 - --------------------------> 1 cpus/2cores 1 concTasks
node:2 slave:7 affinity:6-7 group:affinity_3 pool:affinity_6-7 concT:1 - --------------------------> 1 cpus/2cores 1 concTasks
node:3 slave:1 etc etc etc etc
So what is the best route here for me to take, with respect to job configuration and auto assigning a pool/group to be used for different jobs.
I currently use a custom script which uses image resolution to decide how many concurrent tasks should be used.
0-5999 pixels for longest side - 4 concurrent tasks
6000-9999 pixels for longest side - 2 concurrent tasks
10000-99999 pixels for longest side - 1 concurrent tasks
I can see from a previous thread that a pre-render script in the submission script can be used to drive affinity based on a job type:-
Reference code: (Not sure if there is a missing " after the Quicktime word?)
job = self.deadlinePlugin.GetJob()
if job.JobName.lower().find("quicktime) != -1:
self.ProcessAffinity = (0,)
So looking through the scripting reference, I think I can do something that calls a group based on the concurrent task setting. Is this correct?
Something like this:-
[code]job = self.deadlinePlugin.GetJob()
if job.JobConcurrentTask.lower().find("8) != -1:
self.set.Deadline.Statistics.JobEntry.Group = (affinity_1)
job = self.deadlinePlugin.GetJob()
if job.JobConcurrentTask.lower().find("2) != -1:
self.set.Deadline.Statistics.JobEntry.Group = (affinity_2)
job = self.deadlinePlugin.GetJob()
if job.JobConcurrentTask.lower().find("1) != -1:
self.set.Deadline.Statistics.JobEntry.Group = (affinity_3)
[/code]
Am I going down the correct path here?
Many thanks,
Tim.