Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Leverage task slot information in autoscaling formula #151

Open
cnovel opened this issue Feb 9, 2023 · 1 comment
Open

Leverage task slot information in autoscaling formula #151

cnovel opened this issue Feb 9, 2023 · 1 comment
Labels
feature request Feature request

Comments

@cnovel
Copy link

cnovel commented Feb 9, 2023

Feature Request Description

When using a pool with multiple task slots per node and task with >1 required slots, it is not possible to correctly scale the pool using autoscale formulas.
Example:
Pool P can deploy node with 2 task slots. No node is deployed, no task is running.
Job A has 1 active task Ta, which requires 1 slot to be run.
Job B has 1 active task Tb, which requires 1 slot to be run.
Job C has 1 active task Tc, which requires 2 slots to be run.
Job D has 1 active task Td, which requires 2 slots to be run.

To run every task in parallel, I need 3 nodes (1 for Ta and Tb, 1 for Tc and 1 for Td).
But $PendingTasks = 4 / $ActiveTasks = 4.
The simple formula $TargetDedicatedNodes = $PendingTasks / $TaskSlotsPerNode + 0.9 will be evaluated to 2.9, truncated to 2. It is impossible to obtain 3 bar assumptions on the tasks.

Describe Preferred Solution

Add $PendingSlots, $ActiveSlots, $RunningSlots values, that are simply SUM_i(Ti * TaskSlotsFor(Ti)) for Pending/Active/Running tasks.

Describe Alternatives Considered

No alternative is possible, per Microsoft support.

Additional Context

/

@staer staer added the feature request Feature request label Feb 9, 2023
@staer
Copy link
Contributor

staer commented Feb 9, 2023

@bwatrous for visibility

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request Feature request
Projects
None yet
Development

No branches or pull requests

2 participants