티스토리 뷰

Comparing Performance

같은 일에 대해서, 실행시간이 짧게 걸릴 수록 퍼포먼스는 좋아진다. 그렇다면 실행시간은 어떻게 계산할까?

Execution Time 계산하기

  • Elapsed Time
    • 모든 시간을 다 합친 Total Response Time
      • Processing, I/O, OS Overhead, idle time 등 모두 포함!
    • 비교하기에는 부정확하다
  • CPU Time
    • User CPU Time, System CPU Time으로 나눠진다. 
    • I/O Time이나 다른 프로그램 수행 시간 전부 제외
    • 주로 User CPU Time을 통해서 프로그램의 수행 시간을 계산한다.

 

CPU Clocking

  • Clock Frequency (Clock Rate)
    • 1초에 사이클 몇번??
    • e.x ) 4 GHz = 4000MHz = 4 * 10^9 Hz 이면, 1초에 4기가번만큼 사이클을 돈다는 뜻이다.  
  • Clock Period
    • 한 사이클 시간??
    • e.x ) 250ps = 0.25ns = 250 * 10^-12 s 이면, 한 사이클을 도는데 250* 10^(-12)초가 걸린다는 뜻이다. 
  • Clock Rate = 1/(Clock Period)

CPU Performance

  • 유일한 평가 기준은 Execution Time

Instruction Count

  • 프로그램에서 몇번의 Instruction이 필요할까?
  • 프로그램, ISA, Compiler에 의해 결정된다. 

 

CPI ( Clock-cycles Per Instruction )

  • 하나의 instruction을 실행하는데 몇개의 clock cycle이 필요한가?
  • CPU Hardware에 의해서 결정된다. 
  • instruction마다 CPI가 다르다. add는 3번인데 assignment는 2번일 수 있다. 
  • 따라서 평균을 구해서 계산한다. 

  • Weighted Average CPI 계산하기

정리

SPEC Benchmark

  • Performance를 객관적으로 측정하기 위한것
  • SPEC = Standard Performance Evaluation Corp

Amdahl's Law

  • Part를 업데이트 한다고 전체가 빨라지는 것은 아니다!

Low Power at Idle

  • Idle하는데 에너지가 너무 많이 들어서, 이를 줄이기 위한 노력

MIPS as a Performance Metric

  • ISA에서 말하는 MIPS랑은 상관 없는 개념이다!
  • MIPS = Millions of Insturctions Per Second, 즉 1초에 몇십만개의 Instruction을 해냈는지 계산하는거다!

 

  • Instruction Count가 식에 반영되지 않았으므로 성능 평가 요소로는 사용할 수 없다. 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함