2013년 7월 24일 수요일

슈퍼컴퓨터에서의 무어의 법칙 - 암달의 법칙, 구스타프슨의 법칙

고성능 컴퓨팅(HPC, High Performance Computing) 또는 슈퍼컴퓨터의 세계에서는 암달의 법칙이나 구스타프슨의 법칙은 반도체에서 무어의 법칙만큼이나 잘 알려진 법칙입니다. 이 두 법칙은 컴퓨팅 자원이 많아진다면 그 성능은 어떻게 달라질까에 대한 이론적 설명을 하고 있습니다. 이번 글에서는 이 두 법칙이 무엇이며 고성능 컴퓨팅에서 의미하는 바는 무엇인지 알아보도록 하겠습니다.

우선 이 두가지 법칙은 무었인가요? 암달의 법칙은 병렬 컴퓨터 또는 고성능 클러스터링 컴퓨터에서 성능 향상은 순차적인 부분이 전체의 프로그램에서 차지하는 비율에 제한된다라는 것입니다. 즉, 아무리 많은 컴퓨팅 자원이 있더라도 순차적인 부분이 차지하는 비율에 따라 그 성능 효과는 다르다라는 것입니다. 예를 들면, 아래그래프를 보면 프로그램의 50%만이 병렬화 할 수 있는 부분이라면 이론적인 성능 향상은 아무리 많은 프로세서를 사용하더라도 최대 2배로 제한됩니다. 이에 반해 구스타프슨의 법칙은 암달의 법칙과는 조금 다른 시각에서 바라본 법칙으로 작은 컴퓨터로 처리하기 어려운 대용량 데이터 처리는 효과적으로 병렬화하여 처리 할 수 있다는 법칙입니다. 두 법칙의 차이는 관점의 차이로서 암달의 법칙은 여러 사람(컴퓨터)이 일을 함으로써 일 처리 시간을 단축할 수 있다는 시간적인 시각에서 최대 성능향상을 예측할 수 있는 방법을 제시했다면 구스타프슨의 법칙은 여러 사람(컴퓨터)이 일을 함으로써 더 많은 일처리를 할 수 있다는 처리양적인 관점에서 바라본 것입니다. 예를 들면 한사람이 한나절 걸려서 처리 할 수 있는 일을 똑같은 처리능력을 가진 두 사람이 똑 같이 나눠서 일을 하면 반나절이면 끝낼 수 있다라고 보는 것이 암달의 법칙이라면, 구스타프슨의 법칙은 한사람이 하루에 하던 일을 두 사람이 동일한 하루 동안에 하면 두배의 일을 할 수 있다라고 보는 것입니다. 이 개념이 클러스터링을 이용한 고성능 컴퓨팅의 기본 개념적 바탕이 되었습니다.

아래 도표를 보면 암달의 법칙이나 구스타프슨의 법칙은 프로세서의 수가 많아지면 성능향상은 이루어 지게 됩니다. 암달의 법칙 도표를 보면 병렬화 부분이 차지하는 비율에 따라 성능향상을 이룰 수 있는 폭은 커지지만 언젠가는 성능향상이 한계에 닿게 됩니다. 특정 이상의 자원 추가는 무의미 하다는 것이죠. 그렇지만 구스타프슨은 성능 향상 기울기의 차이는 있을 수 있어도 자원의 증가는 곧바로 성능의 향상으로 이어진다라고 보는 것입니다. 현재의 단일 컴퓨터로 처리하기가 어려운 충분히 커다란 대용량의 처리는 각 컴퓨터에 맞게 적당히 일을 나눠 많은 수의 컴퓨터로 처리할 수 있다고 보는 것입니다.

암달의 법칙

구스타프슨의 법칙

다음 글에서는 이러한 법칙이 고성능 컴퓨터(HPC) 또는 슈퍼컴퓨터에서 어떤 의미가 있는지 살펴보겠습니다.

댓글 없음:

댓글 쓰기