Log-Log-grafieken & Verzadiging
De rekensnelheid volgde gedurende 50 jaar een exponentiële groeicurve. Op een log-lineaire grafiek (log snelheid versus lineaire tijd) verschijnt dit als een rechte lijn met helling b = groeisnelheid in orden van grootte per jaar.
Fysieke grenzen leggen een horizontaal plafond op: een maximale snelheid S_max bepaald door moleculaire grootte, lichtsnelheid & warmtebeperkingen. Naarmate de exponentieel S_max nadert, moet de groei vertragen.
Logistische Verzadiging
Een veelgebruikt model voor groei met een plafond:
S(t) = S_max / (1 + e^(−r(t − t₀)))
Dit is de logistische vergelijking toegepast op technologie. Bij vroege tijden (t << t₀): S(t) ≈ S_max × e^(r(t−t₀)) — puur exponentieel. Nabij het plafond (t >> t₀): S(t) → S_max asymptotisch.
De geometrie: een rechte lijn op log-lineaire coördinaten buigt af nabij het plafond en produceert een S-vorm wanneer bekeken op lineair-lineaire coördinaten.
Wanneer Verzadigt de Groei?
Stel dat de snelheid van een enkele processor groeit met 10^(0.09t), beginnend bij 10⁰ ops/sec in 1940. Fysiek plafond: S_max = 10^(12) ops/sec (een ruwe schatting voor een single-core processor, beperkt door thermische & lichtsnelheidsbeperkingen).
Maximale Communicatieradius
De kloksnelheid van een processor bepaalt de maximale straal waarbinnen het in één cyclus kan communiceren. Signalen reizen met ongeveer 2×10⁸ m/s door koper.
Voor een klokperiode T (in seconden) is de maximale éénrichtings-communicatieradius:
r_max = v × T / 2
(delen door 2 voor retour: signaal moet binnen T heen en terug gaan)
Naarmate de kloksnelheid toeneemt, neemt T af, zodat r_max kleiner wordt. Deze geometrische beperking dwingt componenten dichter bij elkaar te clusteren — waardoor het chipoppervlak kleiner wordt — of latentie over meerdere cycli voor communicatie buiten de chip te accepteren.
De Invloedssfeer
Alle componenten bereikbaar binnen één klokperiode vormen een bol met straal r_max gecentreerd op de processor. Volume: V = (4/3)π r_max³.
Als de componentdichtheid ρ is (componenten/m³), is het aantal componenten bereikbaar binnen één cyclus: N = ρ × V = ρ × (4/3)π r_max³.
Naarmate r_max kleiner wordt met toenemende kloksnelheid, krimpt N kubisch — een 2× toename in kloksnelheid vermindert het bereikbare componentaantal met (1/2)³ = 1/8.
Bereikbare Componenten per Klokperiode
Een werkstation uit het tijdperk 1993 draait op 100 MHz (T = 10 ns). Signaalsnelheid = 2×10⁸ m/s. Componentdichtheid op een printplaat ≈ 10⁸ componenten/m³ (ruwe schatting inclusief chips, weerstanden, condensatoren).
Een moderne GPU draait op 2 GHz (T = 0,5 ns).
De Parallelle Versnellingslimiet
De snelheid van enkelvoudige processors nadert fysieke plafonds. De reactie van de industrie: parallelle architecturen. De wet van Amdahl kwantificeert de versnelling die haalbaar is door parallellisme.
Wet van Amdahl
Stel dat een fractie f van een programma geparalleliseerd kan worden, en fractie (1−f) serieel moet draaien. Met p processors:
Speedup(p) = 1 / ((1−f) + f/p)
Als p → ∞: Speedup_max = 1 / (1−f)
De seriële fractie (1−f) stelt een hard plafond op de haalbare versnelling, ongeacht het aantal toegevoegde processors.
Geometrisch inzicht: Speedup als functie van p volgt een hyperbolische curve. De asymptoot is 1/(1−f). Voor f = 0,9 is de maximale versnelling = 10, zelfs met oneindige processors. Voor f = 0,99 is de maximale versnelling = 100.
Hammings impliciete les: de interesse in parallelle architecturen was reëel, maar de opbrengst hing volledig af van hoe paralleliseerbaar de werklast was — een feit dat veel optimisten op het gebied van parallel computing negeerden.
Parallelle Versnelling Berekenen
Een wetenschappelijke simulatie draait in 1000 seconden op één processor. Profilering onthult: 200 seconden in een seriële initialisatiefase (kan niet geparalleliseerd worden); 800 seconden in een parallelle berekeningsfase.