Skip to content

Commit

Permalink
Simplify scheduler throughput module
Browse files Browse the repository at this point in the history
  • Loading branch information
mborsz committed Aug 25, 2022
1 parent 91d0966 commit 57d2ff5
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 21 deletions.
22 changes: 3 additions & 19 deletions clusterloader2/testing/load/config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,6 @@
{{$MEDIUM_STATEFUL_SETS_PER_NAMESPACE := DefaultParam .MEDIUM_STATEFUL_SETS_PER_NAMESPACE 1}}
{{$ENABLE_CHAOSMONKEY := DefaultParam .ENABLE_CHAOSMONKEY false}}
{{$ENABLE_API_AVAILABILITY_MEASUREMENT := DefaultParam .CL2_ENABLE_API_AVAILABILITY_MEASUREMENT false}}
{{$SCHEDULER_THROUGHPUT_SIZE := DefaultParam .CL2_SCHEDULER_THROUGHPUT_SIZE .Nodes}}
# Determines number of pods per deployment. Should be a divider of $SCHEDULER_THROUGHPUT_SIZE.
{{$SCHEDULER_THROUGHPUT_PODS_PER_DEPLOYMENT := DefaultParam .CL2_SCHEDULER_THROUGHPUT_PODS_PER_DEPLOYMENT 1000}}
{{$RANDOM_SCALE_FACTOR := 0.5}}
#Variables
{{$namespaces := DivideInt .Nodes $NODES_PER_NAMESPACE}}
Expand Down Expand Up @@ -60,15 +57,10 @@
# BEGIN scheduler-throughput section
# TODO( https://github.com/kubernetes/perf-tests/issues/1027): Lower the number of "min-pods" once we fix the scheduler throughput measurement.
{{$totalSchedulerThroughputPods := MaxInt (MultiplyInt 2 $MIN_PODS_IN_SMALL_CLUSTERS) .Nodes}}
{{$schedulerThroughputReplicasPerNamespace := 1}}
{{$schedulerThroughputPodsPerDeployment := .Nodes}}
# Determines number of pods per deployment. Should be a divider of $totalSchedulerThroughputPods.
{{$schedulerThroughputPodsPerDeployment := DefaultParam .CL2_SCHEDULER_THROUGHPUT_PODS_PER_DEPLOYMENT $totalSchedulerThroughputPods}}
{{$schedulerThroughputNamespaces := DivideInt $totalSchedulerThroughputPods $schedulerThroughputPodsPerDeployment}}

{{if ge $SCHEDULER_THROUGHPUT_SIZE $SCHEDULER_THROUGHPUT_PODS_PER_DEPLOYMENT}}
{{$schedulerThroughputReplicasPerNamespace = DivideInt $SCHEDULER_THROUGHPUT_SIZE $SCHEDULER_THROUGHPUT_PODS_PER_DEPLOYMENT}}
{{$schedulerThroughputPodsPerDeployment = $SCHEDULER_THROUGHPUT_PODS_PER_DEPLOYMENT}}
{{end}}

# Set schedulerThroughputNamespaces to 1 on small clusters otherwise it will result
# in an unnecessary number of namespaces.
{{$schedulerThroughputNamespaces := IfThenElse $IS_SMALL_CLUSTER 1 $schedulerThroughputNamespaces}}
Expand All @@ -88,11 +80,6 @@ tuningSets:
- name: Sequence
parallelismLimitedLoad:
parallelismLimit: 1
# Dedicated tuningSet for SchedulerThroughput phases that results in fully
# parallel creation of deployments.
- name: SchedulerThroughputParallel
parallelismLimitedLoad:
parallelismLimit: {{MultiplyInt $schedulerThroughputNamespaces $schedulerThroughputReplicasPerNamespace}}
# TODO(https://github.com/kubernetes/perf-tests/issues/1024): This TuningSet is used only for pod-startup-latency, get rid of it
# Uniform5qps: for each running phase, use 5 qps.
- name: Uniform5qps
Expand All @@ -114,9 +101,6 @@ tuningSets:
# as each RS changes its size from X to a uniform random value in [X/2, 3X/2].
# To match 10 [pods/s] requirement, we need to divide saturationTime by 4.
timeLimit: {{DivideInt $saturationTime 4}}s
- name: DeletionTimeLimited
TimeLimitedLoad:
timeLimit: 5m
- name: RandomizedDeletionTimeLimited
RandomizedTimeLimitedLoad:
timeLimit: {{$deletionTime}}s
Expand Down Expand Up @@ -202,7 +186,7 @@ steps:
params:
action: create
namespaces: {{$namespaces}}
replicasPerNamespace: {{$schedulerThroughputReplicasPerNamespace}}
replicasPerNamespace: 1
schedulerThroughputNamespaces: {{$schedulerThroughputNamespaces}}
schedulerThroughputPodsPerDeployment: {{$schedulerThroughputPodsPerDeployment}}
{{end}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@

## Derivative variables
{{$is_creating := (eq .action "create")}}
{{$tuningSet := IfThenElse (eq .action "delete") "DeletionTimeLimited" "SchedulerThroughputParallel"}}

## CL2 params
{{$SCHEDULER_THROUGHPUT_THRESHOLD := DefaultParam .CL2_SCHEDULER_THROUGHPUT_THRESHOLD 100}}
Expand Down Expand Up @@ -48,7 +47,7 @@ steps:
min: {{AddInt $namespaces 1}}
max: {{AddInt $namespaces $schedulerThroughputNamespaces}}
replicasPerNamespace: {{$replicasPerNamespace}}
tuningSet: {{$tuningSet}}
tuningSet: Global100qps
objectBundle:
- basename: scheduler-throughput-deployment
objectTemplatePath: simple-deployment.yaml
Expand Down

0 comments on commit 57d2ff5

Please sign in to comment.