0

I am using a MPI program on limited CPU resources. It involved running an application that requires 20 separate processes on a 12 thread CPU. I run it again and again with different parameters.

Towards the end of the application, most of the 20 processes are already complete, leaving 11 of my 12 threads idle while waiting for the last one to complete. I wish to utilize these idle cores to start the next job in line without waiting for the current one to complete. It would be best if I could already start the next job when one core is already idle.

Torque is set up but I am required to state the resource requirements ahead. I wish to dynamically allocate these CPU cores so that the CPU is always at 100%.

user121392
  • 13
  • 1
  • 6

1 Answers1

0

If your cluster/nodes have shared mode enabled then the next job can start. Basically, what you need is a node allocation policy but this can be done with a job scheduler environment (for example torque + moab/maui or slurm). This is most probably not possible with just torque.

Other option would be to launch tasks within a single job script. The task launcher needs to be smart enough to figure out what resources are available. This can be scripted with simple job scripts but can be tricky. (you can look into Nitro or even Condor).

Tux_DEV_NULL
  • 1,083
  • 7
  • 11
  • Thanks for the reply. I have considered slurm or moab/maui but i dont really know which documentation should i be tackling. Can i know the specific terminology for such solution? – user121392 Oct 30 '17 at 23:36
  • "Sharing Consumable Resources" in slurm. NODEACCESSPOLICY in Moab. – Tux_DEV_NULL Oct 31 '17 at 07:28