성능 (3) - 성능에 관련된 여러가지 법칙

컴퓨터구조

2020. 2. 15. 21:51

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

 

무어의 법칙 - 나무위키

연산성능과 정보밀도에 관련되어선 무어의 법칙이 물리 법칙에 제한받아서 사실상 폐기되면 개인용 컴퓨팅 환경에서 성능향상을 꾀하기 위한 대안은 크게 2가지로 나뉜다: 가정용 컴퓨터의 서버화: 컴덕과 워크스테이션 환경에선 이미 진행되는 추세로, 말 그대로 CPU와 GPU 여러개를 박아넣는 식으로 해결하는 방식이다. 대표적인 예로 NVidia가 최근 발표한 RTX 미니 서버 워크스테이션이 있다. 물론 병렬연산과 그와 관련된 최적화 부분에서 기술적 발전이 필요하긴

namu.wiki

 

암달의 법칙 - 나무위키

이 저작물은 CC BY-NC-SA 2.0 KR에 따라 이용할 수 있습니다. (단, 라이선스가 명시된 일부 문서 및 삽화 제외) 기여하신 문서의 저작권은 각 기여자에게 있으며, 각 기여자는 기여하신 부분의 저작권을 갖습니다. 나무위키는 백과사전이 아니며 검증되지 않았거나, 편향적이거나, 잘못된 서술이 있을 수 있습니다. 나무위키는 위키위키입니다. 여러분이 직접 문서를 고칠 수 있으며, 다른 사람의 의견을 원할 경우 직접 토론을 발제할 수 있습니다.

namu.wiki

 

폴락의 법칙 - 나무위키

프레드 폴락(Fred Pollack)이 제시하고 페트릭 P 겔싱어(Patrick P. Gelsinger)가 명명한 법칙. 성능은 면적(트랜지스터 수) 증가량의 제곱근과 비례하다. 역으로 말하자면 면적(트랜지스터 수)은 성능의 제곱에 비례하다. 개별 코어당 파이프라인 수가 많을수록, 구동이 더 복잡한 멀티쓰레딩을 할수록, 면적(트랜지스터 수)이 크고 복잡하고 전력소비도 크다는 법칙.

namu.wiki