Skip to content
This repository was archived by the owner on May 25, 2023. It is now read-only.

Commit 1081b2a

Browse files
authored
Merge pull request #616 from Rajadeepan/doc
Add Kubemark Benchmark Design Doc
2 parents 9372581 + ef2d2c4 commit 1081b2a

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
## BACKGROUND
2+
3+
Performance evaluation of KubeBatch scheduler. Kubemark will be used as a tool for benchmarking.
4+
Kubemark is a performance testing tool which we use to run simulated kubernetes clusters. The primary use case is scalability
5+
testing, as creating simulated clusters is faster and requires less resources than creating real ones.
6+
7+
## OBJECTIVE
8+
9+
- Evaluating scheduler performance of kube-batch
10+
11+
## DESIGN OVERVIEW
12+
13+
We assume that we want to benchmark a test T with kube-batch scheduler.
14+
For the benchmarking to be meaningful,these kube-batch should be running in a kubemark cluster and
15+
at scale (eg. run 100 nodes).
16+
At a high-level, the kubemark should:
17+
18+
- *choose the set of runs* of tests T executed on environment using the kube-batch scheduler by setting "schedulerName: kube-batch" in the pod spec,
19+
- *obtain the relevant metrics (E2e Pod startup latencies)* for the runs chosen for comparison,
20+
- *compute the similarity* for metric, across both the samples,
21+
22+
Final output of the tool will be the answer to the question performance of the kube-batch scheduler.
23+
24+
25+
26+
### Choosing set of metrics to compare
27+
28+
Kubermark give the following metrics
29+
- pod startup latency
30+
- api request serving latency (split by resource and verb)
31+
32+
In our case we would requiring <b> E2E Pod Starup Latency </b> which would include
33+
- The Latency for <b> scheduling the pod (create to schedule) </b>
34+
- The Latency for <b> binding the pod to node (schedule to run) </b>
35+
36+
## Changes to be done to the kubemark
37+
38+
1) Modify the kube-mark startup script to bring up kube-batch scheduler along with the external kubernetes cluster. <br />
39+
Create CRDs for podgroup and queue.
40+
2) Run the density/latency test 3k pods on 100 (fake) nodes with batch scheduler.<br />
41+
For Batch scheduler test case : Modify the density/latency test case to create podgroup and add the podgroup name to the annotation along with "schedulerName: kube-batch" in the pod spec.
42+
3) Print out the metrics.
43+

0 commit comments

Comments
 (0)