구스타프슨 법칙으로 보는 확장형 병렬 시스템 성능
구스타프슨 법칙의 Scaled Speedup 공식과 암달의 법칙 차이를 바탕으로, 확장 가능한 병렬 시스템의 성능 평가 기준과 제약을 정리합니다.
2026-08-14 · 최초 발행 2025-12-28
문제 크기도 함께 커지는 병렬 처리
병렬 시스템의 성능을 평가할 때 암달의 법칙만 적용하면, 프로세서를 늘릴수록 순차 구간이 병목이 되는 모습을 먼저 보게 된다. 1988년 존 구스타프슨(John Gustafson)이 제시한 구스타프슨 법칙(Gustafson's Law)은 여기서 문제의 크기를 고정하지 않는다.
컴퓨팅 자원이 늘어나면 같은 시간 안에 더 큰 작업을 처리하려는 수요도 커진다. 구스타프슨 법칙은 이 조건에서 병렬화 효과와 확장성(Scalability)을 평가하는 기준이다. 슈퍼컴퓨터, 클라우드 컴퓨팅, 빅데이터 분석처럼 작업 규모가 커지는 환경에 맞닿아 있다.
고정된 작업과 확장되는 작업의 차이
암달의 법칙은 다음 전제를 둔다.
- 문제의 크기는 고정되어 있다.
- 병렬화 가능한 부분과 순차 처리 부분의 비율이 일정하다.
- 프로세서를 늘려도 문제 크기는 변하지 않는다.
이 전제에서는 병렬 처리 효과가 작게 평가될 수 있다. 실제 환경에서는 추가된 컴퓨팅 자원으로 더 큰 데이터를 처리하거나, 더 높은 해상도와 정밀도를 요구하는 일이 있기 때문이다.
구스타프슨 법칙은 프로세서가 늘어날수록 동일한 시간 안에 처리할 문제의 크기도 늘어난다고 본다. 초점은 고정된 문제를 얼마나 빨리 끝내는가가 아니라, 커지는 문제를 얼마나 확장해 처리할 수 있는가에 있다.
Scaled Speedup으로 읽는 성능
구스타프슨 법칙의 성능 향상(Scaled Speedup)은 다음과 같이 표현한다.
S(P) = P - α(P - 1)
여기서 S(P)는 P개 프로세서에서의 성능 향상(Scaled Speedup)이고, P는 프로세서 개수다. α는 전체 작업 중 병렬화할 수 없는 순차 처리 비율이며, 범위는 0 ≤ α ≤ 1이다.
α = 0이면 S(P) = P가 되어 이상적인 선형 확장에 해당한다. 순차 구간이 존재하면 S(P) = P - α(P - 1)을 따르고, α = 1이면 S(P) = 1이므로 병렬화할 수 없다.
프로세서 개수 P = 10, 순차 비율 α = 0.05인 경우의 계산은 다음과 같다.
S(10) = 10 - 0.05(10 - 1)
= 10 - 0.05 × 9
= 10 - 0.45
= 9.55
이 조건에서는 10개의 프로세서로 약 9.55배의 성능 향상을 얻는다.
프로세서 수가 1, 2, 4, 8, 16, 32, ...로 증가할 때 α가 작을수록 곡선은 선형(linear)에 가깝게 상승한다. α = 0.05라면 프로세서 100개에서 약 95배, α = 0.10이라면 프로세서 100개에서 약 91배의 성능 향상이다.
암달의 법칙은 프로세서를 추가해도 성능이 특정 한계점으로 수렴하는 모습을 다룬다. 구스타프슨 법칙은 문제 규모를 확장할 수 있다는 조건에서 프로세서 증가에 따라 거의 선형에 가까운 성능 향상을 본다.
더 큰 문제를 처리하는 관점
고정된 100GB 데이터를 더 빨리 처리하는 데 초점을 두면, 프로세서를 늘려도 처리 대상은 여전히 100GB다. 반대로 구스타프슨 법칙은 일정 시간 안에 처리 가능한 데이터량을 키우는 데 주목한다. 프로세서가 늘어나면 같은 시간에 1TB, 10TB 데이터를 처리할 수 있다는 관점이다.
순차 비율이 5%일 때도 두 법칙이 보는 결과는 다르다. 암달의 법칙에서는 프로세서 100개에서 성능 향상이 약 20배에 그치며, 프로세서를 무한히 늘려도 순차 부분이 한계가 된다. 구스타프슨 법칙에서는 같은 순차 비율 5%, 프로세서 100개 조건에서 약 95배 성능 향상을 본다.
이 관점은 프로세서 코어 수를 수백만 개까지 확장하는 TOP500 순위의 슈퍼컴퓨터, 기후 모델링과 우주 시뮬레이션 같은 대규모 문제에 연결된다. Hadoop, Spark 같은 분산 처리 시스템에서도 노드를 추가하면 처리 가능한 데이터량이 증가하고, 같은 시간 내에 더 많은 데이터를 분석할 수 있다.
클라우드의 Auto-scaling 메커니즘 역시 트래픽 증가에 맞춰 인스턴스를 자동으로 추가하고 처리 용량을 탄력적으로 확장한다. 비용 대비 성능을 다룰 때도 문제 규모와 자원 규모가 함께 변하는 조건을 고려하게 된다.
이론치와 실제 성능 사이
구스타프슨 법칙이 확장성을 설명하더라도 실제 시스템 성능이 이론치에 그대로 도달하는 것은 아니다. 프로세서 간 데이터 교환 비용이 커지면 통신 오버헤드가 발생하고, 프로세서 수와 무관하게 메모리 접근 속도가 병목이 될 수 있다. 모든 알고리즘이 크기 확장에 적합한 것도 아니며, 일부 알고리즘은 본질적으로 순차적이다.
고정된 크기의 문제를 빠르게 해결하려면 암달의 법칙이 적합하고, 증가하는 컴퓨팅 파워로 더 큰 문제를 풀려면 구스타프슨 법칙이 맞는다. 병렬 시스템 설계에서는 두 관점을 함께 놓고 순차 처리 부분과 확장 가능한 아키텍처를 검토해야 한다.