Skip to content

Commit 03c81dc

Browse files
authored
Update README (#7)
1 parent f2cd8af commit 03c81dc

File tree

5 files changed

+65
-12
lines changed

5 files changed

+65
-12
lines changed

Makefile

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,18 @@
11
OUTPUT_DIR=./bin
2+
3+
GOARCH ?= $(shell go env GOARCH)
4+
GOOS ?= $(shell go env GOOS)
5+
26
BINARY_NAME=simon
37
LINUX_BINARY_NAME=simon_linux
48
DARWIN_BINARY_NAME=simon_darwin
59

10+
all: build
11+
12+
.PHONY: build
13+
build:
14+
GOARCH=$(GOARCH) GOOS=$(GOOS) go build -v -o $(OUTPUT_DIR)/$(BINARY_NAME) ./cmd
15+
616
.PHONY: darwin_build
717
darwin_build:
818
GOARCH=amd64 GOOS=darwin go build -v -o $(OUTPUT_DIR)/$(DARWIN_BINARY_NAME) ./cmd
@@ -19,4 +29,4 @@ linux_build:
1929

2030
.PHONY: clean_build
2131
clean_build:
22-
rm -f $(OUTPUT_DIR)/*
32+
rm -f $(OUTPUT_DIR)/*

README.md

Lines changed: 32 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,25 +2,50 @@
22

33
Please ensure that Go is installed.
44

5-
`go mod vendor` will install the dependencies required for the simulator, and `make` will generate the compiled binary fils in the `bin` directory.
5+
`go mod vendor` installs the dependencies required for the simulator.
66

77
```bash
88
$ go mod vendor
9-
$ make local_build
10-
$ make linux_build
119
```
1210

13-
## 🔥 Quick Start
11+
`make` generates the compiled binary files in the `bin` directory.
1412

1513
```bash
16-
$ LOGLEVEL=DEBUG bin/simon apply --extended-resources "gpu" -s example/test-scheduler-config.yaml -f example/test-cluster-config.yaml
14+
$ make
15+
```
16+
17+
## 🔥 Quickstart Example
18+
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).
20+
21+
```bash
22+
$ bin/simon apply --extended-resources "gpu" \
23+
-f example/test-cluster-config.yaml \
24+
-s example/test-scheduler-config.yaml
1725
```
1826

1927
## 🔮 Experiments
2028

2129
TBD.
2230

31+
## 📝 Paper
32+
33+
Please cite our paper if it is helpful to your research.
34+
35+
```
36+
@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},
44+
}
45+
```
46+
2347
## 🙏🏻 Acknowledge
2448

25-
Our simulator is developed based on [Alibaba's open-simulator](https://github.com/alibaba/open-simulator), a simulator used for cluster capacity planning.
26-
The GPU-related plugin has been incorporated into its main branch.
49+
Our simulator is developed based on [open-simulator](https://github.com/alibaba/open-simulator) by Alibaba, a simulator used for cluster capacity planning.
50+
This repository primarily evaluates the performance of different scheduling polices on production traces.
51+
GPU-related plugin has been merged into the main branch of [open-simulator](https://github.com/alibaba/open-simulator).

data/README.md

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,17 @@
11
# Traces as Inputs for Simulator
22

3-
## Usage
3+
## 🚧 Environment Setup
4+
5+
Install the required Python dependency environment.
6+
7+
```bash
8+
$ pip install -r requirements.txt
9+
```
10+
11+
## 🛠 Usage
12+
13+
Generate the YAML files needed for the simulation experiment based on the original CSV files.
14+
415
```bash
5-
bash prepare_input.sh
16+
$ bash prepare_input.sh
617
```

data/requirements.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
numpy==1.24.3
2+
pandas==2.0.1
3+
python-dateutil==2.8.2
4+
pytz==2023.3
5+
PyYAML==6.0
6+
six==1.16.0
7+
tzdata==2023.3

example/test-scheduler-config.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,10 @@ profiles:
3737
pluginConfig:
3838
- name: FGDScore
3939
args:
40-
dimExtMethod: merge
40+
dimExtMethod: share
4141
normMethod: max
4242
- name: Open-Gpu-Share
4343
args:
44-
dimExtMethod: merge
44+
dimExtMethod: share
4545
normMethod: max
4646
gpuSelMethod: FGDScore

0 commit comments

Comments
 (0)