雙對數圖與飽和
計算速度在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) 次/秒(單核處理器的粗略估算,受熱力學與光速限制)。
最大通訊半徑
處理器的時脈速度決定了在一個時脈週期內可通訊的最大半徑。訊號在銅線中的傳播速度約為 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)。
並行加速上限
單處理器速度接近物理上限。業界的回應:並行架構。阿姆達爾定律量化了並行性可實現的加速。
阿姆達爾定律
假設程式的 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秒用於並行計算階段。