Speedup

Speedup

컴퓨터 아키텍처에서 속도 향상이란 동일한 문제를 처리하는 두 시스템의 상대적 성능을 측정하는 수치입니다.보다 엄밀히 말하면, 서로 다른 자원을 가진 두 개의 유사한 아키텍처에서 실행되는 태스크의 실행 속도를 향상시키는 것입니다.속도 향상 개념은 병렬 처리에 특히 중점을 둔 Amdahl의 법칙에 의해 확립되었습니다.그러나 속도 향상은 리소스 확장 후 성능에 미치는 영향을 나타내기 위해 더 일반적으로 사용할 수 있습니다.

정의들

속도 향상은 지연 시간과 [1]스루풋이라는 두 가지 다른 수량에 대해 정의할 수 있습니다.

아키텍처의 레이텐시는 태스크 실행 속도에 역수입니다.

어디에

  • v는 작업 실행 속도입니다.
  • T는 태스크 실행 시간입니다.
  • W는 태스크 실행 워크로드입니다.

아키텍처의 throughput은 태스크 실행률입니다.

어디에

  • §는 실행 밀도(예를 들어 파이프라인 아키텍처대한 명령 파이프라인의 단계 수)이다.
  • A는 실행 능력(예를 들어 병렬 아키텍처의 프로세서 수)입니다.

지연 시간은 종종 실행 워크로드 단위당 초 단위로 측정됩니다.throughput은 종종 초당 실행 워크로드 단위로 측정됩니다.throughput의 또 다른 단위는 Instructions per Cycle(IPC; 사이클/사이클/사이클/인스트럭션)이며, 그 역수인 CPI(cycles/instruction)는 지연의 또 다른 단위입니다.

속도 향상은 차원이 없으며 수량 유형별로 다르게 정의되므로 일관된 메트릭이 됩니다.

레이텐시의 고속화

지연 시간 단축은 다음 [2]공식으로 정의됩니다.

어디에

  • Slatency 아키텍처 1에 대한 아키텍처 2의 레이텐시 속도 향상입니다.
  • L1 아키텍처 1의 레이텐시입니다.
  • L2 아키텍처 2의 레이텐시입니다.

대기 시간 증가는 Amdahl의 법칙 또는 Gustafson의 법칙에서 예측할 수 있습니다.

스루풋의 고속화

throughput의 속도 향상은 다음 [3]공식으로 정의됩니다.

어디에

  • Sthroughput 아키텍처1에 대한 아키텍처2의 throughput의 고속화입니다.
  • Q1 아키텍처 1의 throughput입니다.
  • Q2 아키텍처 2의 스루풋입니다.

실행 시간 사용

프로그램 실행 시 분기 예측 변수의 효과를 테스트하고 있습니다.먼저 프로세서의 표준 분기 프레딕터를 사용하여 프로그램을 실행하며 실행 시간은 2.25초입니다.다음으로, 같은 프로세서에서 수정(개선된) 분기 프레딕터를 사용하여 프로그램을 실행합니다.이것에 의해, 1.50초의 실행 시간이 발생합니다.두 경우 모두 실행 워크로드는 동일합니다.속도 향상 공식을 사용하면

델의 새로운 브랜치 프레딕터는 기존 브랜치 프레딕터보다 1.5배 빠른 속도를 실현했습니다.

명령당 사이클 및 주기당 명령 사용

레이텐시인 명령당 사이클 수(CPI)도 측정할 수 있습니다.먼저 CPI가 3인 표준 분기 예측기를 사용하여 프로그램을 실행합니다.다음으로 CPI가 2인 수정된 분기 예측기를 사용하여 프로그램을 실행합니다.두 경우 모두 실행 워크로드는 동일하며 두 아키텍처 모두 파이프라인 또는 병렬 아키텍처가 아닙니다.속도 향상 공식을 사용하면

또한 사이클당 명령(IPC)으로 속도 향상을 측정할 수 있습니다.IPC는 스루풋이며 CPI의 역수입니다.속도 향상 공식을 사용하면

측정 수량은 다르지만 동일한 1.5배의 속도 향상을 달성했습니다.

기타 상세

S가 작업의 실행 속도를 높이고 아키텍처의 자원 개선에서 이익을 얻는 작업의 실행 속도를 높인다.선형 속도 상승 또는 이상적인 속도 상승은 S = s일 때 얻어진다. 선형 속도 상승으로 작업을 실행할 때 로컬 속도 상승이 두 배로 증가하면 전체 속도 상승이 두 배로 증가한다.이는 이상적인 방법이기 때문에 매우 뛰어난 확장성으로 간주됩니다.

효율성은 다음과 같이 정의된 개선된 시스템의 자원 사용률 지표입니다.

일반적으로 값은 0 ~1 입니다.선형 속도 향상 및 단일 프로세서에서 실행되는 프로그램의 효율은 1이지만, 크기가 조정되기 어려운 프로그램의 효율은 프로세서 A = s의 수가 증가함에 따라 0에 근접하는 1/ln(s)[citation needed]과 같습니다.

엔지니어링 컨텍스트에서 효율 곡선은 속도 향상 곡선보다 그래프에 더 자주 사용됩니다.

  • 그래프의 모든 영역이 유용하다(속도 상승 곡선의 경우 공간의 절반이 낭비된다).
  • 시스템 개선이 얼마나 잘 작동하고 있는지 쉽게 알 수 있다.
  • "완벽한 속도 상승" 곡선을 그릴 필요가 없습니다.

마케팅 상황에서 속도 향상 곡선이 더 자주 사용됩니다. 주로 곡선이 위로 올라가 오른쪽으로 이동하기 때문에 정보가 부족한 사람들에게 더 잘 보이기 때문입니다.

초선형 속도 향상

병렬 컴퓨팅에서 A 프로세서를 사용할 때 A 이상의 속도 증가가 관찰되는 경우가 있는데, 이를 초선형 속도 증가라고 합니다.초선형 속도 향상은 거의 발생하지 않으며, 이론상 최대 속도 향상은 A 프로세서를 사용할 A여야 한다고 생각하는 초보자를 혼란스럽게 하는 경우가 많습니다.

저레벨 계산에서 초선형 속도를 높이는 이유 중 하나는 현대 컴퓨터의 다른 메모리 계층에 기인하는 캐시 효과입니다.병렬 컴퓨팅에서는 프로세서의 수뿐만 아니라 다른 프로세서에서 축적된 캐시의 크기도 변화합니다.축적된 캐시 사이즈가 커지면 작업 세트의 대부분이 캐시에 들어갈 수 있고 메모리 액세스 시간이 대폭 단축되므로 실제 [4]계산과 더불어 속도가 향상됩니다.

BLAST 구현에 의해 검색된 게놈 데이터와 같은 대규모 데이터 세트를 검색할 때도 유사한 상황이 발생합니다.클러스터 내의 각 노드에서 축적된 RAM을 통해 데이터셋을 디스크에서 RAM으로 이동할 수 있으므로 [5]mpiBLast 등의 검색에 소요되는 시간이 대폭 단축됩니다.

또한 병렬로 백트래킹을 수행할 때도 초선형 속도 상승이 발생할 수 있습니다.한 스레드의 예외로 인해 다른 여러 스레드가 [6]그 예외에 도달하기 전에 백트래킹이 조기에 발생할 수 있습니다.

최적화를 [7]위한 브랜치앤바운드의 병렬 실장에서도 초선형 스피드 업이 발생할 수 있습니다.즉, 1개의 프로세서가 1개의 노드를 처리하는 것은 다른 프로세서가 다른 노드에 대해 수행해야 하는 작업에 영향을 줄 수 있습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ Martin, Milo. "Performance and Benchmarking" (PDF). Retrieved 5 June 2014.
  2. ^ Hennessy, John L.; David A., Patterson (2012). Computer Architecture: A Quantitive Approach. Waltham, MA: Morgan Kaufmann. pp. 46–47. ISBN 978-0-12-383872-8.
  3. ^ Baer, Jean-Loup (2010). Microprocessor Architecture: From Simple Pipelines to Chip Multiprocessors. New York: Cambridge University Press. pp. 10. ISBN 978-0-521-76992-1.
  4. ^ Benzi, John; Damodaran, M. (2007). "Parallel Three Dimensional Direct Simulation Monte Carlo for Simulating Micro Flows". Parallel Computational Fluid Dynamics 2007: Implementations and Experiences on Large Scale and Grid Computing. Parallel Computational Fluid Dynamics. Springer. p. 95. Retrieved 2013-03-21.
  5. ^ http://people.cs.vt.edu/~feng/presentations/030903-ParCo.pdf[베어 URL PDF]
  6. ^ Speckenmeyer, Ewald (2005). "Superlinear Speedup for Parallel Backtracking". Lecture Notes in Computer Science. 297: 985–993. doi:10.1007/3-540-18991-2_58. ISBN 978-3-540-18991-6.
  7. ^ "Gurobi versus CPLEX benchmarks". cmu.edu. 29 January 2009. Retrieved 23 April 2018.