English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

게스트
1 / ?
수업 목록으로

로그-로그 플롯 & 포화

컴퓨팅 속도는 50년 동안 지수 성장 곡선을 따랐습니다. 로그-선형 플롯(로그 속도 대 선형 시간)에서 이것은 기울기 b = 연간 자릿수 단위의 성장률인 직선으로 나타납니다.

물리적 한계는 수평 상한선을 부과합니다: 분자 크기, 광속, & 열 제약에 의해 결정되는 최대 속도 S_max. 지수 함수가 S_max에 접근할수록 성장은 느려져야 합니다.

로지스틱 포화

상한선이 있는 성장의 일반적인 모델:

S(t) = S_max / (1 + e^(−r(t − t₀)))

이것은 기술에 적용된 로지스틱 방정식입니다. 초기 시간(t << t₀)에서: S(t) ≈ S_max × e^(r(t−t₀)) — 순수한 지수 함수. 상한선 근처(t >> t₀)에서: S(t) → 점근적으로 S_max에 수렴합니다.

기하학적 특성: 로그-선형 좌표에서의 직선은 상한선 근처에서 구부러져, 선형-선형 좌표로 보면 S자 형태를 만들어냅니다.

하드웨어 기하학: 암달의 법칙 & 광속 구체

성장은 언제 포화되는가?

단일 프로세서 속도가 1940년 10⁰ ops/sec에서 시작하여 10^(0.09t)로 성장한다고 가정합니다. 물리적 상한선: S_max = 10^(12) ops/sec (열 및 광속 제약에 의해 제한된 단일 코어 프로세서에 대한 대략적인 추정치).

S(t) = 10^(0.09·t) (t = 1940년 이후 연수)를 사용하여, S(t)가 10¹⁰에 도달하는 연도(상한선에 접근)를 구하세요. 대수적 풀이를 보여주세요. 그런 다음 계산하세요: 1952년(IBM 701)부터 그 상한선 연도까지 속도가 몇 번 두 배가 되는가? 두 배 시간 = ln(2)/b (b = 0.09 × ln(10)) 사용.

최대 통신 반경

프로세서의 클록 속도는 한 사이클 내에 통신할 수 있는 최대 반경을 결정합니다. 신호는 구리에서 약 2×10⁸ m/s로 이동합니다.

클록 주기 T(초 단위)에 대한 최대 단방향 통신 반경:

r_max = v × T / 2

(왕복을 위해 2로 나누기: 신호는 T 내에 나가고 돌아와야 함)

클록 속도가 증가하면 T가 감소하여 r_max가 줄어듭니다. 이 기하학적 제약은 부품들이 더 가까이 모이도록 강제하거나(칩 면적 감소), 오프칩 통신에 다중 사이클 지연을 허용해야 합니다.

영향력 구체

한 클록 사이클 내에 도달 가능한 모든 부품은 프로세서를 중심으로 반경 r_max의 구를 형성합니다. 부피: V = (4/3)π r_max³.

부품 밀도가 ρ(부품/m³)이면, 한 사이클 내에 도달 가능한 부품의 수: N = ρ × V = ρ × (4/3)π r_max³.

클록 속도가 증가함에 따라 r_max가 줄어들면 N은 세제곱으로 감소합니다. 2× 클록 속도 증가는 도달 가능한 부품 수를 (1/2)³ = 1/8로 줄입니다.

클록 사이클당 도달 가능한 부품

1993년대 워크스테이션은 100 MHz(T = 10 ns)로 실행됩니다. 신호 속도 = 2×10⁸ m/s. 회로 기판의 부품 밀도 ≈ 10⁸ 부품/m³(칩, 저항기, 커패시터를 포함한 대략적인 추정치).

현대 GPU는 2 GHz(T = 0.5 ns)로 실행됩니다.

100 MHz 워크스테이션(T=10 ns, v=2×10⁸ m/s, ρ=10⁸/m³)에 대해: r_max를 계산하고, V = (4/3)π r_max³, 그런 다음 N = ρ × V를 계산하세요. 그런 다음 2 GHz 프로세서(동일한 ρ, 동일한 v)에 대해 같은 N을 계산하세요. 비율 N(100MHz) / N(2GHz)는 얼마입니까?

병렬 속도 향상의 한계

단일 프로세서 속도는 물리적 한계에 접근합니다. 업계의 대응: 병렬 아키텍처. 암달의 법칙은 병렬성으로부터 달성 가능한 속도 향상을 정량화합니다.

암달의 법칙

프로그램의 분수 f가 병렬화될 수 있고, 분수 (1−f)는 직렬로 실행되어야 한다고 가정합니다. p개의 프로세서가 있을 때:

Speedup(p) = 1 / ((1−f) + f/p)

As p → ∞: Speedup_max = 1 / (1−f)

직렬 분수 (1−f)는 얼마나 많은 프로세서를 추가하더라도 달성 가능한 속도 향상에 엄격한 상한선을 설정합니다.

기하학적 통찰: p의 함수로서의 속도 향상은 쌍곡선 곡선을 따릅니다. 점근선은 1/(1−f)입니다. f = 0.9일 때, 최대 속도 향상 = 10, 무한한 프로세서로도. f = 0.99일 때, 최대 속도 향상 = 100.

해밍의 암묵적인 교훈: 병렬 아키텍처에 대한 관심은 실제였지만, 그 성과는 작업 부하가 얼마나 병렬화 가능한지에 전적으로 의존했습니다. 이는 많은 병렬 컴퓨팅 낙관론자들이 무시한 사실이었습니다.

병렬 속도 향상 계산

과학적 시뮬레이션이 하나의 프로세서에서 1000초 동안 실행됩니다. 프로파일링 결과: 직렬 초기화 단계에서 200초(병렬화 불가); 병렬 계산 단계에서 800초.

병렬 분수 f를 계산하세요. 암달의 법칙을 사용하여 Speedup(4), Speedup(16), Speedup(∞)를 계산하세요. 각 공식 적용을 보여주세요. 그런 다음 해석하세요: 16개에서 ∞개의 프로세서를 추가하는 것이 하드웨어 비용 대비 가치가 있습니까? 기하학이 수확 체감에 대해 무엇을 알려줍니까?