2024. március 28., csütörtök

Gyorskeresés

Számítógépünk titkos élete, avagy adatvizualizáció adatfetisisztáknak

Írta: |

[ ÚJ BEJEGYZÉS ]

Az érkező és már megérkezett Ryzen processzorok szinte minden kapcsolódó fórumban újból lángra lobbantották az eddig csak parázsló diskurzust a 4-6-8-16 szál kihasználtságáról. Rendkívül érdekesnek tartom ezt a témát és kíváncsiságom méricskélésre sarkall. Nagyjából végig gondoltam mit, mivel és hogyan lenne érdemes mérni, illetve milyen formában kerülhetnének publikálásra a mérési eredmények. Ebben a bejegyzésben ezt szeretném ismertetni és vitára bocsájtani.

A mérések célja a különböző alkalmazások erőforrás kihasználásának ábrázolása adott hardveren. Nem célom messzemenő következtetések levonása a hardver képességeit illetően. Azon már rég túl vagyok, tekintve hogy másfél éve használom ezt a gépet. :)) Engem a mintázatok érdekelnek, a hardveren lejátszódó folyamatok. Milyen paraméterek mellett zajlik le egy játék elindítása? Hogy néz ki, amikor fut egy játék, és amikor kilépek egy játékból? Kismillió teszt foglalkozik a játékosok többsége számára fontos egzakt eredményekkel, melyek csúcsán ott űl az FPS szám, mint a hardver teljesítményének alfája és omegája. Könnyen emészthető, mint tőmondat az óriásplakáton. Ezek mind fontos eredmények, de engem legalább annyira érdekelne az adott rendszer időben lezajló viselkedése. Ennek mérése és ábrázolása meglehetősen időigényes és nem is mindig van látványos eredménye, a publikálás terjedelmességéről nem is beszélve. Ezért abszolút megértem miért nem foglalkozik ezzel a tesztelők többsége. De ha már magamnak amúgy is megcsinálom, akár közzé is tehetném az eredményeket. Hogy érthető legyen miről is beszélek, lássuk a mivel, hogyan és milyen formában pontokat.

A mérés menete a következő:

1. A kiválasztott paraméterek rögzítésére az AIDA64 naplózási funkciójának elindítása.
2. Kis ráhagyással alkalmazás elindítása.
3. Legalább egy órán keresztül alkalmazás futtatása, általános használata.
4. Alkalmazás bezárása.
5. Kis ráhagyással naplózás leállítása.

Az eredményül kapott CSV naplófájlból az adatokat MATLAB-ba importálom, ahol tündérszép diagramokat hozok létre. Ezeket szorosan egymás alá illesztem, figyelve az azonos mérési tartományra. Az eredmény nagyjából így néz ki:


Katt a teljes méretért, kicsiben nem az igazi.

Fontosnak tartom a teljes mérés minden adatát egyszerre, rendezetten feltüntetni. Ez a teljes kép. Jelen esetben bő egy órányi Witcher 3. Másodpercenként átlag két mérési ponttal. Most nem kezdem el elemezgetni mit látunk, megmaradnék a metodika taglalásánál. A sok diagram és mérési pont miatt a nagyon apró részletek elvesznek. Ezért ha érdekesebb részletet találok, akkor azt kiemelve is megmutatnám. A diagramok mérete maradna ugyan akkora, csak az ábrázolt adattartomány változna meg. Azok számára, akik részletesebben is boncolgatnák az adathalmazt, publikusan elérhetővé teszem az összes CSV fájlt, amiből ábrák készülnek.
A megjelenített diagramok számáról még nem döntöttem. Ha nem egy képen van az összes, akkor nem tudom garantálni az azonos időpillanathoz tartozó adatok egybeesését. Mindent egy képen ábrázolva pedig meglehetősen tömör a látvány. Hajlok a GPU kihasználtság elhagyására, mivel ha jól tudom ez csak az ACE kihasználtságát mutatja, nem a shaderek-ét. Ennél fogva nem sok értelme van szerepeltetni, mert szinte mindig a képen is látható oszcillációt fogunk látni.
Hasonlóan vélekedek az FPS ábrázolásáról is. Egyrészt a rendszer szinte mindig GPU limites lesz. Fun fact; nem egy gamer cuccal játszadozom. Ahogy a mérés célja sem a minimális és maximális FPS-ek kiderítése. Ahogy az sem, hogy 100%-ig kipörgessem a processzort, vagy bármelyik hardverelemet. Ugyanezen megfontolásokból nem szerepelnek sem a hőmérséklet, sem a frekvencia adatok. Persze a mérés során rögzítésre kerülnek, de amíg nem találok értelmes ábrázolási módot ezen extra információk feltüntetésére, addig eltekintek szerepeltetésüktől.

Ez persze nem zárja ki, hogy külön ábrát ne szenteljek a témának. A fent látható diagramon alapvetően az adatok mozgása és feldolgozása követhető nyomon közvetett módon. Egy külön grafikon témája lehetne a processzor három fontos állapotjelzőjének viszonya. Kihasználtság, órajel, hőmérséklet. Egy modern számítógépben a CPU és részben a GPU az a két alkotóelem, mely a felsorolt paraméterek szerint szabályozza működését. Processzorunk esetében ezt veszi figyelembe a Windows feladatütemezője. Feltéve, hogy fel van készítve az adott processzor sajátosságaira, ahogy annak hiányát tapasztalhatjuk minden alapjaiban új uarch esetében. A tesztgépben egy negyedik generációs Core proceszor van, tehát nem egy mai csirke. Elméletben az ütemező maximálisan igyekszik kihasználni az elérhető frekvencia tartományt az adott hőmérsékleti és fogyasztási keretek, illetve a rendelkezésre álló processzormagok között. Ennek helyes ábrázolása az értelmezés megkönnyítése érdekében elég nehéz, még nem tudom hogyan lehetne jól megoldani. Íme egy példa egy lehetséges formára:

Teljesítmény centrikus energiagazdálkodási profil mellett zajlott az adatok rögzítése. A vízszintes tengelyen ismét a mérési pontok szerepelnek, másodpercenként átlag kettő. Elég hektikus, érdekes látni a hirtelen bekövetkező akár 10°C-os hőmérséklet-változásokat is. Ugyanakkor ez csak egy mag paramétereit tartalmazza. Érdekesebb lenne látni, hogyan viszonyul egymáshoz az egyes szálak kihasználtsága, az egyes magok állapotához. Ez 8 szál %-os, 4 darab hőmérséklet és 4 darab frekvencia érték ábrázolását jelentené. Az egyes szálak kihasználtságát is azért ábrázolom intentzitással, mert egy hagyományos X-Y tengelyen a 8 függvény képe egy nagy ákom-bákom lenne. Már 4 függvény is elég sűrű:

Persze lehetne a hőmérsékletet és frekvenciát is a kihasználtsághoz hasonló grafikonon ábrázolni, vagy kísérletezni egzotikusabb diagramformákkal. Még szabad a gazda. Ezért is ez a bejegyzés, várom a visszajelzéseket, észrevételeket és meglátásokat.

Mielőtt elfelejtem, felsorolás szintjén a mérések során használt alkalmazásokról:

Cities: Skylines (After Dark+Snowfall DLC)
CS:GO
Diablo 3 -kiegészítők nélkül
Dirt 3 Complete Edition
Divinity: Original Sin
Elder Scrolls V: Skyrim
EVE Online
Heroes of the Storm
No Man's Sky
Paladins
Path of Exile
PlanetSide 2
Portal
Portal 2
Rocket League
Sid Meier's Civ V
The Witcher 3 Wild Hunt
WildStar
+3DMark for the lolz
CAD csomag
Kép és videó szerkesztés

Igen, szinte csak játákok. De legalább sokféle zsánerből. Persze használok más programokat is, csakhogy például a MATLAB-ot pont nem érdekli a több szál (nem rendelkezem sem a tudással, sem a megfelelő licenccel a párhuzamosított feladatokhoz). Az általam használt FreeCAD és KiCAD programokhoz nincs olyan nagyságú projektem, ami kihívások elé állítaná a rendszert, ettől még lehet megyek velük is egy kombinált kört. Hasonlóan se Gimpben, se Blenderben nincsen összetettebb projektem, de majdcsak összerakok egy nagyjából egy órás tesztkört. Idő és türelem kérdése az egész. Alapvetően mindenre kíváncsi vagyok, de első körben a játékokkal sokkal egyszerűbb dolgom van. Mivel nem szeretnék mondvacsinált (pl random féltucat szűrő oszt jónapot) feladatokat végrehajtani az imént említett programokban.

Még egy fontos megjegyzés. A mérések nem egy steril rendszeren történnek. Először is a windows egy 2015 októberében telepített 8.1 Pro, melyet az automatikus frissítés opcióval (tehát nem tiszta újratelepítéssel) 2016 júniusában Windows 10 Pro-ra upgradeltem. Azóta sem lett frissen újratelepítve, illetve manuálisan folyamatosan telepítem az aktuális frissítéseket. A mérések során nincsennek korlátozva a hétköznapok során is futó háttérfolyamatok. Egyedül a 10-12 megnyitott lapot tartalmazó böngészőt zárom be, ahol ez nincs másként feltüntetve, tehát nem képezi a mérés részét a webes böngészés.

A konfiguráció egy Dell Precision M4800-as mobil munkaállomás:
Core i7 4810MQ, 4C/8T 2,6/3,8 GHz, 47W TDP
16GB (2x8) 1600MHz Cl11 Dual Channel DDR3 RAM
AMD FirePro M5100 "Venus-XT" (első gen GCN 10CU / 640 shader) 2GB GDDR5 128-bit-es csatornán
250GB Samsung 850 EVO mSATA SSD - Windows partició -"Disk 2"
1TB Seagate SSHD, 8GB "chace", 5400RPM - Steam könyvtár helye - "Disk 1"
Intel Centrino Ultimate N 6300 AGN WiFi kártya

Hozzászólások

(#1) apezka


apezka
tag

Hm... Jól hangzik! Hajrá-hajrá! :C

A stressz akkor jön, amikor nincs kit pofán b...!

(#2) Hieronymus


Hieronymus
addikt
LOGOUT blog

Talán lenne egy egyszerűbb, de látványosabb teszt módszer.
A magok számának csökkentésével, az FPS szám min/max/átlagos változása, érthető információt ad.

Arra azért vigyázni kell, hogy fix frekvencián működjön a processzor. Néhány mag használata esetében hamis eredmény jöhet ki, mivel a terhelésre emelkedhet a működési frekvencia. Kiderülhet, hogy kettő maggal jobban megy a játék, mint többel. Ami azért nem feltétlenül korrekt eredmény.

Legyen béke! Menjenek az orosz katonák haza, azonnal!

(#3) dragon1993 válasza Hieronymus (#2) üzenetére


dragon1993
őstag

Bizonyos algoritmusoknál egyébként simán kijött már nekem, hogy kevesebb magon jobban teljesít.

(#4) fo_di


fo_di
őstag

érdekes lehet esetleg egy R és shiny alapú megközelítés is az adatok ábrázolásához, akkor lehet teljesen interaktív grafikonokat is csinálni, amit mindenki arra nagyít, amerre neki tetszik

(#5) Ruuwa válasza Hieronymus (#2) üzenetére


Ruuwa
tag

A mérések célja a különböző alkalmazások erőforrás kihasználásának ábrázolása adott hardveren.

Második bekezdés. Nem egy adott alkalmazás FPS-ére vagyok kíváncsi különböző hardveres körülmények között. Nem azt szeretném kimérni, mikor lesz processzor limites a rendszerem. Kismillió teszt és elemzés van már erre szerte az interneten.

Pont arra vagyok kíváncsi, hogy mind operációs rendszer, mind alkalmazás szintjén hogyan gazdálkodnak a rendelkezésre álló erőforrásokkal.

fo_di:

Felmerült bennem is valamilyen interaktív formátum, még arra is sor kerülhet. :R
Az lenne az igazi, ha az adatokkal párhuzamosan megjelenne ahoz a pillanathoz tartozó képernyőkép is. Viszont nem biztos hogy ennyire foglalkozni szeretnék vele. :D

Valami tréfás, humoros, mégis mélyenszántó gondolatokat magában hordozó, rövid, velős mondat, mely egyéniségem rendkívüli sokszínűségéről tesz tanúbizonyságot.

További hozzászólások megtekintése...
Copyright © 2000-2024 PROHARDVER Informatikai Kft.