Merge pull request #41541 from resouer/eclass-algorithm
Automatic merge from submit-queue
Update algorithm of equivalence class cache predicates
NOTE: This is the first two commits of #36238
**What's in this PR:**
1. Definition of equivalence class
2. An update of `equivalence_cache.go` algorithms to implement enable/disable equivalence cache for individual predicate
3. Added equivalence class data structure to `Generic Scheduler` but did not initialize it. This is used to show how we will use equivalence class when scheduling.
**Why I did this:**
Although #36238 has been finished for a period of time, we found it's still very hard to review, because it mixed 1) definition of equivalence class, 2) how to use equivalence cache, and 3) how to keep this cache up-to-date, 4) e2e tests to verify (3) works.
So reviewers are easily distracted by different technical points like `hash algorithms`, `how to properly use Informer` etc, left the more important equivalence algorithms untouched.
So this PR I only includes 1) and 2), leaves updating this cache in #36238. I can see this part is totally independent from the rest part of it. So we can definitely review this equivalence strategies first.
cc @kubernetes/sig-scheduling-pr-reviews @davidopp @jayunit100 @wojtek-t
Showing
Please
register
or
sign in
to comment