[Computer architecture] 1.8 The Sea Change : The Switch from Uniprocessors to Multiprocessors

준치·2022년 1월 21일
0

[Computer architecture]

목록 보기
7/18

multiprocessor : multiple processors per chip -> respoense time보다 throughput이 향상된다.

과거에는 response time을 향상시키는 데에 집중을 했지만 충분이 향상되었기 때문에 이제는 mulitple processor를 이용해 throughput에 집중한다.
Parallelism 성능 향상을 위한 중요한 기술이다. pipeling을 이용해 구현한다.

pipeline : (definition) 컴퓨터과학에서 파이프라인은 한 데이터단계의 출력이 다음단계의 입력으로 이어지는 형태로 연결된 구조를 가리킨다. 이렇게 연결된 데이터 처리 단계는 한 여러 단계가 서로 동시에, 또는 병렬적으로 수행될 수 있어 효율성의 향상을 꾀할 수 있다. 각 단계 사이의 입출력을 중계하기 위해 버퍼가 사용될 수 있다.


그림 1. 프로세서 성능의 성장 추세

2002년까지는 single core에 response time을 향상시켜 성능을 향상시켜왔다. 그 이후에는 multicore를 이용해 성능을 향상시키는 중이고, 병렬화의 어려움 때문에 성능 향상이 느려진 것이 확인된다.

병렬화 어려운 이유

  1. difficulty of programming.
  2. 각 프로세서가 같은 양의 일을하게 해야하는데 이게 어렵다.
    • we must balance the load evenly to get the desired speedup.
  3. overhead를 줄이는 것
    • 오버헤드(overhead)는 어떤 처리를 하기 위해 들어가는 간접적인 처리 시간 · 메모리 등을 말한다.

예를 들어 A라는 처리를 단순하게 실행한다면 10초 걸리는데, 안전성을 고려하고 부가적인 B라는 처리를 추가한 결과 처리시간이 15초 걸렸다면, 오버헤드는 5초가 된다. 또한 이 처리 B를 개선해 B'라는 처리를 한 결과, 처리시간이 12초가 되었다면, 이 경우 오버헤드가 3초 단축되었다고 말한다

Reference

[1] D. Patterson and J. Hennessy, ⌜Computer Organization and Design, 5th Edition⌟ , chapter 1
[2] wikipedia, "Overhead", https://en.wikipedia.org/wiki/Overhead_(computing), (2022.01.21)
profile
설계 엔지니어 지망생

0개의 댓글