Skip to content

Commit b34ad29

Browse files
authored
Merge pull request #2182 from Kobzol/update-runner-docs
Update benchmarking server specs
2 parents ee37b1d + 56ad45b commit b34ad29

File tree

1 file changed

+72
-37
lines changed

1 file changed

+72
-37
lines changed

docs/perf-runner.md

Lines changed: 72 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,88 @@
1-
# CI benchmarking machine
2-
The machine that actually executes the benchmarks in CI has the following configuration.
1+
# Benchmarking machine
2+
The machine that actually executes the benchmarks is the `AX-42` server running on [Hetzner](https://www.hetzner.com/dedicated-rootserver/). It has the following configuration.
33

44
## Hardware
5-
- 6-core AMD Ryzen 5 3600 with HyperThreading (12 hardware threads total)
5+
- 8-core AMD Ryzen 7 PRO 8700GE with HyperThreading (16 hardware threads total)
66
<details>
77
<summary>Output of `lscpu`</summary>
88

99
```
10-
Architecture: x86_64
11-
CPU op-mode(s): 32-bit, 64-bit
12-
Byte Order: Little Endian
13-
CPU(s): 12
14-
On-line CPU(s) list: 0-11
15-
Thread(s) per core: 2
16-
Core(s) per socket: 6
17-
Socket(s): 1
18-
NUMA node(s): 1
19-
Vendor ID: AuthenticAMD
20-
CPU family: 23
21-
Model: 113
22-
Model name: AMD Ryzen 5 3600 6-Core Processor
23-
Stepping: 0
24-
CPU MHz: 3819.020
25-
CPU max MHz: 3600.0000
26-
CPU min MHz: 2200.0000
27-
BogoMIPS: 7186.58
28-
Virtualization: AMD-V
29-
L1d cache: 32K
30-
L1i cache: 32K
31-
L2 cache: 512K
32-
L3 cache: 16384K
33-
NUMA node0 CPU(s): 0-11
34-
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate sme ssbd ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif umip rdpid overflow_recov succor smca
10+
Architecture: x86_64
11+
CPU op-mode(s): 32-bit, 64-bit
12+
Address sizes: 48 bits physical, 48 bits virtual
13+
Byte Order: Little Endian
14+
CPU(s): 16
15+
On-line CPU(s) list: 0-7
16+
Off-line CPU(s) list: 8-15
17+
Vendor ID: AuthenticAMD
18+
Model name: AMD Ryzen 7 PRO 8700GE w/ Radeon 780M Graphics
19+
CPU family: 25
20+
Model: 117
21+
Thread(s) per core: 1
22+
Core(s) per socket: 8
23+
Socket(s): 1
24+
Stepping: 2
25+
CPU(s) scaling MHz: 88%
26+
CPU max MHz: 5184.0000
27+
CPU min MHz: 0.0000
28+
BogoMIPS: 7300.19
29+
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 cl
30+
flush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm co
31+
nstant_tsc rep_good amd_lbr_v2 nopl nonstop_tsc cpuid extd_apicid aperfmpe
32+
rf rapl pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt ae
33+
s xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4
34+
a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core p
35+
erfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba pe
36+
rfmon_v2 ibrs ibpb stibp ibrs_enhanced vmmcall fsgsbase bmi1 avx2 smep bmi
37+
2 erms invpcid cqm rdt_a avx512f avx512dq rdseed adx smap avx512ifma clflu
38+
shopt clwb avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsave
39+
s cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local user_shstk avx512_bf16
40+
clzero irperf xsaveerptr rdpru wbnoinvd cppc arat npt lbrv svm_lock nrip_
41+
save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshol
42+
d avic vgif x2avic v_spec_ctrl vnmi avx512vbmi umip pku ospke avx512_vbmi2
43+
gfni vaes vpclmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq rdpid ove
44+
rflow_recov succor smca fsrm flush_l1d
45+
Virtualization features:
46+
Virtualization: AMD-V
47+
Caches (sum of all):
48+
L1d: 256 KiB (8 instances)
49+
L1i: 256 KiB (8 instances)
50+
L2: 8 MiB (8 instances)
51+
L3: 16 MiB (1 instance)
52+
NUMA:
53+
NUMA node(s): 1
54+
NUMA node0 CPU(s): 0-7
55+
Vulnerabilities:
56+
Gather data sampling: Not affected
57+
Itlb multihit: Not affected
58+
L1tf: Not affected
59+
Mds: Not affected
60+
Meltdown: Not affected
61+
Mmio stale data: Not affected
62+
Reg file data sampling: Not affected
63+
Retbleed: Not affected
64+
Spec rstack overflow: Mitigation; Safe RET
65+
Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl
66+
Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization
67+
Spectre v2: Mitigation; Enhanced / Automatic IBRS; IBPB conditional; STIBP always-on;
68+
RSB filling; PBRSB-eIBRS Not affected; BHI Not affected
69+
Srbds: Not affected
70+
Tsx async abort: Not affected
3571
```
3672
3773
</details>
38-
- 64 GiB RAM, 32 GiB of swap
74+
- 64 GiB RAM, swap disabled
3975
4076
## Software
41-
- Kernel: `4.15.0-191-generic`
42-
- OS: Ubuntu `18.04`
77+
- Kernel: `6.8.0-60-generic`
78+
- OS: Ubuntu `24.04`
4379
4480
## Configuration
45-
### HyperThreading & Turboboost
46-
As of November 2022, both are disabled.
4781
48-
Prior to October 2022, both were enabled. During October 2022 some
49-
[experimentation](https://github.com/rust-lang/rustc-perf/issues/1450) was done
50-
which found that disabling both reduced variance significantly.
82+
The machine is configured via [this](https://github.com/rust-lang/simpleinfra/blob/master/ansible/playbooks/rustc-perf.yml) Ansible script.
83+
84+
### HyperThreading & Turboboost
85+
Both are disabled.
5186
5287
### CPU scaling
5388
Scaling governor set to `performance`.
@@ -62,4 +97,4 @@ Note that ASLR is also
6297
Disabled with `kernel.nmi_watchdog=0` in `sysctl.conf`.
6398
6499
### Swap
65-
`vm.swappiness` set to `60`.
100+
`vm.swappiness` set to `10`. Swap is disabled anyway though.

0 commit comments

Comments
 (0)