Meeting Minutes
RAPL 레지스터 업데이트가 N번 수행됐을 때의 tick 횟수와 에너지 값 측정
(이때 레지스터 업데이트가 N번 수행됐다는 것은 Nmsec 동안 프로그램을 수행했다는 것을 의미, RAPL 레지스터 업데이트가 1msec 마다 한 번씩 발생하므로)energy per tick(total energy during Nmsec / # of tick) 측정
N = 1(1msec), 10(10msec), 1000(1sec), 2000(2sec), 3000(3sec), 10000(10sec)
tick 값과 enerfy 값은 측정한 16개의 결과값 중 중간값을 사용함 (TODO: reasonable data collection)
1sec 부터 energy per tick이 대략 9,000 언저리의 값이 나오면서 안정성을 띠는 것 같다고 판단이 됨.
하지만 이 값을 Eloop에 사용하기 위해서는 값을 사용할 수 있다는 검증이 필요함.RAPL 에너지값을 읽는 단위가 있음을 발견 = 262,144
Basic block의 에너지값을 측정하면 이보다 더 Fine-Grained할 것이기 때문에 Eloop를 적용해서 에너지를 측정해야 한다.위에서 tick 개수를 구한 방법과 동일하게, basick block의 수행이 끝나는 시점부터 next update 시점까지 tick 개수를 구해보았는데, 작은 basic block(push instruction)에 unrolled factor를 100정도로 설정했을 때 (즉, push instruction을 100번 수행하도록 했을 때) tick 개수가 basick block의 실행 없이 1msec 동안 수행된 tick을 측정했을 때와 거의 유사하게 나왔다.
보다 큰 basic block을 수행시키거나 unrolling factor를 증가시켜서 측정해봐야 할 것 같다.CPU frequency를 최저로 설정했을 때 800MHz이다.
800MHz = 0.8GHz 이므로, 1초에 8억번의 clock을 수행할 수 있다.
TODO
- Reasonable data collection for energy per tick
- Eloop 구현
Job Queue
- 세미나 준비
- 미니프로젝트 채점 테스트벤치 만들기
- Ithemal 코드 보기
- 내장형 제안서 새로 작성