prun icon indicating copy to clipboard operation
prun copied to clipboard

Allow to specify the minimum no of availabe cpus before the job starts

Open rolfschr opened this issue 10 years ago • 3 comments

From the documentation, it sounds to me (correct me if I'm wrong) that one could queue a bunch of very CPU hungry jobs (say multithreaded applications) and they would all be started at the same time on the same worker node assuming a cluster of only one worker. I'm missing something like min_cpu_available in the config so that a the worker does not start all the independent jobs in parallel. I may miss something obvious here, though :/

rolfschr avatar May 08 '15 13:05 rolfschr

It is possible to specify "exclusive" jobs, so exactly one submitted job will be executed at a single worker. Also, max_cpu limits number of simultaneously running tasks of a job. If task starts multiple threads, then it is reasonably to set max_cpu = 1.

abudnik avatar May 08 '15 13:05 abudnik

OK, I see. Say I have 12 CPUs and 10 independent jobs each consuming 4 CPUs (one worker node only). I would think I want 3 jobs start running at the same time and when any of them is finished, the 4th job is started. And so on and so forth till all 10 jobs are finished. Is this doable?

rolfschr avatar May 08 '15 14:05 rolfschr

I think that adding parameter like "num_threads_per_task" requires some improvements in master's scheduler code. Overall idea seems good to me.

abudnik avatar May 08 '15 15:05 abudnik