15 Tétel Szál és folyamat szinten párhuzamos architektúrák Flashcards
Szálszinten párhuzamos architektúrák célja, eszközei
Cél: sebesség növelés > több tranzisztor Eszközök: • Pipeline, • Több VE, • Nagyobb cache, • Out of Order (sorrenden kívüli végrehajtás) • Branch prediction
Több tranzisztor következménye:
- Magasabb fogyasztás.
- Nagyobb lapkaméret.
Párhuzamosság formái
• implicit: a párhuzamosság felderítése, kihasználása a programozó tudta nélkül.
o futószalag o VE-ek többszörözése o szál szintű
párhuzamosság. (Szálak, folyamatok szintjén)
• explicit: programozó szándékosan párhuzamos futtatására alkalmas programot ír o vezérlő
tokenek segítségével (FORK, JOIN)
Szál definíciója
a szál a program legkisebb önállóan végrehajtató része!
Alacsony szintű párhuzamosság fogalma
párhuzamos architektúrák segítségével valósítható meg, illetve fordító
programok segítségével
Magasabb szintű párhuzamosság fogalma
többszálas operációs rendszerek alatti konkurens, vagy párhuzamos végrehajtással hasznosítható
HT (Hyper Threading)
XP megjelenése előtt kezdték fejleszteni
Koncepció: vegyünk több szálat
Párhuzamos szálak származtatása
Különböző alkalmazásokból
(Multi programozás)
VAGY
Ugyanabból az alkalmazásból. Folyamat
illetve szálszinten párhuzamos feldolgozás
(Multi threading/Multi testing)
Többszálúság fajtái
Szoftveres:
Többszálú app-ok vagy OS-ek futtatása
egyszálú CPU-n párhuzamosan
Hardveres:
többszálú app-ok vagy OS-ek futtatása
többszálú CPU-n egy időben párhuzamosan.
SMP (Simmetric Multiprocessing) vagy SMT (Simultaneous Multi threading)
Task fogalma
A folyamatokat task-nak is nevezzük. A folyamatok közti váltás sok időt vesz igénybe. Taskok
állapotát laptáblák tartalmazzák TLB (lapkezelő segéd puffer).
Szál szinten párhuzamos architektúrák osztályozása
• Finoman szemcsézett: két vagy több szálat futtat párhuzamosan, és minden óraciklusban válta
következőre.
• Durván szemcsézett: SOEMT (Switch On Event MT) – valamilyen esemény váltja ki a váltást
SMT (Simultan Multi Threading): egyszerre futtatja mind a kettőt Feltétele:
o Párhuzamos műveletek hardveres
támogatás (pld. több VE) o
Magonként 6 VE
Többszálú végrehajtást támogató CPU-k
Pld.: szükség van annyi PC-re (Program Counter) és regiszter tárolóra ahány szálat futtatunk > váltás
taskok között nem vesz időt igénybe, hiszen mindegyiknek meg van a saját cache, regiszter tárolója
PC-je, nem kell a töltéssel betöltéssel bajlódni. (SMT, illetve finoman szemcsézett esetén)
SMT előnyei
mindössze 5-10% hardver komplexitás növelést
igényel. Elérhető teljesítménynövekedés 0-20%.
SMT jellemzői
• Támogatja a soron kívüli végrehajtást
• (HT technológia az SMT technológia egyik megvalósítási formája, 2 logikai CPU) A CPU
2 architektúrális állapotot tárol. 3 üzemmód:
o ST0
o ST1
o MT: mind a két szál egyszerre
fut
Attól függ, hogy melyik logikai CPU aktív.
• Az üzemmódok közötti váltás a HALT utasítással történik, ez megszakítja a CPU futását és
energiatakarékos állapotba teszi azt.
HT megvalósítási célok
1 Kis magméret növekedés.
2 Egyik szál várakozása esetén a másik szál gond nélkül folytathassa a végrehajtást.
3 Egy szál futtatása esetén a sebesség ne csökkenjen.
Ezek eléréséhez a fő futószalag fokozatokat átmeneti pufferek választják el egymástól.
HT működési modell
- 2db logikai processzor (LP)
- Minden utasítás valamelyik LP-hez kerül hozzárendelésre.
- Az utasításokat a CPU címkékkel látja el.
- Excecution Trace Cache: közös erőforrás (osztottan használják).
- Program Counter (utasítás számláló) többszörözve van (kettő van belőle)