
Egy adatfeldolgozás száz másodpercig tart egyetlen feldolgozóegységen. A feladat egy része egymástól független tételekre osztható, más része viszont sorrendet követel. Több processzormag csak a párhuzamosítható rész idejét csökkenti a legegyszerűbb modellben. A teljes gyorsulást ezért a két rész aránya alapján érdemes becsülni.
Amdahl törvénye azonos munkamennyiség mellett mutatja meg ezt a korlátot. Hasznos első ellenőrzés, de valós futásidő helyett mért adatokkal kiegészítendő modell.
A soros rész időtartama megmarad
Legyen a teljes egyszálú idő T, a soros hányad s, a párhuzamos feldolgozók száma p. T másodpercben értendő, s nulla és egy közötti arány, p pozitív egész.
Ideális párhuzamos idő = T × [s + (1 − s) / p].
Gyorsulás = egyszálú idő / párhuzamos idő.
A Lawrence Livermore National Laboratory párhuzamos számítási oktatóanyaga tárgyalja Amdahl törvényét, a rögzített feladatméretet és a párhuzamosítás többletköltségeit. A modellben a feldolgozók egyformák, a megosztható munka tökéletesen eloszlik, az adatmozgatás idejét kezdetben elhanyagoljuk.
Négy és nyolc feldolgozó számszerűen
A száz másodperces munka 20 másodperce soros, 80 másodperce ideálisan párhuzamosítható. Négy feldolgozón a soros 20 másodperc megmarad, a másik rész 80 / 4 = 20 másodperc. Összesen 40 másodperc kell, a gyorsulás 100 / 40 = 2,5-szeres.
Nyolc feldolgozón 20 + 80 / 8 = 30 másodperc, a gyorsulás körülbelül 3,33-szoros. A feldolgozók számának megduplázása a teljes időt negyvenről harminc másodpercre csökkenti: ez 25%-os időnyereség.
| Feldolgozók száma | Soros idő | Megosztott rész ideje | Összes idő | Gyorsulás |
|---|---|---|---|---|
| 1 | 20 s | 80 s | 100 s | 1 |
| 2 | 20 s | 40 s | 60 s | 1,67 |
| 4 | 20 s | 20 s | 40 s | 2,5 |
| 8 | 20 s | 10 s | 30 s | 3,33 |
A százalékos változás kalkulátor az időcsökkenés ellenőrzéséhez adhat általános segítséget. A gyorsulási szorzót és a százalékos időcsökkenést külön nevezd meg: a 2,5-szeres gyorsulás a száz másodperces idő 60%-os csökkenését jelenti.
A felső korlát
Nagyon sok feldolgozó mellett a 80 másodperces rész ideje a modellben nullához közelít, a húsz másodperces soros rész megmarad. A gyorsulás felső határa 100 / 20 = 5-szörös. Általánosan pozitív soros hányadnál a határ 1 / s.
Ha a program átalakításával a soros rész aránya 10%-ra csökken, változatlan száz másodperces kiinduló összidőt feltételezve nyolc feldolgozón 10 + 90 / 8 = 21,25 másodperc adódik. A gyorsulás körülbelül 4,71-szeres, az elméleti felső határ tízszeres. Ez külön forgatókönyv: az átalakított program saját egyszálú idejét a gyakorlatban újra meg kell mérni.
A szervezési többlet visszavesz az előnyből
A feladatok elosztása, az eredmények összeillesztése, a kommunikáció és a várakozás időt igényelhet. Ha a négyfeldolgozós példában ezek együtt nyolc másodpercet adnak hozzá, az összes idő 40 + 8 = 48 másodperc. A gyorsulás így 100 / 48, körülbelül 2,08-szoros.
Kis feladatoknál ez a többlet a teljes munka jelentős része lehet. Egyenlőtlen felosztásnál a gyorsabb munkarészek befejeződnek, miközben egy lassabb részre mindenki vár. Memória-, háttértár- vagy hálózati korlát esetén a feldolgozók száma önmagában szintén kevés magyarázatot ad.
A százalékkalkulátor a soros és megosztható idő arányának ellenőrzéséhez használható. A bemenetet profilozásból vagy külön mért lépésekből gyűjtsd; a processzor kihasználtságának egyetlen pillanatképe nem azonos a soros hányaddal.
Milyen mérés segít a döntésben?
Azonos bemeneten mérj egy, két és több feldolgozóval, a teljes végrehajtási időt és az eredmény azonosságát is ellenőrizve. A bemelegedést, fájlgyorsítótárat és háttérterhelést tartsd szem előtt. Ha több maggal egyre nagyobb feladatot futtatsz, már más kérdést vizsgálsz, mint a rögzített munkamennyiségű modell.
A beszerzési vagy fejlesztési döntésnél a megtakarítható másodpercet a futások számával együtt nézd. Napi egyszeri rövid feladat és percenként ismétlődő feldolgozás esetén ugyanaz a gyorsulási szorzó eltérő gyakorlati értéket jelent.
Tudáspróba
1. Mennyi az ideális idő négy feldolgozón, ha húsz másodperc soros és nyolcvan megosztható?
- A: 25 másodperc.
- B: 20 másodperc.
- C: 40 másodperc.
2. Mekkora a 20%-os soros hányad melletti elméleti maximális gyorsulás?
- A: Ötszörös.
- B: Hússzoros.
- C: Korlátlan.
3. Mit jelent a negyven másodperces ideális időhöz hozzáadott nyolc másodperc szervezési idő?
- A: Továbbra is 2,5-szeres gyorsulást.
- B: 48 másodperces időt és körülbelül 2,08-szoros gyorsulást.
- C: Nyolcszoros gyorsulást.
Megoldások és következő lépés
1. C. 20 + 80 / 4 = 40 másodperc.
2. A. A húsz másodperc megmarad, így 100 / 20 = 5 a határ.
3. B. A teljes idő 48 másodperc; a gyorsulást ehhez az időhöz kell viszonyítani.
0–1 pont: bontsd szét a száz másodpercet soros és megosztható részre. 2 pont: töltsd újra a táblázatot nyolc feldolgozóig. 3 pont: azonos bemenettel mérj több párhuzamossági szintet, és a modellhez képesti többletet külön vizsgáld.
