Amdahl과 Gustafson Barsis 법칙 재조명

본 논문은 Amdahl 법칙으로부터 Gustafson‑Barsis 법칙을 간단히 유도한다. 기존 컴퓨터 과학 문헌에서는 두 법칙이 별도로 도출되는 것이 일반적이지만, 순차 부분 실행 시간을 상수로 취급하면 몇 줄의 수식만으로 Gustafson‑Barsis 법칙을 Amdahl 법칙에서 직접 얻을 수 있음을 보인다. 또한, Gustafson‑Barsis 법칙이

Amdahl과 Gustafson Barsis 법칙 재조명

초록

본 논문은 Amdahl 법칙으로부터 Gustafson‑Barsis 법칙을 간단히 유도한다. 기존 컴퓨터 과학 문헌에서는 두 법칙이 별도로 도출되는 것이 일반적이지만, 순차 부분 실행 시간을 상수로 취급하면 몇 줄의 수식만으로 Gustafson‑Barsis 법칙을 Amdahl 법칙에서 직접 얻을 수 있음을 보인다. 또한, Gustafson‑Barsis 법칙이 Amdahl 법칙을 무효화한다는 흔히 퍼지는 주장은 오류임을 논증한다.

상세 요약

Amdahl 법칙은 전체 프로그램 실행 시간 중 순차적으로 실행되는 비율 s와 병렬화 가능한 비율 p (=1‑s)를 전제로, 프로세서 수 N 에 대한 이론적 최대 속도 향상을 S_A(N)=1/(s+ p/N) 로 표현한다. 여기서 핵심 가정은 순차 부분의 실행 시간이 고정된 절대값이라는 점이다. 반면 Gustafson‑Barsis 법칙은 “문제 규모를 고정하지 않고, 실행 시간을 일정하게 유지하면서 프로세서 수를 늘린다”는 관점에서 출발한다. 이 경우 전체 실행 시간 T(N)은 순차 부분 T_s와 병렬 부분 T_p(N) 로 나뉘며, T_s는 변하지 않지만 T_p(N)=N·T_p(1) 로 스케일한다. 따라서 속도 향상 S_G(N)=T_s+N·T_p(1) 를 전체 실행 시간 T(1)=T_s+T_p(1) 로 나누면 S_G(N)=s+N·p 가 된다.

논문은 이 두 식 사이의 관계를 다음과 같이 정리한다. Amdahl 식의 분모에 s+ p/N 를 곱하고 양변에 N을 곱하면 S_A(N)=N/(N·s+ p) 가 된다. 여기서 순차 실행 시간을 “고정된 절대값”이 아니라 “고정된 비율 s” 로 재해석하면, N·s 를 전체 실행 시간의 순차 성분으로 볼 수 있다. 즉, S_A(N)=N·(1‑s)+s 로 변형되며, 이는 바로 Gustafson‑Barsis 식 S_G(N)=s+N·p 와 동등함을 보여준다.

핵심은 순차 부분을 “시간”이 아니라 “비율”로 다루는 관점 전환이다. 순차 시간은 실제 하드웨어에서 고정된 절대값이 아니라, 문제 규모가 확대됨에 따라 상대적으로 감소하거나 유지될 수 있다. 따라서 두 법칙은 서로 상충하는 것이 아니라, 동일한 기본 모델을 서로 다른 가정(고정 시간 vs 고정 비율) 하에 표현한 것에 불과하다. 이 점을 명확히 하면, Gustafson‑Barsis 법칙이 Amdahl 법칙을 “무너뜨린다”는 오해는 사라진다. 오히려 두 법칙은 병렬 컴퓨팅 성능 한계를 이해하기 위한 보완적인 도구이며, 실제 시스템 설계 시에는 문제 규모와 실행 시간 제약을 동시에 고려해 두 식을 적절히 적용해야 한다.


📜 논문 원문 (영문)

🚀 1TB 저장소에서 고화질 레이아웃을 불러오는 중입니다...