Currently, k8s resources are specified on a per-pod basis, with some number of task slots deployed per pod. However, this is inefficient if you are deploying a mix of small jobs (that just need a single slot) and large jobs. This PR adds a new (now default) option to configure resources on a per slot basis instead. In this mode, the number of slots needed for the pod is calculated (up to a max number of task slots allowed on a single pod), then it is given slots * per_slot_cpu cpu and slots * per_slot_mem memory.
To restore the existing behavior, use this config:
Currently, k8s resources are specified on a per-pod basis, with some number of task slots deployed per pod. However, this is inefficient if you are deploying a mix of small jobs (that just need a single slot) and large jobs. This PR adds a new (now default) option to configure resources on a per slot basis instead. In this mode, the number of slots needed for the pod is calculated (up to a max number of task slots allowed on a single pod), then it is given
slots * per_slot_cpu
cpu andslots * per_slot_mem
memory.To restore the existing behavior, use this config: