성능 (4) - 성능 평가의 메트릭

컴퓨터구조

2020. 2. 15. 21:55

1. MIPS (Millions Instructions Per Second)

한때 메트릭처럼 활용되었지만, Instruction Set Architecture의 차이로 인해 오해가 생길 수 있다. 따라서 메트릭으로 사용하면 안된다. 아래를 자세히 보자.

 

$MIPS = \frac{Instructions}{CPU Time \times 10^6}$

 

$MIPS = \frac{Instructions}{\frac{Instructions \times CPI}{Clock Rate} \times 10^6}$

 

$MIPS = \frac{Clock Rate \times 10^6}{CPI}$

 

예로서 “Hello World” 프로그램의 경우, CISC ISA 시스템에서 컴파일 되면 10개 정도의 명령어를 사용할 것이지만 RISC ISA 시스템에서 컴파일 될 경우 20개를 사용할 수도 있다. 두종의 CPU간에서 이 프로그램을 실행시키는데 같은 시간이 걸렸다면, RISC칩이 CISC보다 2배 많은 MIPS 수치를 나타낼 것이다. 

 

2. MFLOPS (Millions of Floating Point Operation Per Secons)

FLOPS는 부동소수점 연산 횟수를 의미하는데, MIPS와 같은 이유로 Performance를 측정하는 메트릭으로 사용하면 안된다. FLOPS(초당 10억개의 부동소수 연산)를 측정하려면, 프로그램에서 부동소수 연산 수를 밀리초단위의 실행시간으로 나누면 된다. 두개의 프로그램이 있다고 하자, 첫째는 80%가 부동소수 연산이고 둘째는 20%이라면, 두개를 실행시키는데 같은 시간이 걸렸다면, 다른 FLOPS 수치가 나올 것이다.

 

간단히 말해서 FLOPS나 MIPS는 믿을만한 벤치마크의 성능을 나타낼 수 없다는 것이다. 다행하게도, 다른 방법이 분명히 있다. 실제 어플리케이션을 사용하는 것이다. 컴퓨터 성능을 측정할 때, 가장 중요한 부분은 매일 사용하는 프로그램들을 가능한 한 빨리 실행할 수 있냐는 것이다. 그러므로 가장 유명하고, 좋은 방법은 실제 사용하는 프로그램을 돌려보고 이 작업을 수행하는데 얼마나 오래 걸리는지 보는 것이다. SPEC Benchmark 와 같은 벤치마크 프로그램을 이용하여 성능을 측정하는 것이 MIPS나 FLOPS 같은 메트릭을 사용하는 것 보다 바람직하다.

 

3. Reference

 

[강좌] 벤치마크의 이면 : SPEC, GFLOPS, MIPS | 케이벤치

[강좌] 벤치마크의 이면 : SPEC, GFLOPS, MIPS 1999/04/22 12:00:00 회사나 경력의 흥망성쇠를 쥐고 있는 힘은 무엇인가? 논쟁의 열기와 격한 감정, 그리고 격렬한 시비를 불러일으키는 힘은 무엇인가? 섹스 스캔들? 소송? 아니다. ? 벤치마크를 보라. 수백만 달러의 수퍼컴퓨터와 엄청난 정부의 계약 시절부터 벤치마크(Benchmark)는 생산제품과 이 생산제품에 관여한 사람들의 흥망성쇠를 좌우하는데 중요한 부분을 차지해왔다. 수퍼

kbench.com