Skip to content

Commit a512f76

Browse files
committed
Update README
1 parent 03c81dc commit a512f76

File tree

2 files changed

+22
-13
lines changed

2 files changed

+22
-13
lines changed

README.md

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
# 🚀 Kubernetes Scheduler Simulator
2+
3+
The simulator evaluates different scheduling policies in GPU-sharing clusters.
4+
It includes the Fragmentation Gradient Descent (FGD) policy proposed in the ATC paper (Beware of Fragmentation: Scheduling GPU-Sharing Workloads with Fragmentation Gradient Descent), along with other baseline policies.
5+
16
## 🚧 Environment Setup
27

38
Please ensure that Go is installed.
@@ -16,31 +21,32 @@ $ make
1621

1722
## 🔥 Quickstart Example
1823

19-
The following example will schedule 6 test pods onto a cluster with 2 nodes, and the expected output will show the allocation ratio of each resource dimension (CPU, memory, GPU).
24+
The following example will schedule 6 pods to a cluster with 2 nodes, and the expected output will show the allocation ratio of each resource dimension (CPU, memory, GPU).
25+
The default scheduling policy is fragmentation gradient descent (FGD).
2026

2127
```bash
2228
$ bin/simon apply --extended-resources "gpu" \
2329
-f example/test-cluster-config.yaml \
2430
-s example/test-scheduler-config.yaml
2531
```
2632

27-
## 🔮 Experiments
33+
## 🔮 Experiments on Production Traces
2834

29-
TBD.
35+
Please refer to [README](data/README.md) under the `data` directory to prepare production traces, and then refer to [README](experiments/README.md) under the `experiments` directory to reproduce the results reported in the paper.
3036

3137
## 📝 Paper
3238

3339
Please cite our paper if it is helpful to your research.
3440

3541
```
3642
@inproceedings{FGD,
37-
title = {Beware of Fragmentation: Scheduling GPU-Sharing Workloads with Fragmentation Gradient Descent},
38-
author = {Qizhen Weng and Lingyun Yang and Yinghao Yu and Wei Wang and Xiaochuan Tang and Guodong Yang and Liping Zhang},
39-
booktitle = {2023 {USENIX} Annual Technical Conference},
40-
year = {2023},
41-
series = {{USENIX} {ATC} '23}
42-
url = {https://www.usenix.org/conference/atc23/presentation/weng},
43-
publisher = {{USENIX} Association},
43+
title = {Beware of Fragmentation: Scheduling GPU-Sharing Workloads with Fragmentation Gradient Descent},
44+
author = {Qizhen Weng and Lingyun Yang and Yinghao Yu and Wei Wang and Xiaochuan Tang and Guodong Yang and Liping Zhang},
45+
booktitle = {2023 {USENIX} Annual Technical Conference},
46+
year = {2023},
47+
series = {{USENIX} {ATC} '23}
48+
url = {https://www.usenix.org/conference/atc23/presentation/weng},
49+
publisher = {{USENIX} Association},
4450
}
4551
```
4652

experiments/README.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
## Steps
1+
## Experiment Steps
22

33
### Generate Run Scripts
4+
45
```bash
56
cd kubernetes-scheduler-simulator/experiments
67
python run_scripts/generate_run_scripts.py > run_scripts/run_scripts_0511.sh
@@ -13,6 +14,7 @@ Script parameters:
1314
- NUM_REPEAT: repetited experiments (10 in paper)
1415

1516
### Execute
17+
1618
```bash
1719
# pwd: kubernetes-scheduler-simulator/experiments
1820
cd ..
@@ -27,6 +29,7 @@ cat experiments/run_scripts/run_scripts_0511.sh | while read i; do printf "%q\n"
2729
- 16 hours for 1020 experiments on a 256 vCPU machine with PARALLEL=128.
2830

2931
### Merge
32+
3033
```bash
3134
# pwd: kubernetes-scheduler-simulator/experiments
3235
ln -s 2023_0511 data # softlink it to data
@@ -35,6 +38,7 @@ bash merge_bash.sh
3538
```
3639

3740
### Plot
41+
3842
```bash
3943
# pwd: kubernetes-scheduler-simulator/experiments
4044
ln -s analysis/analysis_results/* plot/ # softlink all csv under analysis_results/ to plot/
@@ -46,5 +50,4 @@ python plot_paib_gpushare_alloc_bar.py # Fig. 11
4650
python plot_paib_multigpu_alloc_bar.py # Fig. 12
4751
python plot_paib_gpuspec_alloc_bar.py # Fig. 13
4852
python plot_paib_nongpu_alloc_bar.py # Fig. 14
49-
```
50-
53+
```

0 commit comments

Comments
 (0)