Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Amdahlov zákon uvádza, že maximálne zrýchlenie dosiahnuteľné paralelizáciou programu je obmedzená časťou programu, ktorý * nemožno * paralelizovať. Poďme to rozobrať:
* sériová časť: Niektoré časti programu prirodzene vyžadujú postupné vykonávanie. Napríklad jedna slučka, ktorá závisí od výsledku predchádzajúcej iterácie, sa nedá efektívne paralelizovať. Toto je zlomok programu, ktorý zostáva postupný, často označovaný ako „F“.
* paralelná časť: Toto je zlomok programu, ktorý * sa dá paralelizovať, (1 - f).
* Počet procesorov: 'n' predstavuje počet použitých procesorov.
Amdahl's Law Formula:
Zrýchlenie =1 / (f + (1 - f) / n)
Prečo je to relevantné pre paralelné počítače:
Bez ohľadu na to, koľko procesorov („n“) pridáte, ak je dokonca aj malá časť programu („f“) vo svojej podstate postupná, zrýchlenie bude obmedzené. Napríklad:
* Ak je 10% programu sekvenčné (F =0,1), dokonca aj s nekonečným počtom procesorov (N sa blíži k nekonečnu), maximálne zrýchlenie je iba 1 / 0,1 =10. Nikdy nezískate zrýchlenie väčšie ako 10x, bez ohľadu na to, koľko hardvéru na to hodíte.
Preto Amdahlov zákon nie je o paralelných počítačoch * nepodliehajúci svojim zásadám; Ide o zvýraznenie ich vlastných obmedzení pri urýchlení. Efektívne paralelné programovanie vyžaduje minimalizáciu sekvenčnej časti („f“), aby sa maximalizovalo výhody paralelizácie. Ignorovanie Amdahlovho zákona vedie k nerealistickým očakávaniam týkajúcim sa zvýšenia výkonnosti, ktoré je možné dosiahnuť pomocou paralelného spracovania.