Wet van Amdahl versus wet van Gustafson: aannames en schaling
Beide wetten schatten hoeveel sneller een berekening wordt als er meer processors worden ingezet, maar ze gaan uit van andere aannames. De wet van Amdahl houdt de probleemgrootte vast en kijkt hoe hetzelfde werk sneller kan worden afgerond; het niet-paralleliseerbare deel bepaalt dan de bovengrens van de versnelling. De wet van Gustafson houdt de uitvoeringstijd vast en kijkt hoe met meer processors een navenant groter probleem kan worden opgelost; de versnelling groeit dan vrijwel evenredig met het aantal processors. De twee spreken elkaar niet tegen, maar beantwoorden verschillende vragen.
| Kenmerk | Wet van Amdahl | Wet van Gustafson |
|---|---|---|
| Wat vast blijft | Probleemgrootte (totale hoeveelheid werk) | Uitvoeringstijd (hoeveelheid werk per processor) |
| Vraag | Hoeveel sneller kan hetzelfde probleem worden opgelost? | Hoeveel groter probleem kan in dezelfde tijd worden opgelost? |
| Formule (N is het aantal processors) | S = 1 / ((1 − p) + p / N) | S = s + (1 − s) × N = N − s × (N − 1) |
| Hoe de fractie wordt gemeten | p is het aandeel in de tijd van het paralleliseerbare deel bij uitvoering op 1 processor | s is het aandeel in de tijd van het sequentiële deel bij parallelle uitvoering op N processors |
| Bij toenemende N | Vlakt af bij 1 / (1 − p) | Blijft vrijwel evenredig met N toenemen |
| Rekenvoorbeeld | Bij p = 0,95 ongeveer 17 keer bij N = 100; zelfs bij oneindige N is 20 keer de bovengrens | Bij s = 0,05 ongeveer 95 keer bij N = 100 |
| Bijbehorende schaling | Sterke schaling | Zwakke schaling |
| Perspectief | Pessimistisch. Een klein sequentieel deel bepaalt de bovengrens | Optimistisch. Met een groter probleem loont parallellisatie |
| Passende voorbeelden | Wanneer invoer van vaste grootte snel moet worden verwerkt. Verwerking van één afbeelding, interactieve respons enz. | Simulaties met een fijner rooster, of wanneer grotere data of modellen in dezelfde tijd moeten worden verwerkt |
| Wat beide niet meenemen | Overhead van communicatie en synchronisatie, ongelijke belastingsverdeling, onvoldoende geheugenbandbreedte | Overhead van communicatie en synchronisatie, ongelijke belastingsverdeling, onvoldoende geheugenbandbreedte |
De getalswaarden zijn typische ordegroottes en variëren per procesgeneratie en product.