mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 19:56:01 +00:00
Calculate scores in parallel on spreading benchmarks
This is closer to what happens in the core scheduler Signed-off-by: Aldo Culquicondor <acondor@google.com>
This commit is contained in:
parent
4b31b55499
commit
d2b1903149
@ -27,6 +27,7 @@ go_test(
|
|||||||
deps = [
|
deps = [
|
||||||
"//pkg/scheduler/framework/v1alpha1:go_default_library",
|
"//pkg/scheduler/framework/v1alpha1:go_default_library",
|
||||||
"//pkg/scheduler/internal/cache:go_default_library",
|
"//pkg/scheduler/internal/cache:go_default_library",
|
||||||
|
"//pkg/scheduler/internal/parallelize:go_default_library",
|
||||||
"//pkg/scheduler/testing:go_default_library",
|
"//pkg/scheduler/testing:go_default_library",
|
||||||
"//staging/src/k8s.io/api/apps/v1:go_default_library",
|
"//staging/src/k8s.io/api/apps/v1:go_default_library",
|
||||||
"//staging/src/k8s.io/api/core/v1:go_default_library",
|
"//staging/src/k8s.io/api/core/v1:go_default_library",
|
||||||
|
@ -25,6 +25,7 @@ import (
|
|||||||
"k8s.io/client-go/kubernetes/fake"
|
"k8s.io/client-go/kubernetes/fake"
|
||||||
framework "k8s.io/kubernetes/pkg/scheduler/framework/v1alpha1"
|
framework "k8s.io/kubernetes/pkg/scheduler/framework/v1alpha1"
|
||||||
"k8s.io/kubernetes/pkg/scheduler/internal/cache"
|
"k8s.io/kubernetes/pkg/scheduler/internal/cache"
|
||||||
|
"k8s.io/kubernetes/pkg/scheduler/internal/parallelize"
|
||||||
st "k8s.io/kubernetes/pkg/scheduler/testing"
|
st "k8s.io/kubernetes/pkg/scheduler/testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -76,15 +77,14 @@ func BenchmarkTestSelectorSpreadPriority(b *testing.B) {
|
|||||||
if !status.IsSuccess() {
|
if !status.IsSuccess() {
|
||||||
b.Fatalf("unexpected error: %v", status)
|
b.Fatalf("unexpected error: %v", status)
|
||||||
}
|
}
|
||||||
var gotList framework.NodeScoreList
|
gotList := make(framework.NodeScoreList, len(filteredNodes))
|
||||||
for _, node := range filteredNodes {
|
scoreNode := func(i int) {
|
||||||
score, status := plugin.Score(ctx, state, pod, node.Name)
|
n := filteredNodes[i]
|
||||||
if !status.IsSuccess() {
|
score, _ := plugin.Score(ctx, state, pod, n.Name)
|
||||||
b.Errorf("unexpected error: %v", status)
|
gotList[i] = framework.NodeScore{Name: n.Name, Score: score}
|
||||||
}
|
|
||||||
gotList = append(gotList, framework.NodeScore{Name: node.Name, Score: score})
|
|
||||||
}
|
}
|
||||||
status = plugin.NormalizeScore(context.Background(), state, pod, gotList)
|
parallelize.Until(ctx, len(filteredNodes), scoreNode)
|
||||||
|
status = plugin.NormalizeScore(ctx, state, pod, gotList)
|
||||||
if !status.IsSuccess() {
|
if !status.IsSuccess() {
|
||||||
b.Fatal(status)
|
b.Fatal(status)
|
||||||
}
|
}
|
||||||
|
@ -41,6 +41,7 @@ go_test(
|
|||||||
deps = [
|
deps = [
|
||||||
"//pkg/scheduler/framework/v1alpha1:go_default_library",
|
"//pkg/scheduler/framework/v1alpha1:go_default_library",
|
||||||
"//pkg/scheduler/internal/cache:go_default_library",
|
"//pkg/scheduler/internal/cache:go_default_library",
|
||||||
|
"//pkg/scheduler/internal/parallelize:go_default_library",
|
||||||
"//pkg/scheduler/nodeinfo:go_default_library",
|
"//pkg/scheduler/nodeinfo:go_default_library",
|
||||||
"//pkg/scheduler/testing:go_default_library",
|
"//pkg/scheduler/testing:go_default_library",
|
||||||
"//staging/src/k8s.io/api/apps/v1:go_default_library",
|
"//staging/src/k8s.io/api/apps/v1:go_default_library",
|
||||||
|
@ -29,6 +29,7 @@ import (
|
|||||||
"k8s.io/client-go/kubernetes/fake"
|
"k8s.io/client-go/kubernetes/fake"
|
||||||
framework "k8s.io/kubernetes/pkg/scheduler/framework/v1alpha1"
|
framework "k8s.io/kubernetes/pkg/scheduler/framework/v1alpha1"
|
||||||
"k8s.io/kubernetes/pkg/scheduler/internal/cache"
|
"k8s.io/kubernetes/pkg/scheduler/internal/cache"
|
||||||
|
"k8s.io/kubernetes/pkg/scheduler/internal/parallelize"
|
||||||
st "k8s.io/kubernetes/pkg/scheduler/testing"
|
st "k8s.io/kubernetes/pkg/scheduler/testing"
|
||||||
"k8s.io/utils/pointer"
|
"k8s.io/utils/pointer"
|
||||||
)
|
)
|
||||||
@ -746,19 +747,18 @@ func BenchmarkTestDefaultEvenPodsSpreadPriority(b *testing.B) {
|
|||||||
b.ResetTimer()
|
b.ResetTimer()
|
||||||
|
|
||||||
for i := 0; i < b.N; i++ {
|
for i := 0; i < b.N; i++ {
|
||||||
var gotList framework.NodeScoreList
|
|
||||||
status := p.PreScore(ctx, state, pod, filteredNodes)
|
status := p.PreScore(ctx, state, pod, filteredNodes)
|
||||||
if !status.IsSuccess() {
|
if !status.IsSuccess() {
|
||||||
b.Fatalf("unexpected error: %v", status)
|
b.Fatalf("unexpected error: %v", status)
|
||||||
}
|
}
|
||||||
for _, n := range filteredNodes {
|
gotList := make(framework.NodeScoreList, len(filteredNodes))
|
||||||
score, status := p.Score(context.Background(), state, pod, n.Name)
|
scoreNode := func(i int) {
|
||||||
if !status.IsSuccess() {
|
n := filteredNodes[i]
|
||||||
b.Fatalf("unexpected error: %v", status)
|
score, _ := p.Score(ctx, state, pod, n.Name)
|
||||||
}
|
gotList[i] = framework.NodeScore{Name: n.Name, Score: score}
|
||||||
gotList = append(gotList, framework.NodeScore{Name: n.Name, Score: score})
|
|
||||||
}
|
}
|
||||||
status = p.NormalizeScore(context.Background(), state, pod, gotList)
|
parallelize.Until(ctx, len(filteredNodes), scoreNode)
|
||||||
|
status = p.NormalizeScore(ctx, state, pod, gotList)
|
||||||
if !status.IsSuccess() {
|
if !status.IsSuccess() {
|
||||||
b.Fatal(status)
|
b.Fatal(status)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user