본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
Amdahl's Law
프로그램의 일부만 빠르게 하거나 병렬화할 때 전체 성능 향상에는 개선되지 않는 부분이 상한을 정한다는 법칙

진 암달(Gene M. Amdahl)이 1967년 AFIPS 춘계 합동 컴퓨터 학술대회 논문에서 단일 프로세서 접근의 타당성을 논하며 제시했다.[1]

전체 실행 시간 가운데 병렬화(개선)할 수 있는 비율을 P, 프로세서(코어) 수를 N 이라 하면

속도 향상 S(N) = 1 / ((1 − P) + P / N)
  • 1 − P 는 순차로만 실행되는 부분으로, 코어를 늘려도 줄지 않는다.
  • N 이 무한히 커지면 P / N 은 0 에 가까워지므로 S 의 상한은 1 / (1 − P) 이다.[2]
  • 일반형은 개선 비율 F 를 S 배 빠르게 할 때 1 / ((1 − F) + F / S) 이다.

병렬화 가능 85%(P = 0.85), 코어 8개(N = 8), 통신·락 오버헤드 무시

  • 순차 부분 1 − P = 0.15
  • 병렬 부분 P / N = 0.85 / 8 = 0.10625
  • 합 0.15 + 0.10625 = 0.25625
  • S = 1 / 0.25625 ≒ 3.90배

코어를 무한히 늘려도 1 / 0.15 ≒ 6.67배를 넘지 못한다. 8개 코어로 8배 가까이 빨라지지 않는 것은 순차 부분 15% 때문이다.

병렬화 비율 80%, 코어 4개라면 1 / (0.2 + 0.8 / 4) = 1 / 0.4 = 2.5배이다.

구스타프슨의 법칙과 비교

편집 원본 편집
구분 암달의 법칙 구스타프슨의 법칙
전제 문제 크기 고정(강한 확장성) 코어 수에 맞춰 문제 크기를 키움(약한 확장성)
결론 순차 부분이 속도 향상의 상한을 정한다 큰 문제에서는 코어 수에 거의 비례해 처리량이 는다
식 1 / ((1 − P) + P / N) (1 − P) + P × N
  1. ↑ Gene M. Amdahl, 「Validity of the single processor approach to achieving large scale computing capabilities」, AFIPS Spring Joint Computer Conference, 1967, https://doi.org/10.1145/1465482.1465560, 확인일: 2026-11-04.
  2. ↑ 「Amdahl's Law」, Brown University CSCI 1760 handout, https://cs.brown.edu/courses/csci1760/handouts/amdahl.pdf, 확인일: 2026-11-04.
프로세스 수를 병렬화해도 성능 향상의 한계 존재

제니 암달(Gene M. Amdahl)이 1967년 논문에서 발표

CPU 4개를 병렬화해도 성능 향상은 2.5배