For certain courses/assignments, there may be restrictions on how many resources should be provided to each job. Say an algorithms course needs to make sure a run doesn't last too long, they might want fewer resources to make sure this is the case. Similarly, a course that uses threading might want more resources, and a course that requires larger compilations might require more ram.
I think several "flavours" should allow for this. The following are in units of CPU power/MB ram
100/100
Simple Python scripts, or small compilations. The benefit of this is that 100+ containers can be run together quite easily across the cluster, and only take 10000/10000(+) resources.
1000/1000
This should work for most courses, unless more ram is needed for certain tasks.
2000/4000
This flavour implies some amount of parallelism, since each CPU thread only provides 1000 units of CPU. It also contains enough for presumably any job.
I do wonder if there is a way to allow for the creation of these flavours dynamically. As far as I know, each would have to be its own group in the Nomad file, although there might be ways to get around this. For now, the scope of this issue should just be allowing several defined flavours in the Nomad file, and the choice between them on the backend.
For certain courses/assignments, there may be restrictions on how many resources should be provided to each job. Say an algorithms course needs to make sure a run doesn't last too long, they might want fewer resources to make sure this is the case. Similarly, a course that uses threading might want more resources, and a course that requires larger compilations might require more ram.
I think several "flavours" should allow for this. The following are in units of
CPU power/MB ram
I do wonder if there is a way to allow for the creation of these flavours dynamically. As far as I know, each would have to be its own group in the Nomad file, although there might be ways to get around this. For now, the scope of this issue should just be allowing several defined flavours in the Nomad file, and the choice between them on the backend.