- NVIDIA GeForce RTX 4060 / 4070 S/Ti/TiS (AD104/103)
- NVIDIA GeForce RTX 4080 /4080S / 4090 (AD103 / 102)
- Bambu Lab X1/X1C, P1P-P1S és A1 mini tulajok
- Sony MILC fényképezőgépcsalád
- Vezeték nélküli fülhallgatók
- Milyen notebookot vegyek?
- AMD GPU-k jövője - amit tudni vélünk
- Milyen TV-t vegyek?
- Exkluzív funkcióval tenné vonzóbbá az ARM-os PC-ket a Microsoft
- GoPro Topic
Hirdetés
-
A személyre szabott reklám lehet a streaming következő slágere
it A jobb célzott hirdetések érdekében adatplatformot indít a Warner Bros Discovery.
-
A Gigabyte is visszaveszi alaplapjainak alapértelmezett tuningját
ph Az Intel Z790-es és B760-es vezérlőkhöz jár az Intel Baseline profil.
-
Premier előzetesen a Wrath: Aeon of Ruin konzolos változatai
gp A PC-s változat után a minap PlayStationre, Xbox-ra és Switch-re is elérhető lett a program.
-
PROHARDVER!
Új hozzászólás Aktív témák
-
Szoftveroldalról úgy néz ki a dolog, hogy egy futó program/alkalmazás a feladatkezelőben mint egy "processz" jelenik meg.
1,
Itt látod az (általad) elindított alkalmazásokat.Feladatkezelő -> Alkalmazások
2,
Megnézheted, hogy ez az alkalmazás milyen futó processzként van "számontartva"jobb klikk az alkalmazás nevén ->
Go to Process
(US Windowsom van, magyar winen nyilván magyarul valami hasonló)Infó:
Egy processz legalább egy programszálból áll, de a processz több programszálat is kreálhat (többmagos processzorok kihasználása vagy egyszerűen a UI fennakadások elkerülése végett). Ez az alkalmazásfejlesztőre van bízva.
Például ha van egy ablakos Windows programod, akkor célszerű lehet az ablaknak lenni egy fő szálnak, ami aszerint, hogy a felületen mit választasz ki (mit kell csinálni) dedikál munkát külön-külön dolgozó szálaknak, amelyek amikor végeznek, akkor az eredményt visszaadják a fő-szálnak, ami azt megjeleníti az alkalmazás ablakában. Ennek az az előnye, hogy a fő szál tulajdonképpen nincsen soha terhelés alatt, így az ablak mindig reszponzív tud(hat) maradni, akkor is ha az ablak igazából vár egy dolgozó szálra.
Ha a dolgozó elkészült, akkor azt a programszál akár ki is léphet.
3,
programszálak megtekintése:
Task manager-> View - Select columns (oszlopok kiválasztása) -> Threads (szálak )Itt megjeleneik egy oszlop, ami mutatja, hogy az alkalmazás mennyi szálat indított. Elég komoly számok fognak megjelenni Nekem ebben a pillanatban 1317 programszál van elindítva a Windowsban.
Az hogy egy program indított kismillió szálat, még nem fogja azt jelenteni, hogy mindegyik egyszerre tud ezerrel tekerni, és egy sokmagos procit ki tudna maga az alkalmazás értelmesen használni.
Infó:
Programszálak vs "processzorszálak"Most tegyünk úgy, mintha nem létezne Hyperthreading (az csak bonyolítja a dolgokat, de valójában holt ugyanaz a koncepció) és egyetlen processzormag egyszerre egyetlen programszálat tudna végrehajtani.
A program végrehajtása a programszálak (thread) végrehajtásával történik, tehát a programszál amelynek éppen dolga van, az valamelyik (az ütemező által kiválasztott) processzormagon fut, annak teljesítményét (órajelciklusok) és erőforrásait (regiszterek) osztatlanul élvezi. Tehát egyetlen programszál egyszerre egyetlen magon fog futni. Az elérhető legnagyobb CPU teljesítmény amit egyetlen programszál meg tud kapni (bármikor) az egyetlen mag teljesítménye. A programszálon múlik, hogy ezt a teljesítményt maximálisan kihasználja, de a korlát akkor is él: egy programszál nem fér egyszerre több CPU-teljesítményhez hozzá, mint a proci maximális egymagos teljesítménye.
Ha a programozó azt szeretné (és hajlandó is érte tenni) hogy az alkalmazás több teljesítményhez férjen hozzá, mint egyetlen processzormag teljesítménye, akkor kénytelen az alkalmazásban több dolgozó-programszálat létrehozni, ezek a programszálak egyenként hozzá fognak férni (maximum) egy-egy processzormaghoz és annak teljesítményéhez. A probléma itt alapvetően a programozó vállán van, mert valahogyan az alkalmazás által megoldandó feladatot el kell tudnia több szál között osztania, hogy azok együtt tudjanak működni. Ez nem egyszerű...
Az, hogy valamelyik alkalmazás (mondjuk Firefox) indított 80 szálat, még nem jelenti azt, hogy amikor tényleges CPU-intenzív munka van, akkor majd egynél több szál fog ezek közül érdemben tekerni. A legtöbb szál csak alszik és speciális feladata van.
Infó:
Az összes modern asztali oprendszer időosztásos ütemezéssel működik, az ütemezés teljes mértékben az oprendszer ütemezőjének a feladata/felelőssége.Általában több programszál van mint processzormag, ezek közül elég sok programszál gondolhatja azt, hogy őneki éppen dolga van és futni szeretne, tehát kell egy felsőbb hatalom, aki eldönti, hogy mikor ki futhat és végső soron felel azért, hogy a rendszer mindig reszponzív maradjon, akkor is, ha bármelyik program minden erőforrást magának akarna és felel a többé kevésbé igazságos erőforrás elosztásért.
Ez az oprendszer ütemezője. Az összes modern desktop oprendszer időosztásos. Ez azt jelenti, hogy a processzormagok idejét az ütemező rövid időszeletekre (timeslice) osztja, ez mondjuk olyan 20ms lehet. Tehát egyetlen másodpercbe 50db időszeletet fér bele (egyetlen magon). Ha a te procid 8 magos, akkor egyetlen másodpercben 50x8= 200 időszeleted van, ennyivel tud az ütemező gazdálkodni. Az időszelet az ütemezés legkisebb egysége.
Az ütemező a szálakat prioritás és egyéb szempontok szerint (melyik thread milyen régóta vár) rangsorolja és az éppen futni akaró threadek között ez alapján dönt, hogy melyik mikor kap 1-1 időszeletet. Ha egy egyprocesszormagos rendszeren 2db thread akar futni, akkor az ütemező pld. megcsinálhatja azt, hogy egyszer az egyik thread kapja meg a magot egy időszelet erejéig, másszor a másik kapja meg egy időszelet idejéig és így váltogatják egymást 20ms-ként. Te azt látod, hogy mindkét program/thread fut szépen, mert olyan gyorsan történik a váltás, hogy nem veszed észre, hogy az egyetlen processzormagon mindig csak egy thread fut, a másik pedig várakozik.
Egy nyolcmagos processzoron ahol nyolcnál több szál akar futni ugyanez történik meg: az ütemező 20ms-ként dönt arról, hogy melyik futni akaró thread melyik processzormagot kapja meg. Azok a threadek amelyek alszanak, azok nyilván nem versengenek a processzorért.
Ha van egy egyszálas programod (SuperPI) ami egyetlen threadből áll, és folyamatosan futni akar, neked meg van egy többmagos géped, a thread folyamatosan kéri hogy kapjon egy processzormagot (egy szál <-> egy mag egyidőben). Annak a threadnek egy időosztásos rendszerben _majdnem_ mindegy, hogy a thread folyamatosan ugyanazon a processzormagon fut, vagy 20ms-ként az ütemező ugráltatja egyik magról a másikra. Addig amíg folyamatosan kapja az időszeleteket, addig nem éri hátrány és képes lesz egy processzormag erejét fullosan kihasználni.
Hogy miért szereti a Windows processzormagról processzormagra átdobálni a futó szálat akkor is, amikor igazából nem kéne, azt nem értem. hogy utána miért kell a Task Managerben CPU-magokra lebontott kihasználtságot mutatni, azt sem értem. Mert nagyon zavaró és megtévesztő az biztos...
Az smt off viszont emlékeim szerint 10%-ot dobott rajta. Majd ezt az affinitásos dolgot rálövöm a wow-ra, hátha segít valamit,
Érdemes lenne úgy csinálni, hogy megnézed valahol (nem tudom hol van dokumentálva, BIOS függő is lehet), hogy a processzor egyes fizikai magjai hogyan jelennek meg a BIOS-ban/ Windows taskmanagerben.
Ha affinitással rendelsz hozzá a WoW-hoz vagy egyéb progihoz magokat, akkor érdemes lenne úgy csinálni, hogy az affinitásban az alkalmazás számára engedélyezett magok ugyanazon a CCX-en belül legyenek mind (4+0 leosztás). Memóriaintenzív kevés (de egynél több) szálas programokban ennek kéne legyen előnye egy 2+2 leosztáshoz képest.
[ Szerkesztve ]
Új hozzászólás Aktív témák
- NVIDIA GeForce RTX 4060 / 4070 S/Ti/TiS (AD104/103)
- Windows 11
- DIGI internet
- PlayStation 5
- NVIDIA GeForce RTX 4080 /4080S / 4090 (AD103 / 102)
- Építő/felújító topik
- Rossz üzlet az EV-kölcsönzés
- EAFC 24
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- (nem csak) AMD FX / Ryzen tulajok OFF topikja
- További aktív témák...
- ELADÓ - Ryzen 7 5800X
- Beszámítás! Intel Core i5 6500 4 mag 4 szál processzor garanciával hibátlan működéssel
- Beszámítás! Intel Core i3 9100 4 mag 4 szál processzor garanciával hibátlan működéssel
- Beszámítás! Intel Core i3 10105 4 mag 8 szál processzor garanciával hibátlan működéssel
- Beszámítás! Intel Core i7 7700K 4 mag 8 szál processzor garanciával hibátlan működéssel