성능 분석
병렬 프로그램의 확장성(scalability)을 조사하는 방법으로 가장 적절한 것은?
- A최대 코어 수에서 한 번만 측정한다
- B스레드나 코어 수를 1, 2, 4, 8…로 늘려 가며 실행 시간을 측정하고, 속도 향상률이 어떻게 늘어나는지 그래프로 만든다
- C코어 하나만으로 여러 번 측정한다
정답과 해설 보기
정답: B. 스레드나 코어 수를 1, 2, 4, 8…로 늘려 가며 실행 시간을 측정하고, 속도 향상률이 어떻게 늘어나는지 그래프로 만든다
코어 수를 바꿔 가며 속도 향상률을 측정하면, 이상적으로는 코어 수에 비례하여 늘지만 실제로는 병렬화할 수 없는 부분, 동기화나 통신, 메모리 대역폭 부족 등으로 어떤 수부터 증가가 둔해집니다. 어디서 증가가 멈추는지 보면 무엇이 제약이 되는지에 대한 단서를 얻을 수 있습니다. 비교 기준은 병렬화하지 않은 가장 빠른 순차 프로그램으로 하는 것이 공정합니다.
- A. 한 번만으로는 증가 양상을 알 수 없습니다.
- B. 올바릅니다. 어디서 증가가 멈추는지 알 수 있습니다.
- C. 병렬화의 효과를 알 수 없습니다.