Bevezetés
Az előző írásomnál többen reklamáltak, hogy a hyper-threading témát nem fejtettem ki. Mivel sikerült szert tennem egy i7-re, ezért gondoltam körbejárom a kérdést. A HT mellé bevettem a turbo boostot is.
A méregetést a szokásos módon kezdtem el, megpróbáltam meghatározni, hogy mik a célok:
- Mennyit jelent a HT 2 és 4 fizikai mag esetén?
- Van-e értelme a turbo boostnak?
- Mennyire lehet csökkenteni a CPU mag feszültségét?
Ugyan nem tartozik szorosan a témához, de menet közben befutott a Diablo III. Kipróbáltam gyorsan, hogy az IGP mennyire bírkózik meg vele.
Hardver
Hirdetés
A hardver megegyezik az előző tesztben használttal, csak a processzort cseréltem le. Az i7 alap órajele 3.4GHz, ez turbóval maximum 3.8GHz-re mehet fel. Ha a teljesítménylimitbe belefér, akkor négy magos load esetén is van lehetőség 100MHz emelésre.
All core turbo boost
Alaplap: Asrock H67M-GE (1155)
CPU: Intel i7-2600
Memória: Kingston 4x4GB 1600MHz CL9 (2 x KHX1600C9D3P1K2/8G)
Merevlemez: Samsung HE103UJ
Videokártya: Asus HD5850 referencia órajelen
Táp: Corsair VX450
Az i7 lebutításával imitáltam a gyengébb processzorokat. i5 esetében kikapcsoltam a hyper-threadinget, ahol pedig i3-ként jelölöm, ott a turbo boost esett áldozatul. A két/négymagos beállítást lemértem turbóval és nélküle is. Az i3 esetén pedig kipróbáltam HT nélkül is a processzort.
Alkalmazások
A szokásos alkalmazásokkal mértem, ezért azok összevethetőek az előző pár írásomban mért eredményekkel.
A SuperPI-t a turbo hatásának a bemutatása miatt vettem be. Szépen látható, hogy az egy thread-en futó teszt mennyit gyorsult. Az is látható, hogy bár hibahatár közeli mértékben, de lassabb a HT-s beállítás i3-nál és i5-i7 viszonylatban is, ha nincs turbo boost.
Az excel is egy szálat használ, de az átlag 52 másodperchez képest a mért 1 másodperces eltérések hibahatáron belüliek, így fölöslegesnek találtam grafikont készíteni. Érdekes, hogy a turbo sem gyorsította a programot.
A Winrar csak korlátozottan tudja kihasználni a sok thread-et támogató processzorokat. A HT jó hatással van a teljesítményére a két magos (i3-as értékek) beállítás esetén, de 4 magnál már nem számít. A két mag HT-vel egyértelműen lassabb 4 fizikai magnál, de ez nem meglepő. A turbo is kimutatható, de nem jelent radikális előnyt.
A LinX érdekes eredményt produkált. A turbo boost hatása nem jelentős, de kimutatható. A HT aktiválása ezzel szemben jelentős lassulással jár. 4 magnál 10% fölötti a különbség az egymásnak megfeleltethető beállítások között.
Cinebench alatt a helyzet megfordul. A boost hatása leginkább az egy szálas eredmények javulásán érhető tetten. A HT egy szálnál csökkenti a teljesítményt, ha nincs turbo. Ezzel szemben multi thread terhelésnél 15% fölötti a gyorsulás.
WinFF-nél is hasonló a helyzet, mint az előző tesztnél. A sokszálas terhelés miatt a turbo minimális hatással van, de a HT sokat hoz a konyhára.
Linux kernel fordítás is sok szálat tud használni. A HT akár 25% javulást is jelenthet, ami még az előző két tesztet is meghaladja. 4 fizikai maggal természetesen így sem tud versenyezni kettő.
Az apache benchmark eredmény 6 részeredményből jött össze. Átlagban a HT rontott a teljesítményen, míg a turbo érezhetően javított. A részletes eredményeken az látszik, hogy 25 szál esetén már HT-vel volt gyorsabb a teszt, de azok az eredmények súlya nem volt elég, hogy felhúzzák a HT-s pontokat.
Játékok
A Far Cry 2 lassan kezd túlkorossá válni. Magas részletesség mellett tisztán GPU limites volt, de teljesen kényelmesen játszható maradt. Gyakorlatilag teljesen mindegy volt, hogy mennyire butítottam le a processzort.
A Supreme Commander Forged Alliance benchmark eredmények a Far Cry-hoz hasonlóak. Csak hasonlóak, mert a turbo boost, ha minimálisan is, de javította az eredményeket. A HT aktiválása viszont csak i3-nál járt érezhető különbséggel.
A Serious Sam 3 csak korlátozott mennyiségű szálat használ. Single-ben nem is volt különbség az eredmények között, de multiban már kijött a különbség a beállítások között. A turbo boost javítja az átlagot. A HT-s eredmények viszont felemásak. két magnál jelentős javulás, de 4 mag esetén legalább ekkora visszaesés volt tapasztalható.
A Battlefield 3 eredmények hasonlítanak az előző játékhoz. 4 magnál a HT aktiválása alig segít a teljesítményen, de 2 magnál mérhető a különbség. A turbo boost ezzel szemben drasztikusan emeli a minimum fps-t. Kipróbáltam patch-ek nélkül is a játékot és sikerült megfigyelni a mások által emlegetett akadozást.
2 mag esetén a HT hatásának szemléltetéséhez a képek közötti késleltetés reciprokát ábrázoltam grafikonon. Jól látható, hogy a késleltetés sokkal egyenletesebb HT-vel, mint nélküle.
Diablo3
A Diablo 3 teszthez az Act 1-ben harcoltam pár órát. Maximális beállítás és 1600x900-as felbontásnál 100 fps közeli átlagokat hozott a HD5850. Apró problémát okozott a minimum mérése, mert töltögetés közben minden esetben lement 0-ra. Ezt úgy kerültem meg, hogy 5. legkisebb értéket vettem, kivéve, ahol ugyanaz az fps érték legalább 3x szerepelt. 2 mag esetén a HT sokat javít a minimum fps-en, de az meglepett, hogy 4 magos beállításnál is javultak az eredmények.
Grafikonon ábrázolva érdekes látni, hogy HT-val kevésbé egyenletes a képek közötti késleltetés. A a 80 és 120 fps közötti ingadozás sokkal kevésbé zavaró, mint az, hogy töltéskor HT nélkül az fps hosszabb időre leesik 25fps alá.
Mivel a grafika nem volt túlságosan megterhelő, ezért kipróbáltam, hogy az i7 HD2000-es IGP-je hogy boldogul el a játékkal. Mivel tiszta GPU limit van, ezért csak 2 magos beállításokkal kísérleteztem 1280x720-as felbontás mellett. Ráadásnak a két mag, HT, magas részletességgel is játszottam fél órát, bár be kell valljam nem élveztem.
Gyenge GPU-nál a késleltetés grafikon többet mond, mintha fraps eredményeket adnék meg. Szépen látható, hogy a HD2000-vel el lehet bóklászni a játékban. Az előző grafikonhoz hasonlóan itt is kisebb hyper threading nélkül az ingadozás, de itt jobban toleráltam a töltéseknél a megtorpanást, mint a folyamatos be-be szaggatást. A részletesség emelésével a játszhatóság erősen leromlott. Van, aki még vidáman játszana rajta, de én nem tudtam élvezni.
Ezt a két képet már a második Act-en készítettem, hogy látható legyen a különbség az alacsony és a magas beállítások között. Érdemes megnézni a talajt, az éleket és a fények kezelését.
720p, alacsony részletesség
720p, magas részletesség
Virtualbox
A Virtualbox csak hirtelen felindulásból került be a tesztbe, de végül majd egy hetet töltöttem vele. 2 virtuális gépre feltelepítettem egy komplett weboldalt, ami kb. 10GB helyet emésztett fel.
A virtuális szerverek 2-2 processzort és 2 GB memóriát kaptak. Az egyik apache, míg a másik mysql szerverként szolgált.
A 8 darab teszter gép fejenként 1GB memóriát és 1 magot kapott. Ráadásnak még egy grafikus felülettel is rendelkező gépet is installáltam a teszterekhez hasonló konfigurációra. Az OS minden esetben ubuntu LTS 12.04 volt, mert ez akadt a kezembe.
Összegezve ez 13 magot és ugyanennyi GB memóriát jelent. Természetesen ez csak elmélet, mert a gyakorlatban kevesebb memóriát igényeltek a virtuális gépek. Alapban, terhelés nélkül két magot ennyire sikerült terhelni:
Mivel egy élő oldalt virtualizáltam, ezért a teszthez fel tudtam használni az access logokat. Az elmúlt 3 hónap forgalma alapján válogattam össze a legforgalmasabb oldalakat, 50 zip állományt, 150 képet... A végeredmény 1000 url lett, amit minden gép 100 esetben töltött le. Minden gép 2 szálat használt és az egyes gépek előre elkészített listája véletlenszerűen össze volt keverve. A futtatást először Windows 7 Professional-on végeztem. Az eredmények kicsit megleptek, ezért végeztem egy futtatást linux (Ubuntu 12.04 LTS) alatt is.
A Windows-os futtatás után azon kezdtem el gondolkozni, hogy mi értelme van a HT-nek, ha ennyivel sikerült lassabban letudni a tesztet, mint HT nélkül.
A linuxos teszt viszont pont az ellenkező eredménnyel zárult. Kicsit kezdtem furcsán nézni az egészet. A két virtualbox szoftver között nem lehet ekkora eltérés, az egész csak a két OS miatt lehet.
A Windows stratégiája az, hogy igyekszik a HT-et nem igénybe venni, ameddig csak lehet. Ez jól látható alább. Egy és két klienses terhelés látható, mindkettő nagyjából 3-3 osztásnyi időt volt a megfigyelt időszakban, közte a nyugalmi terhelés látható. A HT magokhoz tartozó 2., 4., 6. és 8. processzormagon 1 szál esetén nem futott semmi. Amikor növekedett a terhelés, akkor viszont képes volt a kernel az apache-hoz rendelt két virtuális processzort ugyanazon az egy fizikain futtatni. Ekkora terhelésnél ez még nem jár nagy teljesítmény vesztéssel, de 3 kliensnél már igen.
A linux stratégiája sokkal egyszerűbb. Igyekezett "elkenni" a terhelést az összes magon, legyen az fizikai, vagy virtuális. A fölösleges ugrálás viszont más hátránnyal jár, mint a Windows féle megoldás. Nem tudom, hogy mi lenne a tökéletes megoldás, de eszembe jutott az ökölszabály. Ha valamit 80% fölött terhelünk, akkor az nem lesz jó. Az adminisztrációs költségek drasztikusan nőnek és inkább lassulni fog, ahogy a versengő szálak kiéheztetik egymást.
Fogyasztás és összefoglalás
Fogyasztás
A fogyasztási értékek az i5, i7 esetén még helytállóak, mert az Intel sem tesz mást, csak letiltja a HT-t a kisebbik processzorban, de az i3 felirat inkább csak tájékoztatásra szolgál. Bár a load értékek pár W-al lehetnek csak magasabbak egy tényleg csak két magos Sandy Bridge-nél. A HT magonként kb. 5-6W-al emeli a fogyaszást teljes terhelésnél. Nem koppig terhelve ez inkább csak 2W-ot jelent, ami mérhető, de jelentéktelen.
A turbo boost hatását leginkább az egy processzor magot - és GPU-t halálra - terhelő furmark alatt lehet mérni. Pár W-al kell fizetni a plusz teljesítményért. Szerintem ennyit megér.
Az i7 feszültsége jól csökkenthető, amihez offset módban tettem meg. Így minden állapotban ugyan annyit csökken a feszültség. Ez a darab 120 mV-ot engedett. Teljes terhelésnél ez 17W-ot jelent, Battlefield 3 alatt már csak 14-et. Ha jelenleg nem érdekes, de kánikulában ez már jót fog tenni a gépnek.
Értékelés
Minden egyes teszt egyre tovább tart. Majd két hétig méregettem. Szerencsére két időigényes rész is linuxon alapult, amit le tudtam scriptelni. Az először kitűzött tesztek megvoltak 3 nap alatt, de bejött még a Diablo és a virtualizáció. Ez utóbbi vitte el az idő nagy részét és minél több információt sikerül összeszednem, annál jobban látom, hogy milyen keveset is tudok a témáról. Ettől függetlenül megpróbálok válaszolni az eredeti kérdésekre:
Mennyit jelent a HT 2 és 4 fizikai mag esetén?
2 mag (i3): A programok nagyon vegyesen viselkedtek. Egyre kevesebb az olyan program, amelyik csak 1-2 szálat használ. Ezeknél a programoknál a HT, de a négy fizikai mag is teljesen felesleges. A programok túlnyomó része már képes részben kihasználni a kettőnél több magot, de ezek sem igazán profitálnak a HT-ből.
Gyakorlatilag hibahatáron belüli eredmények születnek, néha lassabbak, néha gyorsabbak pár százalékkal. A játékok jó példák arra, hogy nem jelentős (2-4%) lassulás mérhető benchmarkok alatt, de ha a töltési időket és az AI által terhelt méréseket nézzük, akkor sokkal egyenletesebb a játékmenet. Fontos, hogy a HT -re nem felkészített programoknál néha akadás figyelhető meg, de a Battlefield 3 esetében ezt pl. patch-el javították. A maradék pár program minden erőforrást fel tud használni, ilyenkor akár 20-25%-al gyorsulhat a program. Ritka, de van olyan program, mint pl. a LinX, ami radikális lassulással reagál.
4 mag (i5 vs i7): Az előző csoportosítás alapján egyszerű a kép. 4 magnál a hyper threading csak akkor hoz előrelépést, ha olyan programot futtatunk, ami maximálisan ki tudja használni a gépet. A virtualizációs teszt megmutatta, hogy mennyire számít az OS és szinte biztos vagyok benne, hogy némi kernel turkálással tovább lehetne ezt finomítani. A sokakat érdeklő játékoknál szinte mindenre elég egy i5.
Van-e értelme e turbo boostnak?
A turbo boost-ra a bevezetésekor sokan mondták, hogy "gyári tuning" és, hogy "csal az Intel". Szerintem nagyon jó ötlet, a sok magos processzorok teljesítményét akár 10%-al is meg tudja emelni single thread programoknál.
Mennyire lehet csökkenteni a CPU mag feszültségét?
120mV-al, ami kb. 10%-ot jelent, de ebben mar benne van egy 20mV-os biztonsági lépcső is. A különbség akár 17W is lehet, de normál terhelt állapotban inkább csak 10W a különbség. Ez hőmérsékletben 5-6 Celsius, ami kánikulában jóval halkabb ventilátort jelent.
Diablo hogy fut IGP-n?
Tudom, hogy nem volt benne az eredeti célok között, de nem tudtam ellenállni. Egész szépen fut, a HT-t kikapcsolva még inkább.Igaz, ilyenkor a töltések érezhetően tovább tartanak, de az irtás a lényeg.
Összegzés
A tesztek után három pontban tudnám összefoglalni a tapasztaltakat:
- Két mag esetén a HT jól jön. Igaz néha előfordulhat akadás, de a programok túlnyomó többségénél vagy minimális az eltérés, vagy érezhető előnyt jelent.
- Négy fizikai magnál a HT csak néhány esetben hasznos. Otthonra, játékhoz fölöslegesnek tartom.
- Érdemes mérni a HT hatását, ha sokat használunk egy komolyabb programot, mert lehet, hogy kikapcsolva akár gyorsul is az alkalmazás. Ez kiemelten igaz szerver oldalon (adatbázis, web szerver...) és terheléstől is függ.
- A Diablo 3 egész szépen fut IGP-n.