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

un

guest
1 / ?
back to lessons

雙對數圖與飽和

計算速度在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⁰ 次/秒開始以 10^(0.09t) 增長。物理上限:S_max = 10^(12) 次/秒(單核處理器的粗略估算,受熱力學與光速限制)。

使用 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處理器計算相同的 N(相同的 ρ 和 v)。N(100MHz) / N(2GHz) 的比率是多少?

並行加速上限

單處理器速度接近物理上限。業界的回應:並行架構。阿姆達爾定律量化了並行性可實現的加速。

阿姆達爾定律

假設程式的 f 部分可以並行化,(1−f) 部分必須串行執行。使用 p 個處理器:

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

當 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個增加到無限個是否值得硬體成本?幾何關係告訴你關於收益遞減的什麼信息?