[
https://issues.apache.org/jira/browse/YUNIKORN-1886?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Wilfred Spiegelenburg resolved YUNIKORN-1886.
---------------------------------------------
Fix Version/s: 1.4.0
Resolution: Fixed
If there are no placeholder allocation or reservation registered skip the
placeholder and reservation allocation cycles. Track placeholder and
reservation numbers on the partition to allow this.
The removal of the cycle lowers the CPU usage of the scheduler when nothing
needs to be done. Improving overall throughput.
> Optimize scheduling cycle if there's no placeholder allocation or reservation
> -----------------------------------------------------------------------------
>
> Key: YUNIKORN-1886
> URL: https://issues.apache.org/jira/browse/YUNIKORN-1886
> Project: Apache YuniKorn
> Issue Type: Sub-task
> Components: core - scheduler
> Reporter: Peter Bacsko
> Assignee: Peter Bacsko
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.4.0
>
>
> In the scheduling cycle, we call three methods:
> * {{tryPlaceholderAllocate()}} - tries to replace running placeholders
> * {{tryReservedAllocate()}} - tries to allocate reservations
> * {{tryAllocate()}} - tries normal allocation (most common)
> Even if we have pending requests, the first two don't always have anything to
> allocate. In fact, if there's no gang scheduling job, there's no need to run
> {{tryPlaceholderAllocate()}} at all. Similarly, if we don't have
> reservations, we don't have to call {{tryReservedAllocate()}}. Both method
> walk the hierarchy, copy&filter applications, etc. If we track how many
> active placeholders and reservations we have, we can eliminate the calls to
> these two if counter == 0.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]