- Milyen okostelefont vegyek?
- Samsung Galaxy S23 Ultra - non plus ultra
- Android alkalmazások - szoftver kibeszélő topik
- Google Pixel topik
- Samsung Galaxy S21 Ultra - vákuumcsomagolás
- Yettel topik
- Samsung Galaxy S25 Edge - a tegnap határán
- Ez is egy kafa utólagos fejegység - Carpodgo T3 Pro
- Poco F5 - pokolian jó ajánlat
- Magisk
Új hozzászólás Aktív témák
-
Kansas
addikt
válasz
Geri Bátyó #113 üzenetére
Nem pontosan idézel saját magadtól...
Ezt írtad:
"Multitaszknál egy adott erőforráson belül (1 mag/1 szál) váltogatja, hogy éppen melyik program fut, de a HT/SMT ezektől függetlenül kapja meg a fennmaradó processzoridőt"
Csak épp ez úgy hangzik, mintha egy szál futna, és egy másik, alacsonyabb rendű szál megkapná a változó mennyiségű kihasználatlan, "fennmaradó processzoridőt".Ez elvi szinten zárná ki a HT bekapcsolásából fakadóan fellépő teljesítmény-csökkenést, viszont potenciálisan kiéheztetné a másodrendű szálon futó taszkot.
Csakhogy mivel a két thread egyenrangú, vannak esetek, pl. livelock(egymásra vár a két thread), vagy az egyik a másikra vár ami meg I/O-ra vár, amikor az eredő teljesítmény kisebb lehet, mint ha a két szál csak simán multitaszk üzemmódban futna(HT off). Ezek szerencsére ritkábbak, mint hogy valamekkora mértékű gyorsulást hoz a HT/SMT.A biztonsági probléma abból fakad a HT-nál, hogy(nagyon durván leegyszerűsítve) az egyik thread hozzáférhet a másik thread által használt memóriaterülethez, mert nincsen kellő mértékben biztosítva a szeparáció.
Ez egyébként nem csak prociknál, de más erőforrás-megosztást használó esetekben is probléma, a legegyszerűbbtől(közös használítú számítógép) a kifinomultabbakon át(pl. hipervizorok) egyészen a felhős alkalmazásokig - csak ott nem olyan bosszantó a védekezési módszerekből(pl. full disk encryption - BitLockert és társai) fakadó teljesítmény-csökkenés és/vagy a nép már hozzászokott és eleve kalkulál vele. -
Azt írtam én is, hogy a HT lényege a multitaszkkal szemben, hogy függetlenül kezeli az adott szálat (ezért van a 2. regiszter).
Persze nyilván van még egy csomó hardveres okosság, hiszen a HT elvileg akár 25%, de az SMT akár 35% plusz teljesítményt is adhat (az adott gyártó szerint). -
Kansas
addikt
válasz
Geri Bátyó #111 üzenetére
Igen, közben kicsit utána olvastam az Intelnél(csak már nem fértem bele a szerkesztési időkeretbe), és a fent említett állapottároló, amiből thread-enként van egy-egy, az valóban tartalmaz egy-egy teljes regiszter-készletet("For each thread, the processor maintains a separate, complete architectural state that includes its own set of registers as defined by the Intel 64 architecture."), tehát az van valóban duplázva. Viszont a processzor teljes végrehajtó-része közös.
De önmagában ezzel nem sok teljesítményt lehetne nyerni, max annyit érne, hogy amíg az egyik thread-en taszkváltás van, a másik thread menne helyette, tehát az I/O műveletek idejét spórolná meg.
Ami a HT igazi trükkje, hogy a két thread-hez tartozó utasításokat képes együtt végrehajtani, mivel egy órajelciklus alatt több (mikro)utasítást tud lefuttatni(az Intel konkrét példájában a Nehalem 4-et), és ezeknek a HT jóvoltából nem kell szükségszerűen egyazon thread-ből származni, hisz nem kell a thread-ek közti váltáskor(az egyazon threaden futó taszkok közti váltáshoz képest) elmenteni az egyik thread-hez tartozó regiszter-tartalmat és a másikat visszatölteni a helyére, hiszen mindkettő folytatólagosan rendelkezésre áll.Persze nyilván vannak még ezen felül mindenféle optimalizációk, meg out-of-order "mágia", de ez az alap működése, legalább is a 2009-es állapot, amikor az összefoglaló született.
Forrás: Performance Insights to Intel® Hyper-Threading Technology(2009)
-
-
Kansas
addikt
válasz
Geri Bátyó #109 üzenetére
Nincsen semmi megduplázva(illetve de, az a tároló, ami a processzor állapotát követi nyomon sima multitaszking esetén), annyi történik(a linkelt források leírása szerint), hogy egy utasítás-ciklusban nem csak egy szálhoz tartozó utasításokat tud végrehajtani.
Azt, hogy az oprendszer hány magnak látja, vagy hogy a "fennmaradó processzoridőt" hogy számolja, nem tudjuk, ahhoz sokkal mélyebben bele kellene menni a technikai részletekbe.
Azt tudjuk, hogy a felhasználó felé két magnak mutatja, de az valószínűleg azért van, mert a legtöbb felhasználó nem mélyed bele az SMT(amit az Intel HT-nak hív) technikai részleteibe, és egyszerűbb így.Mellékes kérdés, de ha érdekelnek pár évesnél nem régebbi mélyebb szakmai cikkek, akkor javaslom gyúrj rá az angoltudásra, mert különben csak kései és/vagy vacak minőségű, vagy legjobb esetben is felszínesebb információkból leszel kénytelen táplálkozni. Egy csomó jó könyv meg sem jelenik soha magyarul, emi meg megjelenik, már részben vagy egészében elavult. A magyar IT nyelvezetről(szaknyelvről) meg inkább nem nyilatkoznék... maradjunk annyiban: nem véletlen, hogy a legtöbb IT-s egyfajta kevert magyar-angol zsargont használ.
A legjobb magyar nyelvű leírás, amit hamarjában találtam - lassan nagykorú már, de talán az eredeti HT működése érthető belőle: HyperThreading - Intel Pentium 4 3.06 GHz - az azóta a technológián eszközölt változásokat nyilván nem tartalmazza, ahogy az AMD-féle SMT-hez képesti különbségeket sem.
-
Nem nagyon tudok angolul sajnos és a HT/SMT technikai részleteibe sem mélyedtem bele soha.
Valami olyasmi dereng, hogy a regiszterek vannak megduplázva (nyilván nem ennyire egyszerű azért) és emiatt lát az oprendszer egy magot kettőnek és ezért egymástól függetlenül is képes kezelni. Multitaszknál egy adott erőforráson belül (1 mag/1 szál) váltogatja, hogy éppen melyik program fut, de a HT/SMT ezektől függetlenül kapja meg a fennmaradó processzoridőt. Ezért nem konstans a HT/SMT által nyerhető többletteljesítmény (szoftverfüggő). -
Kansas
addikt
válasz
Geri Bátyó #107 üzenetére
Csak eszerint a közérthető fogalmazás szerint nem különbözik az időosztásos multitaszking-tól, pedig de:
- "Simultaneous multithreading (SMT): Issue multiple instructions from multiple threads in one cycle.",
- "Hyper-threading is simply superthreading without the restriction that all the instructions issued by the front end on each clock be from the same thread.".(#106) &rew : Nem kell hozzá végrehajtó-egység duplázás, lásd feljebb.
-
-
#25954560
törölt tag
"egy magon a két threaden szimultán(azonos időpillanatban) is végrehajtódhat egy-egy taszk"
meg csak ez sem. nincs duplazva vegrehajto-egyseg.
akkor van haszna a HT-nek, ha a futo progik jelentos idot varnak I/O-ra (memoria, halokartya, lemez, nemtommi), mert addig tud a masik futni. masik eset, amikor a ket szal nem egyforma tipusu terhelest ad a fizikai magnak, ezert jobb lehet osszessegeben a pipeline-ok kihasznaltsaga.
ezert ha eleg jol optimalizalt az applikaciod, akkor tobb ugyanolyan szal v process minimalis vagy semekkora novekedest nem fog hozni HT-n, mert gyakorlatilag egymassal versengenek a proci eroforrasaiert. ilyen esetekben a HT kikapcsolasa pl azert is segithet mert hugepage-ek eseten nem kell osztozkodnia a ket szalnak a TLB entry-ken vagy ahogy te is irtad kevesebben szemetelik a gyorsitotarakat (tipikusan az LLC ami faj, bar ez applikacio-fuggo).
altalaban jo megoldas kulonbozo tipusu terhelest pinelni a fizikai mag ket szalara ha van ra lehetoseg. -
-
Kansas
addikt
válasz
Robitrix #100 üzenetére
Nem csak a gyorsítótár közös, az egész mag kb. minden részegysége ugyanaz ha azonos mag két HT szálát nézed.
Akárhány mag tud akárhány programot futtatni, nézz csak bele a Task Manageredbe(magyarul Feladatkezelő), nálad épp mennyi fut. Úgy hívják: multitasking - magyarul ha több a taszk mint a mag(egy programnak lehet egy vagy több taszkja is), akkor a mag váltogat a taszkok között, adott ütemezésben, ami sok mindentől függ. A HT/SMT nagyon leegyszerűsítve annyival tud többet, hogy egy magon a két threaden szimultán(azonos időpillanatban) is végrehajtódhat egy-egy taszk.Azért érdekelne, honnan veszed ezt a sok sületlenséget amit írsz, saját kútfőből, vagy olvastad valahol?
-
Kansas
addikt
válasz
Geri Bátyó #91 üzenetére
Szerver szinten az Intel a Xeon Phi esetében pl. már most 4-szálas HT-t használ...
Új hozzászólás Aktív témák
- Az Elgato már mikrofonnal is szolgál a streamereknek
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Vicces videók
- AMD Navi Radeon™ RX 9xxx sorozat
- Nintendo Switch 2
- Leégett az első Radeon a hírhedt 12V-2x6 tápkonnektorral
- Óra topik
- Székesfehérvár és környéke adok-veszek-beszélgetek
- Okos Otthon / Smart Home
- PlayStation 5
- További aktív témák...
- Telefon felvásárlás!! iPhone 15/iPhone 15 Plus/iPhone 15 Pro/iPhone 15 Pro Max
- Kodak PD460 Instant Dock Printer / Számla és Garancia
- ÁRGARANCIA!Épített KomPhone Ryzen 9 5900X 16/32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! 750W Seasonic PRIME TX-750 Titanium tápegység garanciával hibátlan működéssel
- BESZÁMÍTÁS! Intel Core i7 4770 4mag 8szál processzor garanciával hibátlan működéssel
Állásajánlatok
Cég: FOTC
Város: Budapest