Amdahl's law


Gene Amdahl에 의해서 만들어진 법칙이다.



어떤 시스템의 P만큼 부분을 S만큼 개선하면


전체 시스템에서의 최대 성능 향상은 아래의 식을 따른다.




즉, 이것을 병렬처리에 적용하면 아래와 같다.

S만큼 개선이라는 말은 CPU 갯수를 의미한다. 2개면 2배, 3개면 3배이다.

P만큼 부분이라면 CPU를 늘렸을때 향샹되는 것이기 때문에 병렬화가 가능한 Instruction의 수이다.


proof of Amdahl’s Law

Suppose an algorithm needs n operations to compute the result. With 1 processor, the algorithm will take n time units. With N processors, the (1f)n parallelizableoperations will take (1f)n time units and the remaining fn non parallelizable operations will take fn time units for a total running time of fn+(1f)nN time units. So the speedup S is nfn+(1f)nN=1f+1fN.



예를들어, P가 40%로 0.4이고 S가 2배 향상되어 2라면 아래와 같다.




이러한 Amdahl's law는 병렬 컴퓨팅에서의 멀티 프로세서에 따른 성능향상을 설명할때 사용 된다.



위의 그림과 같이 병렬 컴퓨팅에서 멀티프로세서를 사용할 때 프로그램의 성능향상은 프로그램의 순차적인 부분에 의해 제한된다. 예를 들면, 프로그램의 95%가 병렬화 할 수 있다면 이론적인 최대 성능 향상은 아무리 많은 프로세서를 사용하더라도 최대 20배로 제한된다.



'Computer Science > 컴퓨터 구조' 카테고리의 다른 글

Purpose of memory alignment  (0) 2014.11.25
4. 멀티 프로세서  (0) 2013.06.09
성능평가 방법  (0) 2012.11.21

+ Recent posts