0

"컴퓨터 아키텍처 : A 정량적 접근법 5th ed"를 통해 읽었으며 Amdahl의 법칙을 파악하려고합니다. 시스템의 속도를 높이면 속도가 빨라집니다 특정 비율의 시스템 비율. 특정 요인에 의해 시스템 속도를 높이는 것에 대해 이야기 할 때 이해하기 쉽습니다. 10 배 빠른 시스템. Amdahl 's Law의 예를 통해 속도 향상에 대해

는 구체적인 예를 제공합니다 : 당신은 특정 하위 시스템이 실행 시간의 70 %를 차지하고있는 시스템을 가지고

그리고 당신이 하위 시스템의 대기 시간을 개선하는 속도 향상을 개발하고자하는 50 %. 이 책에서

은 암달의 법칙은 다음과 같이 표시됩니다 :

SpeedupOverall = 1/((1-FractionEnhanced) + (FractionEnhanced/SpeedupEnhanced)) 나는 소수 향상의 설명 ("에서 수집

향상 기능을 활용하기 위해 변환 할 수있는 원래 컴퓨터에서 계산 시간의 일부 ": FractionEnhanced = 70 % 또는 0.7.

여기 내 질문은 속도 향상을 반영하는 방법입니다. 이 책은이를 "향상된 실행 모드에서 얻은 개선, 즉 확장 된 모드가 전체 프로그램에 사용 된 경우 작업이 얼마나 빨리 실행되는지"라고 설명합니다. 이 책은 이것이 개선 시간 동안의 원래 모드라는 시간이라고 말합니다. 이 경우 70/50 또는 1.4입니다. 그러나, 내 혼란이 어디서 오는이 website와 자바 애플릿 코드를 검토하여, 그것은 속도 향상은 1 + 속도 증가, 또는 1.5 것 같습니다. 어쩌면 나는 이것도 overthink 오전,하지만 또한 생각할 수있는 방법 .7/(0.7 - 0.7 * 0.5), 또는 2 (이후 70 % * 50 % 실제 지연 시간은 실제 측면에서 sub-sbstem, 그렇습니까?).

  1. 를 들어

    SpeedupEnhanced = 50분의 70 = 1.4 : SpeedupOverall = 1/((1-0.7) + 0.7/1.4) = 1.25

    수학을 근무, 우리는 다음과 같은 답변을 얻을

  2. SpeedupEnhanced = 1 + 0.5 = 1.5

    : SpeedupOverall = 1/((1-0.7) + 0.7/1.5) = SpeedupEnhanced = 0.7/(0.7-0.7 * 0.5) = 2의

  3. 1.3043 : SpeedupOverall = 1/((1-0.7) +. 7/2) = 1.54

올바른 속도 향상은 어느 것입니까? 두 번째 책은 나에게 의미가있는 것처럼 보이지만 책은 첫 번째 책이 옳다는 것을 암시하는 것으로 보인다. 이러한 유형의 속도 향상을 파악하는 방법에 대한 참조 나 설명을 통한 도움은 크게 감사하겠습니다.

답변

1

"speedup enhanced"는 향상된 부분 실행 시간 변경 ("x"단위 만)을 특징 짓는 무차별 값이기 때문에 세 번째 대답 (총 속도 향상 1.54x)이 올 바릅니다. 귀하의 경우 속도 향상은 단순히 70/(70 * 0.5)와 같습니다.

전반적으로 amdahl 법률과 gustafson 법 해석에는 많은 혼동이있을 수 있습니다. 놀랍게도 좋은 시작 읽기는 amdahl 법에 관한 위키피디아 페이지입니다. 특히 "향상된 속도 향상"개념 대신 병렬 계산 및 프로세서 수를 강조하는보다 전통적인 해석으로 다시 매핑됩니다. 더 깊고 철저한 독서는 대안적인 "낙관적 인 법"을 발명 한 Gustafson 교수의 참고 페이지에서 찾을 수 있습니다.모든 자료를 검토 한 결과, "속도 향상"이라는 개념이 훨씬 더 흥미롭고 모호하다는 것을 알 수 있습니다.

+0

도움 주셔서 감사합니다. 제 3의 옵션에 대한 제 생각은 맞습니까? 아니면 50 %를 선택하여 조금 편리 했습니까? 55 %를 선택했는데 SpeedupEnhanced가 0.7/(0.7-0.7 * 0.55)와 같을까요? – basil

+0

하위 시스템 개선 (예 : 하위 시스템 실행 시간이 55 % 감소한 경우)이 55 % (Y %) 인 경우 SpeedupEnhanced = 0.7/(0.7 * 0.55) = 1/0.55입니다. 따라서 SpeedupEnhanced는 단순히 1/Y %와 동일합니다. 여기서 (100-Y %)는 병화 후 하위 시스템 (실행 시간)을 특징으로합니다. 1/Y가 너무 간단한 수식 인 것 같아서 혼란 스러울 수 있습니다. 혼란의 근원은 당신의 책에서 법의 해석이 원산지 (평행 수행 시간)에 따라 좀 더 직관적이고 자연스럽고 일반적인 것을 일반화하려고 시도한다는 것입니다. 하지만 Gustafson 대 Amdahl의 문제로 인해 지나친 일반화가 나쁘지 않다. – zam

+0

좋아, 이제 내가 너를 얻을 것 같아. 이 점에 대해 더 읽을만한 참고 자료가 있습니까? – basil