"free up" workers from job on server

2 views (last 30 days)
Marc Jakobi
Marc Jakobi on 13 Nov 2015
Hi.
We have a shared server with 12 workers that we use for batch jobs. Most people send their jobs with 'NumWorkersRange' set to [1 12]. This is useful for fast completion, however, when one job is using 12 workers, the others have to queue until it is finished, if they are created later. If the next job is also set to 'NomWorkersRange', [1 12], all other jobs have to queue, and so on and so forth.
Is there a way to configure the jobs to "free up" at least one of their workers (or half, if the other is also requesting up to 12 workers) for queued jobs, once there is another job in the queue? Ideally, the job that is using the most workers? So for example, job1 with 'NumWorkersRange' set to [1 12] would be using 12 workers. Later, job2 is created. It also has its 'NumWorkersRange' set to [1 12]. Rather than queueing, it takes 6 workers from job1, so they can both run. job1 finishes and job2 switches to 12 workers. job3 is created with 'NumWorkersRange' set to [1 3]. It takes 3 workers from job2.
Thanks!
Marc

Answers (0)

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!