Szerző: Bodnár Ádám

2002. november 14. 09:36

Intel Pentium 4: túl a 3 GHz-en

Az Intel ma jelentette be 3,06 GHz-en futó Pentium 4 processzorát. Az asztali processzorok között ez a modell az első, amely hivatalosan támogatja a Hyper-Threading technológiát. Tesztünkben az idei év leggyorsabb processzorának teljesítményét fürkésztük.

A mikroprocesszorok számítási teljesítményét számtalan módon lehet növelni, azonban a széles körben alkalmazott és már-már közhelyesnek számító megoldások -- órajel emelése, cache növelése, további végrehajtóegységek beépítése -- fizikai kompromisszumokkal járnak, ugyanis rendszerint az elért teljesítménynövekedésnél nagyobb mértékben növekszik a mag mérete, a felvett teljesítmény, illetve a leadott hő. Az alábbi táblázatban látható, hogy az Intel 80486 processzor bevezetése óta az egyes chipek relatív teljesítménye sokkal kisebb mértékben növekedett, mint ahogy a tranzisztorok száma és a felvett teljesítmény. Bár a felvett teljesítmény és a leadott hő a gyártástechnológiai fejlődésnek köszönhetően még kordában tartható, ezek az asztali processzoroknál már most is komoly problémát okoznak.

A számítási teljesítmény növelésének már régóta egyik "kézenfekvő" eszköze a processzorok számának növelése. Ez lehetővé teszi, hogy egy időben több utasításszál (thread) hajtódjon végre. A párhuzamosan futó utasításszálak tartozhatnak akár egy alkalmazáshoz, több alkalmazáshoz, vagy akár az operációs rendszerhez is. Az utóbbi időben számos kezdeményezés és technológia jött létre az ún. szálszintű párhuzamosság lehetőségeinek kiaknázására. Az egyik ilyen az IBM Power4 és HP PA-8800 családból már jól ismert on-chip multiprocessing (CMP), vagyis egy szilíciumlapkán több processzormag elhelyezése, amelyek közös gyorsítótárat használnak. Bár ez a kezdeményezés a szerverpiacon valóban ígéretes lehet, az asztali gépek szegmensében a nagy magméret, a magas gyártási költségek, valamint a megnövekedett fogyasztás és hőleadás jelentősen hátráltatják az elterjedését.

Kifinomultabb megoldás, amikor egy processzor folyamatosan váltogatja a végrehajtott utasításszálakat. Ez többféleképp lehetséges, az egyik esetben a processzor adott idő után mindenképp "szálat vált", ezt time-slice multithreadingnek hívják. A másik eset, amikor a szálak cseréje bizonyos eseményekhez, például cache misshez van rendelve (switch-on-event multithreading). Ez jól működhet például szerverek esetében, ahol rendszerint sok cache miss fordul elő, és a párhuzamosan futó szálak hasonló vagy azonos feladatot hajtanak végre. Ez a két megközelítés azonban megegyezik abban, hogy egy időpillanatban mindig csak egy szál végrehajtása zajlik.


1. Switch-on-event 2. Time Slice 3. SMT

Simultaneous multithreading (SMT) esetében azonban két szál valóban párhuzamosan fut, a processzor nem váltogat közöttük, a szálak utasításait egyszerre hajtja végre. Ez a megoldás a processzor erőforrásait a lehető legjobban kihasználja, a számítási teljesítmény és a felvett teljesítmény, illetve a tranzisztorok számának aránya ebben az esetben a legkedvezőbb, ráadásul a szálak közötti váltás sem okoz időkiesést. Az Intel által a Xeon chipekben már tavasz óta alkalmazott és most a Pentium 4-ben is bemutatott Hyper-Threading technológia az SMT egyik megvalósítási formája.

[oldal:Az Intel SMT megvalósítása, a Hyper-Threading]

A Hyper-Threading technológia révén egy processzor az operációs rendszer és az alkalmazások felé két processzornak látszik, vagyis az operációs rendszer ugyanúgy ütemezi az alkalmazásokat és utasításszálakat, mintha egy kétprocesszoros rendszeren futna. Mikroarchitektúrális szempontból a Hyper-Threading azt jelenti, hogy a processzor egyszerre két logikai processzor utasításait hajtja végre. A chipben ilyenkor két párhuzamos architektúrális állapot van jelen, a processzor az operációs rendszer felé két processzornak látszik.

A Hyper-Threading technológiával felvértezett processzorok egy időben két architektúrális állapotot tárolnak, ami azért lehetséges, mert az architektúrális állapotot tároló áramkörök mérete a processzor egészéhez mérten elenyészően kicsi. Az egy időben futó két szál rendszerint ugyanazokat az erőforrásokat veszi igénybe, ám egyes, kisebb méretű alkatrészek a nagyobb teljesítmény elérése érdekében meg vannak kettőzve. A Hyper-Threading technológia mindössze 5 százalékkal növeli a mag méretét és a chip fogyasztását, miközben a segítségével elérhető teljesítménytöbblet akár a 30 százalékot is meghaladhatja.

Abban az esetben, amikor csak egy utasításszál aktív, a Hyper-Threading technológiával ellátott processzorok két üzemmódban működhetnek, amelyeket single-task (ST) és multi-task (MT) módoknak neveznek. Multi-task módban az erőforrások a már fent említett módon vannak megosztva illetve duplikálva. Az ST módnak két változata lehetséges (ST0, ST1), amely attól függ, hogy melyik logikai processzor aktív. Ebben az esetben a megosztott erőforrások egyesítésre kerülnek, és azok felett az aktív logikai processzor rendelkezik ugyanúgy.

A Hyper-Threading technológiával rendelkező processzorokban az MT és ST0 vagy ST1 módok között a HALT utasítással lehet váltani. A HALT utasítás gyakorlatilag megszakítja a processzor futását és energiatakarékos állapotba kapcsolja azt. Ezt a parancsot csak az operációs rendszer vagy más alacsony szintű alkalmazás adhatja ki, felhasználói módban futó program nem. A HALT után attól függően kerül a processzor ST0 vagy ST1 állapotba, hogy melyik logikai processzoron futott le a HALT.

[oldal:A teszkonfiguráció és a felhasznált szoftverek]

Szerkesztőségünk abban a megtiszteltetésben részesült, hogy az Intel jóvoltából már megjelenése előtt kipróbálhatta a 3,06 GHz-es, Hyper-Threading technológiával felvértezett Pentium 4 processzort. A chip továbbra is a 0,13 mikronos csíkszélességű Northwood magon alapul, 512 Kbyte másodszintű gyorsítótárat tartalmaz és Socket478 kivitelben kerül forgalomba.

A Hyper-Threading technológia az Intel tájékoztatása szerint kizárólag a 3,06 GHz-es vagy annál gyorsabb Pentium 4 processzorokban lesz megtalálható, amelyek mind 533 MHz-es, illetve annál nagyobb órajelű front side buszt használnak. Így a támogató chipkészletek is csak és kizárólag azok, amelyek hivatalosan is támogatják az 533 MHz-es front side buszt. Ezek az Intel i845G, i845E, i845GV, i845PE és i850E lapkakészletek. Régebbi alaplapok esetén előfordulhat, hogy a Hyper-Threading használatához BIOS-frissítés is szükséges, így amennyiben valaki ilyen processzort szeretne vásárolni és használni, mindenképp tájékozódjon alaplapjának pontos típusáról és hogy az támogatja-e a Hyper-Threading technológiát.

AlaplapIntel D850EMVR
ProcesszorPentium 4 2,8 GHz; Pentium 4 3,06 GHz
Memória2x256 Mbyte Samsung PC1066 RDRAM
VideokártyaLeadtek WinFast A250 Ultra TD (GF4 Ti4600)
Merevlemez20 Gbyte Seagate Barracuda ATA III

Az általunk tesztelt konfigurációt az Intel D850EMVR alaplapja, két darab 256 Mbyte kapacitású Samsung PC1066 RDRAM modul, egy 3,06 GHz-es Pentium 4 processzor, egy NVIDIA GeForce4 Ti 4600 chipes Leadtek WinFast A250 Ultra TD videokártya és egy 20 Gbyte-os Seagate Barracuda ATA III merevlemez alkotta. A processzorhoz az Intel vadonatúj hűtőjét kaptuk, amelyet a kaliforniai chipgyártó szakemberei a Boeing mérnökeivel közösen fejlesztettek ki annak érdekében, hogy a lehető legnagyobb légszállítás mellett a zajszint minél alacsonyabba maradjon. A hűtőhöz egy aprócska fecskendőben még ezüst-alapú hővezető pasztát is mellékelt az Intel.

A tesztkonfigurációra Windows XP Professional operációs rendszer, a legfrissebb Intel meghajtók, az Intel Application Accelerator alkalmazás, a 28.32 verziószámú, WHQL minősítésű NVIDIA referenciameghajtó, valamint több tesztprogram is felkerült. A teljesítmény méréséhez a 3Dmark 2001SE, SYSmark 2002, SiSoft Sandra 2003 Standard, Quake III Arena, Unreal Tournament 2003 demo, Comanche 4, Final Fantasy XI Bench, Cinebench 2000 és Kribibench v1.1 alkalmazásokat használtuk. A 3,06 GHz-es processzor teljesítményét kikapcsolt és bekapcsolt Hyper-Threading technológiával is megmértük, összehasonlítási alapul egy 2,8 GHz-es Pentium 4 processzor szolgált.

[oldal:Szintetikus és professzionális benchmarkok]

Első tesztként a napokban megjelent SiSoft Sandra 2003 Standardot használtuk, amelynek segítségével a processzor nyers számítási teljesítményét mértük. Az eredményen magunk is meglepődtünk, ugyanis a Hyper-Threading bekapcsolása jelentősen javította a 3,06 GHz-es Pentium 4 eredményeit. Lebegőpontos teljesítmény mérésekor a Hyper-Threading 50 százalékkal növelte a processzor pontszámát, a lebegőpontos SSE2 tesztben pedig 46 százalékot "hozott" a Hyper-Threading. Ezek után már csak arra voltunk kíváncsiak, hogy a valódi alkalmazásokban ez hogy mutatkozik meg.

SiSoft Sandra 2003 Standard

Egyik kedvenc rendszertesztünk a SYSmark 2002, amely irodai, grafikus, valamint multimédiás alkalmazások segítségével próbál objektív képet mutatni a számítógép teljesítményéről. Ebben a tesztben a Hyper-Threading technológia bekapcsolása csak 3 százalékos gyorsulást eredményezett, de az Intel szakembereivel történt konzultáció után kiderült, hogy ez valószínűleg a SYSmark 2002 hibája, ugyanis a program többprocesszoros rendszereken sem gyorsul számottevően. A 2003-as változatban valószínűleg kijavítják a hibát.

SYSmark 2002

A SYSmark után egy professzionálisnak nevezhető alkalmazás, a Maxon Cinema 4D benchmark változatát futtattuk. A 3D modellező, animáló és renderer szoftver egyes tesztjeiben a Hyper-Threading technológia bekapcsolása némi teljesítménycsökkenéshez vezetett, azonban a rendering tesztben a "kétprocesszoros" rendszer állva hagyta a Hyper-Threadinget nélkülöző processzorokat, a technológia révén a Pentium 4 teljesítménye azonos órajelen 12 százalékot növekedett.

Cinebench 2000

Még szembetűnőbb volt a különbség a Kribibench tesztben, amely szintén egy 3D alkalmazás. A Hyper-Threading a tesztekben 18-31 százalékkal dobta meg a számítási teljesítményt.

Kribibench

[oldal:Játékprogramok]

A "professzionális" alkalmazások után következzenek a játékok, amelyeket A 3Dmark 2001SE, Quake III Arena, Unreal Tournament 2003 demo, Comanche 4 és Final Fantasy XI Benchmark alkalmazások képviseltek. Az eredmények meglehetősen vegyesnek bizonyultak, de összességében a Hyper-Threading bekapcsolásával elért teljesítménynövekedés még a mérési hiba számlájára is írható, a különbségek annyira kicsik.

3Dmark 2001SE

Quake III Arena

Comanche 4

Unreal Tournament 2003 demo

Final Fantasy XI

[oldal:Végszó]

Mivel a benchmark programok futtatása rendszerint akkor ideális, ha semmilyen más alkalmazás nem fut, így aligha használják ki azt a lehetőséget, hogy a Hyper-Threading esetén a több párhuzamosan futó utasításszál akár több alkalmazásból is származhat, vagyis a Hyper-Threading technológiával felvértezett rendszerek egy erőforrás-igényes alkalmazás futtatásakor sem "akadnak meg", nem kell a homokórát nézni, amíg lefut például egy víruskeresés. Ezt demonstrálandó végeztünk egy kísérletet, amelynek keretében először elindítottuk a Norton AntiVirus víruskereső komplett rendszertesztjét, és miközben ez futott, a Cinebench 2000 raytracing tesztjét. Azt hiszem, az eredmények önmagukért beszélnek.

Cinebench 2000

A Hyper-Threading mindenképpen figyelemre méltó technológia, bár egyelőre kétségtelen, hogy nem minden alkalmazás képes profitálni belőle. Azonban azok számára, akik egyszerre több programot futtatnak -- és a valóságban szinte mindenki ilyen -- komoly előnyökkel szolgálhat. Ugyan a Hyper-Threading mostantól minden Pentium 4 processzorban megtalálható lesz, a BIOS-ban könnyedén kikapcsolható, így ha valaki nem igényli, esetleg az általa futtatott alkalmazás épp azok közé esik, amelyen lassít a Hyper-Threading, az kikapcsolhatja. De a magam részéről azt gondolom, kevesen lesznek ilyenek.

Mivel a Hyper-Threading fejlesztésének kezdete jóval a Windows XP piaci premierje előttre nyúlnak vissza, az operációs rendszernek mind a Home Edition, mind pedig a Professional változata támogatja a technológiát. A Windows XP mellett jelenleg a Linux kernel 2.4 változata kezel még több logikai processzort. Számos alkalmazásfejlesztő (pl. Discreet 3dsmax) változtatott licenckonstrukcióján annak érdekében, hogy a több logikai, mint fizikai processzorral rendelkező felhasználók kihasználhassák a Hyper-Threading előnyeit, ne kelljen súlyos összegeket kifizetniük annak érdekében, hogy kedvec programjuk profitálhasson a technológiából.

Szólj hozzá a fórumban!

Kubernetes képzéseinket már közel 300 szakember végezte el. A nagy sikerre való tekintettel a tanfolyamot aktualizált tananyaggal június 18-án újra elindítjuk! A 8 alkalmas, élő képzés képzés órái utólag is visszanézhetők, és munkaidő végén kezdődnek.

a címlapról