암달의 법칙은 문제의 크기는 고정한 채 병렬 프로그램의 실행 시간이 얼마나 줄어드는지만 다룬다. 그러나 실행 시간을 상수로 고정하고 문제의 크기를 증가시켜도 실행 속도(처리율)의 증가를 관찰할 수 있다. 구스타프슨의 법칙(Gustafson’s Law)은 이러한 관찰을 통해 나온 것이다.
구스타프슨의 법칙을 보면 병렬성의 한계에 대해 좀 더 희망적인 관점을 갖게 한다. 작업의 양을 계속 늘릴 수 있다면 프로그램의 순차적인 부분의 영향은 점점 줄어들고 프로세서의 수를 늘릴 때마다 일정 수준의 속도 증가 효과를 볼 수 있다.
암달의 법칙을 들먹이며 여러분의 문제에 병렬성 도입이 소용없을 거라 말하는 이가 있다면, 구스타프슨이 관찰한 바를 적용하면 된다. 슈퍼컴퓨터나 분산 시스템에서 병렬성이 큰 역할을 하는 이유가 바로 여기에 있다. 데이터의 양은 계속 늘어나기 때문이다.
병렬 컴퓨팅을 조금이나마 이해했을 것이다. 지금부터는 병렬 컴퓨팅이 동시성과 어떤 관계가 있는지 알아보자.