Amdahl törvénye

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2020. december 21-én felülvizsgált verziótól ; az ellenőrzések 2 szerkesztést igényelnek .

Amdahl törvénye ( angolul  Amdahl's law , néha Amdahl's Law - Ware is ) – szemlélteti a számítási rendszer teljesítményének növekedésének korlátozását a számológépek számának növekedésével . Gene Amdahl 1967-ben fogalmazta meg a törvényt, miután a számítások párhuzamba állításakor felfedezte a termelékenység növekedésének korlátját, ami lényegében egyszerű, de tartalmilag leküzdhetetlen : „Ha egy feladatot több részre osztanak, annak teljes ideje párhuzamos rendszeren a végrehajtás nem lehet kevesebb, mint a lassú töredék végrehajtási ideje" [1] . E törvény szerint a program végrehajtásának felgyorsulását az utasításainak számológépen történő párhuzamosítása miatt a szekvenciális utasítások végrehajtásához szükséges idő korlátozza.

Matematikai kifejezés

Legyen szükséges valamilyen számítási probléma megoldása. Tegyük fel, hogy az algoritmusa olyan, hogy a számítások teljes mennyiségének hányadát csak szekvenciális számításokkal lehet megkapni, és ennek megfelelően a részesedés ideálisan párhuzamosítható (vagyis a számítási idő fordítottan arányos az érintett csomópontok számával ). Ekkor a processzorok számítási rendszerén elérhető gyorsulás az egyprocesszoros megoldáshoz képest nem haladja meg az értéket

Illusztráció

A táblázat azt mutatja, hogy a program hányszor gyorsabban fog lefutni, a szekvenciális számítások arányával processzorok használatakor .

\ tíz 100 1000
0 tíz 100 1000
tíz % 5.263 9.174 9.910
25% 3.077 3.883 3.988
40% 2.174 2.463 2.496

A táblázat azt mutatja, hogy csak egy olyan algoritmus, amely egyáltalán nem tartalmaz szekvenciális számításokat ( ), lehetővé teszi a teljesítmény lineáris növekedését a rendszerben lévő számítógépek számának növekedésével. Ha a szekvenciális számítások aránya az algoritmusban 25%, akkor a processzorok számának 10-re növelése 3,077-szeres, a processzorok számának 1000-re növelése pedig 3,988-szoros gyorsulást ad.

Innen is nyilvánvaló, hogy a szekvenciális számítások arányával a teljes teljesítménynövekedés nem haladhatja meg a -t . Tehát, ha a kód fele szekvenciális, akkor a teljes nyereség soha nem haladja meg a kettőt.

Eszmei érték

Az Amdahl-törvény azt mutatja, hogy a számítási hatékonyság növekedése a probléma algoritmusától függ, és felülről korlátos minden olyan probléma esetén, amelynél . Nem minden feladathoz van értelme a processzorok számának növelése egy számítógépes rendszerben.

Sőt, ha figyelembe vesszük a számítási rendszer csomópontjai közötti adatátvitelhez szükséges időt, akkor a számítási idő csomópontok számától való függése minimális lesz . Ez korlátozza a számítási rendszer skálázhatóságát , vagyis azt jelenti, hogy egy bizonyos ponttól kezdve új csomópontok hozzáadása a rendszerhez megnöveli a probléma számítási idejét.

Lásd még

Jegyzetek

  1. Az összes számológép azonos sebességét feltételezve.

Irodalom