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ávislost zvýšení výkonu na počtu procesorů, barvy značí objem zlepšované části systému v procentech

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

editovat

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

 .

Procentuální zlepšení získáme takto:

  .

Příklady

editovat

Dílčí zrychlení

editovat

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 o 24 %.

Paralelizace části výpočtu

editovat

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. Zlepšení bude (0,12 − 0).

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 oněch 12 %, neboť sériovou část nezrychlujeme a zůstane stejná.

Reference

editovat

V tomto článku byl použit překlad textu z článku Amdahl's law na anglické Wikipedii.

Externí odkazy

editovat