유의 사항
시스템 실험 벤치마크할때 유의사항!!
- Disable HyperThreading Hyper Threading
- Numa disable 하기 Numa
- CPU frequency policy를 Performance로 설정 Governors
- CPU Affinity를 takset #CPU_NUM으로 설정 Affinity
- Thread수를 서로 일치시키기
- Networking stack의 구조를 일치시키기
- P-State OFF 시키기 (BIOS Setting)
시스템 실험 벤치마크후 유의사항!!
- 각 벤치마크가 무었을 측정하는가
- 각 벤치마크가 왜 차이나는 가
- 각 벤치마크가 차이난다면 어느 부분에서 차이나는가
유의 사항 2
- Systen benchmark 에서 Hyper threading, P-state, C-state 그리고 Governors설정은 매우 Critical 하다
- 방법및 소스를 문서화 시켜서, 시간이 지나도 혹은 다른 사람도 쉽게 다시 벤치마크 할 수 있도록 한다.
- Python이든, Bash script든 Rust든 어떤 방식으로든 자동화 하여야 한다.
- 벤치마크를 제대로 알아보고 벤치마크 해야 한다. 이 벤치마크가 측정하는 건 무었인지, 아규먼트는 무었인지, 어떤 방식으로 디스크에 접근하는지, 메모리 footprint는 얼마인지등...
- Huge page 사용을 통일 시켜라
- GCC Optimization레벨을 통일 시켜라. Default는 -O2나 -O3이다. Optimization Level은 생각보다 Critical 하다.