Autoscalers

In an autoscaling deployment of evaluators, jobs run on an orchestrator. An Autoscaling Service launches the required number of evaluators (workers) to meet the demand of the workload. It does this by submitting jobs to traditional job schedulers (Slurm, LSF, PBS, or UGE), or the cloud-native orchestrator Kubernetes.

As the jobs start on the orchestrator, or extra pods are launched in the case of Kubernetes deployments, ephemeral evaluators are spawned and pick up tasks that can be executed by their associated resources. Evaluators spawned this way tend to be more tied to the requested workload.

On startup, an autoscaler registers itself with the Resource Management Service and periodically re-registers and looks for configuration updates that it then applies to its configuration file.

Figure 5: Autoscaler at Work

Autoscaler at Work