Eloop: RAPL value per Tick (ver9)
1ms 구간에서만 Eloop 값이 튀는데, 이에 대한 원인은 아직 파악하지 못 했다.
그 외의 구간(10ms ~ 10,000ms) 에서는 약 75,000 정도로 균일하게 나오는 것을 확인할 수 있었다.
값이 너무 큰 것이 아닌가 했는데, RAPL 값을 읽어오는 데 system call이 사용됨으로써 이런 값이 나오는 것 같다는 추측이 있었다.
RAPL value per BB (ver10)
Increase BB iterations until read_curr - read_pre != 0
unrolled BB의 수행시간이 1ms를 넘어갈 때까지 iteration 값을 늘려 RAPL 값을 측정했다.
read_curr - read_pre 값을 iteration 으로 나눠서 RAPL value per BB을 계산했다.
ver8
BB의 clock cycle을 통해 1ms 동안 수행할 수 있는 iteration(unrolling factor)값을 구한 후, 측정한 RAPL 값을 iteration으로 나누어 BB을 한 번 수행했을 때의 RAPL 값을 측정한다.
Experiment Setup
- CPU frequency: 800MHz
초당 800,000,000 (8억) 번의 clock 수행- 1/frequency = How long it takes to run one clock <unit: sec> (한 clock을 수행하는 데 걸리는 시간)
- For all BB, we need to know number of clocks required for execution.
- Number of clocks required for running BB * 1/frequency = How long it takes to run a BB <unit: sec> (한 BB을 수행하는 데 걸리는 시간)
- sec for running BB * 1,000 = ms for running BB
(1sec = 1,000ms)- 1 / ms for running BB = Number of BBs that can be performed in 1ms
Number of BBs that can be performed in 1ms = iteration
Data Collection 시작
skylake 데이터에 대해서 ver8에 기술된 방법으로 진행할 예정
Data file format
BB 1, RAPL value for BB 1
BB 2, RAPL value for BB 2
...
BB N, RAPL value for BB N
단위 변경: J(줄), W(와트)
단위 변경.
W(what) : 무슨
J(jilal) : **
WJ : ???