| 항목 | 설명 | 관심 주체 |
|---|---|---|
| Latency | 작업 1개 처리에 걸리는 시간 | 사용자 |
| Throughput | 단위 시간당 처리량 | 시스템 운영자 |
⚠️ 둘 사이에는 trade-off가 존재함
❌ Throughput ≠ 1 / Latency 반드시 성립하지 않음
User Time + System TimeClock Cycle Time = 1 / Clock Frequency
예: 4GHz → 0.25ns = 250ps
CPU Time = IC × CPI × Clock Cycle Time
= CPU Clock Cycles / Clock Rate
• IC: Instruction Count
• CPI: Cycles per Instruction
• IPC: Instructions per Cycle = 1 / CPI
MIPS = IC / (Exec Time × 10⁶)
= Clock Rate / (CPI × 10⁶)
⚠️ 문제점:
• 명령어 복잡도 무시
• 프로그램 종류마다 차이 큼
• 실제 성능과 반대 결과 가능
산술 평균 (Arithmetic Mean)
AM = (x₁ + x₂ + ... + xₙ) / n
→ 시간 비교용
조화 평균 (Harmonic Mean)
HM = n / (1/x₁ + 1/x₂ + ... + 1/xₙ)
→ 속도(비율) 비교용
기하 평균 (Geometric Mean)
GM = (x₁ × x₂ × ... × xₙ)^(1/n)
→ 비율 비교에 안정적
• 성능 측정용 표준 프로그램
• SPEC: CPU 성능 측정 (예: SPEC2006)
• TPC: DB 처리량 측정 (TPC-C, TPC-H)
Speedup ≤ 1 / [(1 - f) + (f / N)]
• f: 병렬화 가능한 비율
• N: 프로세서 수
• N이 무한대로 가더라도 1 / (1 - f)가 최대 속도 향상
• 병렬화 비율 낮으면 의미 없음
Speedup = (1 - f) + N × f
• 문제 크기 증가 전제
• 병렬화 가능한 비율(f)이 높을수록
→ 선형적 성능 향상 가능
| 비교 항목 | Amdahl | Gustafson |
|---|---|---|
| 전제 | 문제 크기 고정 | 문제 크기 증가 |
| 중점 | 최대 성능 제한 | 병렬 성능 증가 |
| 활용 분야 | 일반 상황 | HPC, 슈퍼컴퓨팅 |