Skip to content

Commit e7629c2

Browse files
suyashmaharfacebook-github-bot
authored andcommitted
Updated READMEs for system benchmarks
Differential Revision: D77285218
1 parent 41826be commit e7629c2

File tree

3 files changed

+70
-0
lines changed

3 files changed

+70
-0
lines changed

README.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,8 @@ major production workloads listed as follows:
101101
</tr>
102102
</table>
103103

104+
### WDLBench
105+
104106
Also, DCPerf includes micro-benchmarks focusing on hot and common functions/routines in the datacenter.
105107

106108
**Note:** WDLBench has different usages than other benchmarks. To use it, please first go
@@ -124,6 +126,34 @@ specific [README](packages/wdl_bench/README.md).
124126
</tr>
125127
</table>
126128

129+
### System Bench
130+
DCPerf's system bench focuses on system performance metrics (kernel scheduler and syscalls).
131+
132+
133+
<table>
134+
<tr>
135+
<td>Benchmarks </td>
136+
<td>Programming Languages</td>
137+
<td>LIbraries / SW Stack</td>
138+
<td>Application domain they represent</td>
139+
</tr>
140+
<tr>
141+
<td>
142+
<a href="packages/schbench/README.md">Schbench</a>
143+
</td>
144+
<td>C</td>
145+
<td>Kernel Scheduler Benchmark</td>
146+
<td><a href="https://kernel.googlesource.com/pub/scm/linux/kernel/git/mason/schbench">Linux Kernel Schbench</a></td>
147+
</tr>
148+
<tr>
149+
<td>
150+
<a href="packages/syscall/README.md">Syscall</a>
151+
</td>
152+
<td>C++</td>
153+
<td>clock_gettime, getpid, nanosleep, tcp-related</td>
154+
<td>Common system call benchmarks</td>
155+
</tr>
156+
</table>
127157

128158
## Representativeness
129159

packages/schbench/README.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Schbench
2+
3+
Benchpress includes Linux kernel's schbench tool.
4+
5+
Schbench can be invoked using benchpress cli:
6+
7+
```
8+
./benchpress_cli.py -b system run schbench_default
9+
```
10+
11+
Or, with custom runtime:
12+
```
13+
./benchpress_cli.py -b system run schbench_custom -i '{"runtime":20}'
14+
```

packages/syscall/README.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Syscall Benchmarks
2+
3+
Benchpress supports several syscall benchmarks. By default, it benchmarks all of them.
4+
5+
Single core benchmark:
6+
```
7+
./benchpress_cli.py -b system syscall_single_core
8+
```
9+
10+
Multi core (use all available cores):
11+
```
12+
./benchpress_cli.py -b system syscall_autoscale
13+
```
14+
15+
The syscall benchmark supports the following arguments:
16+
17+
```
18+
./benchpress_cli.py -b system syscall_single_core \
19+
-i '{"workers": 1, "duration_s": 60, "nanosleep_ns": 100, "base_port": 16500, "syscalls": "clock_gettime,getpid,nanosleep,tcp"}'
20+
```
21+
Where:
22+
- `workers`: Number of threads to use. -1 to use all cores
23+
- `duration_s`: Test duration in seconds
24+
- `nanosleep_ns`: Duration of nanosleep in nanoseconds
25+
- `base_port`: Base port for TCP server
26+
- `syscalls`: Comma separated list of syscalls to test. All if empty

0 commit comments

Comments
 (0)