Open wkirschenmann opened 2 years ago
Each application will have its own dedicated replica set. They will use the same pod definition but with different configuration. The repartition of the workers will be done by providing the proper sizes to the replica sets.
The sizes of the replica sets will be changed anytime given a simple kubectl command. A cron will allow to automatize that.
An on-premises ArmoniK deployment should allow multiple application to share the same infrastructure while preserving reserved capacity. When all applications have jobs running, each should access its reserved capacity. When an application doesn't use all its cores, the available cores should be used to process jobs from the other applications. If the former application then submits a new job, a time slot will be given for tasks to finish. After this time slot, the cores corresponding to the reserved capacity will be preempted.
Let AppA, AppB and AppC be three application that share the same infrastructure. AppA has a reserved capacity of 500 cores, AppB has 200 cores and AppC has 300 cores. Preemption time is set to a 3-6 minutes interval. Workers are configured to consume one core.
Tasks: