job-pair scheduling
2 posters
Page 1 of 1
job-pair scheduling
To aid in administration of competitions, would someone please summarize to the forum the algorithm used to select the next job-pair to run on a queue, from among multiple jobs each with a cross-product of solvers and benchmarks. Can we expect different solvers to make more or less (depending on their capabilities) uniform progress through the set of benchmarks?
davidcok- Posts : 32
Join date : 2014-04-29
Re: job-pair scheduling
Hi, David. I said a little about this here already:
https://starexec.forumotion.com/t39-please-explain-scheduling-policy-job-node-quotas
I think you are asking also about the order in which job pairs are scheduled for each job. When you create a job with the web interface or StarExecCommand, there is an option to specify the traversal used -- and hence the order of job pairs -- through a space hierarchy. Depth-first will create job pairs in order by a depth-first traversal, so all job pairs in one space would run before all job pairs in another occurring later in the depth-first traversal. Round-robin will interleave the job pairs from different subspaces, in the ordering. So if you want all subspaces to advance in parallel, you should choose round-robin.
Aaron
https://starexec.forumotion.com/t39-please-explain-scheduling-policy-job-node-quotas
I think you are asking also about the order in which job pairs are scheduled for each job. When you create a job with the web interface or StarExecCommand, there is an option to specify the traversal used -- and hence the order of job pairs -- through a space hierarchy. Depth-first will create job pairs in order by a depth-first traversal, so all job pairs in one space would run before all job pairs in another occurring later in the depth-first traversal. Round-robin will interleave the job pairs from different subspaces, in the ordering. So if you want all subspaces to advance in parallel, you should choose round-robin.
Aaron
Re: job-pair scheduling
So
- if there are multiple jobs, they proceed at approximately the same rate (as in job-pairs per time interval)
- within a job, job-pairs are selected either depth-first or round-robin as you describe. [is it correct that a single massive job run round-robin would be equivalent to separate jobs for each first-level subspace?]
- last question: within a subspace are all solvers for a benchmark scheduled before the next benchmark, or are all benchmarks for a solver scheduled before the next solver? (I expect and hope the first).
- if there are multiple jobs, they proceed at approximately the same rate (as in job-pairs per time interval)
- within a job, job-pairs are selected either depth-first or round-robin as you describe. [is it correct that a single massive job run round-robin would be equivalent to separate jobs for each first-level subspace?]
- last question: within a subspace are all solvers for a benchmark scheduled before the next benchmark, or are all benchmarks for a solver scheduled before the next solver? (I expect and hope the first).
davidcok- Posts : 32
Join date : 2014-04-29
Re: job-pair scheduling
Hi, David. In answer to your first two questions, yes, what you are describing is correct. A single massive job created with round-robin scheduling would create job pairs in the same order as separate jobs for each first-level subspace, so yes, I believe those two approaches should be equivalent.
About scheduling within a subspace: we schedule all solvers, all configurations for a benchmark before scheduling the next benchmark, just as are hoping.
Aaron
About scheduling within a subspace: we schedule all solvers, all configurations for a benchmark before scheduling the next benchmark, just as are hoping.
Aaron
Page 1 of 1
Permissions in this forum:
You cannot reply to topics in this forum
|
|