Answered by:
Is there a way to assign processors for a job?

Question
-
Hi,
I am using the CCS scheduler to control the distributed version of matlab. I know that I can specify which nodes to run the jobs on, but I want to be able to specify how many of the processors to use. Is there a way to do this with the CCS scheduler?
For example, for some jobs, it does not make sense use all the processors of one node and only a single processor on another node, I'd rather split the tasks more evenly.
Thanks.- Moved by Josh BarnardModerator Thursday, March 26, 2009 12:24 AM (Moved from Windows HPC Server Developers - General to Windows HPC Server Job Submission and Scheduling)
Friday, December 14, 2007 7:25 PM
Answers
-
junk16 wrote: Does the type of job make a difference as to how much control you have over where it executes?
Do you want to control where (what socket, what core) the process gets executed (for example to control the load on L2 cache) or you only want to make sure the processes are spread out evenly across cores? If the former you can apply affinity settings to your job in your mpiexec command line, if the latter you can always specify what nodes you'd like to use knowing (from your own scheduling solution, for example) that certain nodes are not executing anything at the moment and/or utilizing "/numprocessors" parameter of "job submit".
- Marked as answer by Josh BarnardModerator Thursday, March 26, 2009 12:24 AM
Sunday, January 13, 2008 12:56 AM
All replies
-
What kind of job are you running? e.g., MPI, multiple tasks, parametric sweep.
Sunday, December 16, 2007 3:04 AM -
hmmm, my first reply didn't post for some reason, I'll try again...
I'm programming several types of jobs in Matlab and submitting them to the CCS scheduler. Some of the jobs are distributed, running a variety of independent tasks simultaneously. I'm also trying to run some jobs that use mpi.
Does the type of job make a difference as to how much control you have over where it executes?
ThanksMonday, December 17, 2007 8:27 PM -
junk16 wrote: Does the type of job make a difference as to how much control you have over where it executes?
mpiexec provides you some level of control. by manipulating mpiexec command line (-hosts) you can decide how many processes run and on which nodes.
That said, mpiexec run as a single CCS task.
Other than that I'm not aware of any other way to control process placement with CCS scheduler.
.Erez
Tuesday, December 18, 2007 4:30 AM -
Does each job need to written in PFX with similar threading tech to take advantage of multi-core or does ccs do this automatically?
Friday, December 21, 2007 9:04 PM -
Ideally, the jobs on CCS don't have to care about single-core or multi-core execution as MPI runtimes usually take care of all intrinsics as long as your jobs do use MPI that is. Now, it doesn't mean you can't achieve any perf gains if your jobs recognize multi-core machines and branch the execution based on this knowledge.Sunday, January 13, 2008 12:45 AM
-
junk16 wrote: Does the type of job make a difference as to how much control you have over where it executes?
Do you want to control where (what socket, what core) the process gets executed (for example to control the load on L2 cache) or you only want to make sure the processes are spread out evenly across cores? If the former you can apply affinity settings to your job in your mpiexec command line, if the latter you can always specify what nodes you'd like to use knowing (from your own scheduling solution, for example) that certain nodes are not executing anything at the moment and/or utilizing "/numprocessors" parameter of "job submit".
- Marked as answer by Josh BarnardModerator Thursday, March 26, 2009 12:24 AM
Sunday, January 13, 2008 12:56 AM