Amdahlův zákon
Amdahlův zákon je pravidlo používané v informatice k vyjádření maximálního předpokládaného zlepšení systému poté, co je vylepšena pouze některá z jeho částí. Využívá se např. u víceprocesorových systémů k předpovězení teoretického maximálního zrychlení při přidávání dalších procesorů.
Zákon je pojmenován po americkém počítačovém architektovi Genu Amdahlovi. Poprvé byl představen na konferenci AFIPS Spring Joint Computer Conference v roce 1967.
Výpočet
Velikost zlepšení můžeme označit jako zrychlení S a bude nám určovat, kolikrát je běh úlohy s vylepšením rychlejší.
nebo také pomocí
Pokud chceme počítat celkový zisk na vylepšení určitých částí, můžeme použít následující postup:
Nejdříve definujeme proměnné
poté můžeme spočítat dobu výpočtu po zlepšení
celkové zrychlení S poté můžeme počítat jako
Příklady
Dílčí zrychlení
Předpokládejme, že výpočet trvá 30 % času, zbytek času je nevyužit či se čeká na I/O. Dále předpokládejme, že výpočet můžeme 5× zrychlit. Jaká bude celková hodnota zrychlení?
Z výpočtu je vidět, že systém bude zrychlen přibližně o 31,6 %.
Paralelizace části výpočtu
Pokud například při výpočtu nějakého problému lze 12 % tohoto výpočtu urychlit paralelním zapojením použitých procesorů (a zbylých 88 % se bude dále řešit sériově), je podle Amdahlova zákona maximální možné zrychlení vylepšené verze (tedy při počtu procesorů blížících se limitně nekonečnu) rovno 1/(1 − 0,12) = 1,136.
Tedy při rozdělení sériová část – paralelní část v poměru 88:12 lze přidáváním dalších procesorů docílit zrychlení jen o 13,6 %.
Odkazy
Reference
V tomto článku byl použit překlad textu z článku Amdahl's law na anglické Wikipedii.