1. Moore's Law (무어의 법칙)
인텔의 고든 무어가 1965년에 주장한 법칙. 1000$로 살 수 있는 반도체의 집적회로 성능은 18개월마다 2배로 증가한다는 법칙이다. 좀 더 광범위하게 정의하면 컴퓨터의 성능은 일정 시기마다 배가하며 기하급수적으로 증가한다는 법칙을 말한다고 볼 수 있다.
2. Amdahl's Law (암달의 법칙)
어떤 작업의 시간 효율을 개선할 때, 전체 작업시간에 대해 P만큼의 작업시간을 차지하는 작업 시간을 S만큼 향상시켰다고 가정하자. 그렇다면 전체 작업 효율은 다음과 같이 향상된다는 법칙이다. 공식은 외울필요도 없다. 간단하게 생각해보자. 전체 1에서 $P$를 $\frac{P}{S}$로 대체한 것뿐이다.
$Improvement = \frac{1}{1 - P + \frac{P}{S}}$
$Improvement = \frac{1}{(1-0.1) + \frac{0.1}{2}} = \frac{1}{0.95} = 1.052$
암달의 법칙은 다음과 같은 의미를 지닌다.
- 전체 작업의 효율을 크게 증가시키고 싶으면 가장 비중이 큰 작업부터 초점을 맞추는 것이 좋음.
- 일부 작업이 개선의 여지가 없을 때, 전체 작업이 최대 어느정도 개선 효율을 보일지 예측 가능.
우리가 가장 쉽게 이 암달의 법칙을 느낄 수 있는 것은 바로 SSD이다. 보조 기억장치의 처리 속도는 다른 자원에 비해 자릿수가 다른 수준으로 느리기 떄문에, 사용자 응답시간 (Response Time)의 대부분을 저장장치의 속도가 결정하게 된다. 이를 HDD에서 SSD로 바궈주는 것으로 CPU나 메모리 업그레이드와는 차원이 다른 성능 향상을 체감할 수 있다.
또한 병렬 컴퓨팅의 경우, 일부 병렬화 가능한 작업들은 계산에 참여하는 코어의 개수에 의해 속도가 늘어난다. 이러한 경우에 암달의 법칙에 의해 병렬화 불가능한 작업들이 매우 많은 응답시간(Response Time)을 차지하게 되고, 이러한 작업들에 의해 전체 작업 시간이 크게 영향을 받는다. 즉, 아무리 코어의 수가 늘어나도 아래 그림처럼 속도는 한계가 있다는 것이다. 이 법칙에 의해 수행속도의 한계가 정해져버리기 때문에 이 법칙을 "암달의 저주"라고 부르기도 한다.
3. Gustafson's Law (구스타프슨의 법칙)
암달의 법칙이 Response Time의 감소에 초점을 맞추었다면, 구스타프슨의 법칙은 병렬화 되지 않은 부분에 대하여 동일한 시간의 작업량, 즉 Throughput에 초점을 맞추었다. 구스타프슨의 법칙은 아래의 수식으로 표현된다.
$S(P) = P - a(P-1)$
여기에서 P는 프로세서의 수, a는 병렬화되지 않은 부분, S(P)는 이론상의 성능향상비율이다. 여기에서 성능향상은 동일 시간동안 처리하는 데이터의 비율 (Throughput)이다. 가령 병렬화되지 않은 부분이 전체의 50%이고 128개의 코어가 투입된다면, 성능향상은 128 - 0.5 * 127 = 64.5이다. 즉, 같은 시간동안 128개의 코어를 활용하여 64.5배의 데이터를 처리할 수 있게 된다.
4. Pollack's Law (폴락의 법칙)
프로세서 성능은 면적 증가량의 제곱근과 비례한다. 개별 코어당 성능이 좋을 수록 면적이 크고, Capacity Load는 Power와 비례하므로, 전력 소비도 커진다는 법칙이다. 이 폴락의 법칙을 깰 수 있는 유일한 방법은 멀티코어 프로세서밖에 존재하지 않는다.
5. Reference
'컴퓨터구조' 카테고리의 다른 글
명령어 (4) - 메모리 오퍼랜드 (1) | 2020.04.08 |
---|---|
명령어 (3) - 바이트 주소, 엔디안 (0) | 2020.04.08 |
명령어 (2) - 산술연산, 레지스터 개요 (0) | 2020.04.08 |
명령어 (1) - 개요 (0) | 2020.04.08 |
성능 (4) - 성능 평가의 메트릭 (0) | 2020.02.15 |
성능 (2) - 전력 장벽 (Power Wall) (0) | 2020.02.15 |
성능 (1) - 성능의 정의와 평가 (0) | 2020.02.15 |