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

un

Gast
1 / ?

Log-Log-Diagramme & Sättigung

Die Rechengeschwindigkeit folgte 50 Jahre lang einer exponentiellen Wachstumskurve. Auf einem log-linearen Diagramm (log Geschwindigkeit vs. lineare Zeit) erscheint dies als eine Gerade mit Steigung b = Wachstumsrate in Größenordnungen pro Jahr.

Physikalische Grenzen setzen eine horizontale Obergrenze: eine Maximalgeschwindigkeit S_max, bestimmt durch Molekülgröße, Lichtgeschwindigkeit & Wärmebeschränkungen. Wenn sich die Exponentialfunktion S_max nähert, muss das Wachstum nachlassen.

Logistische Sättigung

Ein verbreitetes Modell für Wachstum mit einer Obergrenze:

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

Dies ist die logistische Gleichung angewandt auf Technologie. Zu frühen Zeiten (t << t₀): S(t) ≈ S_max × e^(r(t−t₀)) — rein exponentiell. In der Nähe der Obergrenze (t >> t₀): S(t) → S_max asymptotisch.

Die Geometrie: Eine Gerade in log-linearen Koordinaten biegt sich in der Nähe der Obergrenze und erzeugt eine S-Form in linear-linearen Koordinaten.

Hardwaregeometrie: Amdahls Gesetz & Lichtgeschwindigkeitssphäre

Wann sättigt das Wachstum?

Angenommen, die Einzelprozessorgeschwindigkeit wächst mit 10^(0.09t) beginnend von 10⁰ Operationen/Sek im Jahr 1940. Physikalische Obergrenze: S_max = 10^(12) Operationen/Sek (eine grobe Schätzung für einen Einkernprozessor, begrenzt durch thermische & Lichtgeschwindigkeitsbeschränkungen).

Benutze S(t) = 10^(0.09·t) (t = Jahre seit 1940), finde das Jahr, in dem S(t) den Wert 10¹⁰ erreicht (annähernd die Obergrenze). Zeige die Algebra. Berechne dann: Wie viele Verdopplungen der Geschwindigkeit treten zwischen 1952 (IBM 701) und dem Obergrenzen-Jahr auf? Verwende Verdopplungszeit = ln(2)/b, wobei b = 0.09 × ln(10).

Maximaler Kommunikationsradius

Die Taktfrequenz eines Prozessors bestimmt den maximalen Radius, innerhalb dessen er in einem Taktzyklus kommunizieren kann. Signale reisen mit ungefähr 2×10⁸ m/s in Kupfer.

Für eine Taktperiode T (in Sekunden), der maximale Einwegkommunikationsradius:

r_max = v × T / 2

(teile durch 2 für Hin- und Rückweg: Signal muss innerhalb von T ausgehen und zurückkehren)

Mit steigender Taktfrequenz nimmt T ab, also schrumpft r_max. Diese geometrische Einschränkung zwingt Komponenten, sich näher zusammenzuschließen — reduziert die Chipfläche — oder mehrere Taktzyklen Latenz für Off-Chip-Kommunikation zu akzeptieren.

Die Einflusssphäre

Alle Komponenten, die innerhalb eines Taktzyklus erreichbar sind, bilden eine Kugel mit Radius r_max, zentriert auf dem Prozessor. Volumen: V = (4/3)π r_max³.

Wenn die Komponentendichte ρ (Komponenten/m³) ist, beträgt die Anzahl der innerhalb eines Zyklus erreichbaren Komponenten: N = ρ × V = ρ × (4/3)π r_max³.

Wenn r_max mit steigender Taktfrequenz schrumpft, schrumpft N kubisch — eine 2×-Taktfrequenzerhöhung verringert die erreichbare Komponentenanzahl um (1/2)³ = 1/8.

Erreichbare Komponenten pro Taktzyklus

Eine Workstation aus dem Jahr 1993 läuft mit 100 MHz (T = 10 ns). Signalgeschwindigkeit = 2×10⁸ m/s. Komponentendichte auf einer Leiterplatte ≈ 10⁸ Komponenten/m³ (grobe Schätzung einschließlich Chips, Widerstände, Kondensatoren).

Eine moderne GPU läuft mit 2 GHz (T = 0,5 ns).

Für die 100 MHz Workstation (T=10 ns, v=2×10⁸ m/s, ρ=10⁸/m³): Berechne r_max, dann V = (4/3)π r_max³, dann N = ρ × V. Berechne dann das gleiche N für einen 2 GHz Prozessor (gleiche ρ, gleiche v). Was ist das Verhältnis N(100MHz) / N(2GHz)?

Die Grenze der parallelen Beschleunigung

Die Einzelprozessorgeschwindigkeit nähert sich physikalischen Obergrenzen. Die Antwort der Industrie: parallele Architekturen. Amdahls Gesetz quantifiziert die durch Parallelität erreichbare Beschleunigung.

Amdahls Gesetz

Angenommen, ein Anteil f eines Programms kann parallelisiert werden, und der Anteil (1−f) muss seriell ausgeführt werden. Mit p Prozessoren:

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

Für p → ∞: Speedup_max = 1 / (1−f)

Der serielle Anteil (1−f) setzt eine harte Obergrenze für die erreichbare Beschleunigung, unabhängig davon, wie viele Prozessoren hinzugefügt werden.

Geometrische Erkenntnis: Die Beschleunigung als Funktion von p folgt einer hyperbolischen Kurve. Die Asymptote ist 1/(1−f). Für f = 0,9, maximale Beschleunigung = 10, auch mit unendlich vielen Prozessoren. Für f = 0,99, maximale Beschleunigung = 100.

Hammings implizite Lektion: Das Interesse an parallelen Architekturen war real, aber der Nutzen hing vollständig davon ab, wie parallelisierbar die Arbeitslast war — eine Tatsache, die viele Parallelrechnungs-Optimisten ignorierten.

Berechnung der parallelen Beschleunigung

Eine wissenschaftliche Simulation läuft auf einem Prozessor 1000 Sekunden. Profiling ergibt: 200 Sekunden in einer seriellen Initialisierungsphase (nicht parallelisierbar); 800 Sekunden in einer parallelen Berechnungsphase.

Berechne den parallelen Anteil f. Berechne mit Amdahls Gesetz Speedup(4), Speedup(16), Speedup(∞). Zeige jede Formelanwendung. Interpretiere dann: Lohnt es sich, Prozessoren von 16 auf ∞ zu erhöhen? Was sagt die Geometrie über abnehmende Erträge aus?