volcano-sh / volcano

A Cloud Native Batch System (Project under CNCF)
https://volcano.sh
Apache License 2.0
4.24k stars 971 forks source link

Preempt performance #3825

Open molei20021 opened 1 week ago

volcano-sh-bot commented 1 week ago

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: To complete the pull request process, please assign k82cn You can assign the PR to them by writing /assign @k82cn in a comment when ready.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files: - **[pkg/scheduler/OWNERS](https://github.com/volcano-sh/volcano/blob/master/pkg/scheduler/OWNERS)** Approvers can indicate their approval by writing `/approve` in a comment Approvers can cancel approval by writing `/approve cancel` in a comment
molei20021 commented 1 week ago

preempt-performance The performance of preempt is about 2x faster

lowang-bh commented 1 week ago

There is some gaps with my idea to improve the performance. Could you add some describe about your design?

molei20021 commented 4 days ago

There is some gaps with my idea to improve the performance. Could you add some describe about your design?

preempt-performance I add a design graph, the parts marked in red are modification points.

JesseStutler commented 3 days ago

There is some gaps with my idea to improve the performance. Could you add some describe about your design?

preempt-performance I add a design graph, the parts marked in red are modification points.

I didn't get why we need to record last condition time, in SchedulerCache's taskUnschedulable, there are already codes that validate whether the condition is same as last time: https://github.com/volcano-sh/volcano/blob/24ca00bd247e8add46d95cff62da127cc8d0ee5e/pkg/scheduler/cache/cache.go#L1026-L1033