multiprocessor : multiple processors per chip -> respoense time보다 throughput이 향상된다.
과거에는 response time을 향상시키는 데에 집중을 했지만 충분이 향상되었기 때문에 이제는 mulitple processor를 이용해 throughput에 집중한다.
Parallelism 성능 향상을 위한 중요한 기술이다. pipeling을 이용해 구현한다.
pipeline : (definition) 컴퓨터과학에서 파이프라인은 한 데이터단계의 출력이 다음단계의 입력으로 이어지는 형태로 연결된 구조를 가리킨다. 이렇게 연결된 데이터 처리 단계는 한 여러 단계가 서로 동시에, 또는 병렬적으로 수행될 수 있어 효율성의 향상을 꾀할 수 있다. 각 단계 사이의 입출력을 중계하기 위해 버퍼가 사용될 수 있다.
그림 1. 프로세서 성능의 성장 추세
2002년까지는 single core에 response time을 향상시켜 성능을 향상시켜왔다. 그 이후에는 multicore를 이용해 성능을 향상시키는 중이고, 병렬화의 어려움 때문에 성능 향상이 느려진 것이 확인된다.
예를 들어 A라는 처리를 단순하게 실행한다면 10초 걸리는데, 안전성을 고려하고 부가적인 B라는 처리를 추가한 결과 처리시간이 15초 걸렸다면, 오버헤드는 5초가 된다. 또한 이 처리 B를 개선해 B'라는 처리를 한 결과, 처리시간이 12초가 되었다면, 이 경우 오버헤드가 3초 단축되었다고 말한다