2v1: Pentium4 3GHz HT aneb až 30% zdarma |
autor: Kwolek Jirka , publikováno 14.11.2002 |
V tomto článku se nebudu dlouze věnovat přece jen poněkud nezáživné teorii - tomu raději věnujeme samostatný článek. Dnes se pouze zaměřím na klíčové aspekty nové technologie a na to, co nás zajímá: "co to znamená pro běžnou praxi u nás, v ČR...".
Teorie - absolutní minimum
U základů teorie HyperThreadingu je poznatek, že jednotlivé jednotky procesoru nejsou v průběhu vykonávání programu využity stoprocentně. Při vykonávaní jednoho výpočetního vlákna (anglicky thread) se vyskytují okamžiky, kdy určité části jádra procesoru (ALU / FPU) zahálí. Proč tedy nevytvořit mechanizmus, kdy by se v daném okamžiku volné jednotky nevyužily pro výpočet dalšího, druhého programového vlákna, které by se tak vlastně počítalo souběžně. Nejedná se tedy ani o zdvojnásobení všech jednotek procesoru, ani o dva procesory "zabalené" do jednoho pouzdra, ale o technologii, která využívá výpočetních jednotek procesoru potenciálně lépe.
![]() |
![]() |
Poznámka: Jelikož jednotlivé virtuální procesory technologie "HyperThreading" zpracovávají paralelně pouze výpočetní vlákna (thready), můžete se setkat i s pojmem SMT, Symmetric Multi-Threading, a to narozdíl od klasické koncepce SMP, Symmetric Multi-Processing, kdy jsou k dispozici dva kompletní procesory "se vším všudy".
Efektivita Hyper-Threadingu (HT)
Prvky procesoru HT které nejsou zdvojené, jsou logickými procesory sdílené. V praxi pak mohou nastat tyto situace:
- jednotlivá vlákna budou využívat zdrojů jádra relativně efektivně:
Tento model je jistě ideální (Intel uvádí nárůst výkonu až 40%) - v této skupině si lze představit především ty programy, které jsou či budou pro HyperThreading speciálně optimalizované. Někdy však stačí, že si daný program, s HyperThreadingem prostě "sedne" - většinou se jedná o programy, kde je už od začátku počítáno i s více procesory (tedy o programy které jsou například optimalizované pro SMP, Symmetric Multi-Processing). V praxi může nastat situace, kdy je zrychlení 1 - 40%.
- běží jen jedno výpočetní vlákno:
Některé programy a procesy využívají jen jednoho výpočetního vlákna - zde nepomohou ani dvouprocesorové stroje, ani technologie HyperThreading (HT). Takových programů je dnes většina (viz. test).
- vlákna si budou navzájem "krást" potřebné jednotky:
Jednotlivá vlákna si navzájem "kradou / obsazují" stejné jednotky - druhý virtuální procesor pak čeká na uvolnění prostředků prvním (a vice-versa). Zde by pomohl plný multiprocesorový stroj. HyperThreading zde selhává.
V praxi, jak jsme zjistili, nastává mix všech tři případů - to v závislosti na množství a charakteru spuštěných programů. Někde HT skutečně pomáhá, jinde je jeho přínos nulový (od 0% až do 35%). S výkonovým propadem jsme se v našich testech nesetkali (*za předpokladu nasazení správného OS i hardwaru - viz. dále).
V další části probereme procesory, které umí HT + potřebné vybavení...
{mospagebreak title=Intel, Pentium4 a HyperThreading}Technologii HyperThreading, známou dříve jako "Jackson technology", se u Intelu zabývají již poměrně dlouho. Je tomu téměř rok, kdy se tato technologie dokonce objevila v konkrétních procesorech. Tehdy se jednalo se o serverové (rozuměj tedy i drahé) procesory založené na jádrech Foster MP a Prestonia. Vše bylo o to smutnější, že delší dobu se zároveň vědělo, že tuto technologii mají dokonce implementovanou i běžná Pentia 4, avšak standardně je vypnutá (či nezapojená). Tehdy se zdálo, že HT (HyperThreading) se stane čistě serverovou záležitostí.
Nedávné (oficiálně dnešní :-) uvedení nového Pentia 4 3.06GHz však bylo pro mnohé milým překvapením. Více důrazu než na pokoření hranice 3GHz se totiž v tomto případě dostává... zapnutému HyprThreadingu těchto procesorů. Poznámka: Jeden procesor z první tranže jsme měli možnost testovat i my.
Obrovská výhoda: Hyper-Threading lze zapínat i vypínat přímo v BIOSu
nové vlastnosti, nové logo
(všimněte si písmen HT vpravo nahoře)
Zároveň "vyšly najevo" požadavky, které musí systém splňovat, aby byl HyperThreading vůbec možný.
Kompatibilita hardwaru a softwaru
Operační systémy - nejlépe Windows XP (.NET)
Dosud jediným operačním systémem Windows umožňujícím efektivní využívání HT jsou Windows XP (.NET server) s aktualizací Service Pack1. Předchozí operační systémy způsobují větší či menší problémy. Windows 2000 sice rozpoznají dva procesory, avšak pro provoz SMT (Symmetric Multi-Threadingu) nejsou Win 2k optimalizované - ve výsledku po zapnutí Hyper-Threadingu poklesne výkon u běžných "single-threadových" aplikací o 10 až 20%! V případě operačních systémů jako jsou Windows 95, 98 a Me doporučuje Intel HT vypnout v BIOSu.
Poznámka: Windows XP jsou naproti tomu operačním systémem pro HyperThreading speciálně optimalizovaným. V případě procesu, který enormně vytěžuje (např. intenzivní benchmark, náročný výpočet atd.) jedno výpočetní vlákno, dojde k uvolnění všech prostředků procesorů tím, že se souběžné vlákno vůbec nespouští (druhý logický procesor je ve stavu HLT). To má za následek nesnižování výkonu u neoptimalizovaných aplikací - na druhou stranu je jasné, že se systém s HT nechová tak elegantně jako klasické systémy SMP, kdy i pod zátěží je k dispozici stále druhý samostatný procesor (není zde totiž třeba sdílet výpočetní jednotky).
Pro ostatní OS se HyperThreading navenek "tváří" jako běžný multiprocesorový systém - odtud plyne jeho kompatibilita np. s Linuxem (doporučený je kernel 2.4.18 a vyšší).
Kompatibilní hardware
Podmínkou správného provozu HyperThreadingu je následující hardware:
- odpovídající procesor - zde Pentium 4 3.06GHz (s HT),
- správná čipová sada - 850E (na té jsme testovali), 845: E, PE, GE, G (rev. B) a GV,
- odpovídající BIOS - čipová sada nebude vždy zárukou,
Jak vidíte, jedinými čipovými sadami, které umožní běh Hyper-Threadingu jsou poslední čipové sady Intelu. Dosud není jasné, jestli i ostatní výrobci vyrobí odpovídající čipové sady, zdá se však, že by jim na cestě nemuselo stát nic zásadního (většina funkcí je integrována v procesoru, otázkou čipové sady je správná inicializace dvouprocesorového režimu).
Co se týče nových současných a budoucích desek, je podpora HT ve většině případů jistá - horší to je se staršími deskami, zde budete položku "Hyper-Threading - Enabled / Disabled" nejspíše hledat marně.
{mospagebreak title=Testy a závěr}Testy jsme prováděli na pracovní stanici od firmy Vahal. Ta byla vybavena takto:
- procesor Pentium 4 3.06GHz, podpora HT,
- základní deska Intel D850MV, čipová sada 850E,
- 512MB paměti RDRAM, Samsung
- základní disk Seagate Barracuda IV, ST340016A,
- grafická karta MSI G4 Ti4600, 128MB DDR SDRAM, Det. 40.72,
- operační systém Windows XP Professional, Service Pack 1
Na sestavě jsme provedli standardní sestavu testů v konfiguraci se zapnutým i vypnutým Hyper-Threadingem. Musím poznamenat, že většina testů nebyla optimalizovaná ani pro HT, ani pro SMP (Symmetric Multi-Processing).
SiSoft Sandra 2002 a 2003
Tento benchmark ukazuje opravdu razantní nárůsty výkonu - v testu Multi-Media Benchmark je nárůst 53% a 16%, u Arithmetic Benchmarku je tomu obdobně. Propustnost paměti zůstala na stejné úrovni. PCtuning komentuje: Zcela evidentně se programové smyčky tohoto testu do HT strefily... (a je možno spekuloval, jestli náhodou nebo záměrně). Musím však říct, že Sandra je testem, kde se s několika procesory (SMP ale i SMT?) počítalo už od začátku.
ReMpeg 1.5.2
Je oblíbeným programem běžně používaném k rekompresi záznamu MPEG2 na nižší datový tok, typicky pro snížení objemu dat při kopírování DVD, kdy je často potřeba "vtěsnat" np. 5.8GB film na 4.3GB medium. Program zachovává strukturu dat (GOP-y).
Program není příliš optimalizován - rekomprese 2h filmu trvá typicky 10-15 hodin. Program však podporuje SMP.
Rekomprimoval jsem 486s (cca 8min) záznamu na 60% datový tok (byla zapnuta volba Reference DCT). Výsledky jsou zajímavé:
I když program umí obsloužit dva procesory, s Hyper-Threadingem se nedokáže "domluvit", a lépe pracuje ve svém jednovláknovém režimu (lze nastavit - viz. šipka). Je však možné (a i docela pravděpodobné), že další verze tohoto programu, pokud vůbec vzniknou, budou již pro SMT optimalizované.
3D mark 2001, CPU mark 99, kompese MP-3 s Lame 3.91
Možná se ptáte, proč tolik programů házím do jednoho pytle? Je to tím, že zapnutí či vypnutí Hyper-Threadingu zde nečiní žádný rozdíl. Výsledky jsou, až na chybu měření, identické. Je vidět, že klasické aplikace si dokáže operační systém "pohlídat" tak, aby včas uvolnil běžícímu programu všechny prostředky procesoru. Takže uvedu jen výsledky (HT off / on):
- 3D mark 2001: 13658 / 13676
- CPU mark 99: 199 / 199, souběžný chod dvou kopii: 100+139 / 127+126
- encoding do MP-3, Lame 3.91 (tento program není optimalizován pro SMP): 43 / 43 s
XMPEG - konverze MPEG-2 (DVD) do DivX 5.02
Tato oblast mě, a jistě nejenom mě, docela zajímá. Komprimoval jsem stejný záznam jako výše (tedy 8min.), na datový tok 1100kbps jednoprůchodovým způsobem.
bez HT
s HT
Ooops, to je příjemné překvapení! Nepodezíral bych totiž ani firmu DivXnetworks, ani autora XMPEG s jakéhokoliv nadržování Intelu.
Závěr
HT a budoucnost
Intel plánuje v budoucnu možnost rozšíření současné technologie HT tak, aby na nástupcích Pentia 4 (jádro Prescott) dokázala emulovat na jednom jádře až čtyři virtuální procesory. Zdá se tedy, že se bude jednat o trend, který bude sílit - což zase klade nároky na novou optimalizaci softwaru.
Mezi řádky můžeme tušit, že SMT (symmetric multiprocessing) má být prostředkem, jak se vyrovnat s případnou hrozbou ze strany 64-bit. procesorů od Hammer AMD - i když cesta k vyššímu výkonu je zcela jiná.
HT - optimální nasazení
Díky tomu, že v současné koncepci HT u Intelu dochází především ke sdílení jednotek FPU a ALU, zdá se, že právě multimediální programy (audio, video, encoding, rendering...) používající typicky obou jednotek, mohou z této technologie profitovat nejvíce. Podle mého názoru se nyní rozhodně nejedná o technologii vhodnou pro serverové nasazení. V praxi zde nejsou vlákna (thready), které by například požadovaly jednotku FPU. V budoucích verzích procesorů (s nárůstem jednotek ALU) se může optimální nasazení HT měnit směrem, k téměř dvouprocesorovým systémům.
Celkový dojem
Celkový dojem z HyperThreadingu je veskrze kladný. Pokud máte, či hodláte používat Windows XP, umožní Vám občas, pokud si s touto technologii budou rozumět běžící programy, profitovat z nárůstu výkonu v řádu až 30%. V opačném případě, pokud si programy s HT nerozumí, nebudou trpět žádnou výkonovou ztrátou. Existuje sice stále několik programů, které na strojích s HT odmítají běžet - musíme si však uvědomit, že to pouze otázkou určité přechodné doby. Po ni bude nekompatibilních programů ubývat, zatímco počet optimalizovaných bude narůstat. I když se jedná o první krůčky teto technologie ve spotřební oblasti rozhodli jsme se udělit Hyper-Threadingu (odvisle od současné prvotní implementace) ocenění Golden AWARD PCtuningu.
GOLDEN Award, Listopad 2002
"za Hyper-Threading, technologii umožňující efektivnější využití jádra procesoru"
Redakce si vyhrazuje právo odstranit neslušné a nevhodné příspěvky. Případné vyhrady na diskuze(zavináč)pctuning.cz
multiprocesing je lepší, problém u obyčejných aplikací je, že dvouprocesorových počítačů není tolik, aby to bylo pro jejich vývojáře jasnou konkurenční výhodou. HT ale snižuje nutnou laťku pro výkonný dvouprocesorový stroj, takže si to za chvíli bude moci dovolit každý. jasně teď je to obludně drahý, ale brzy nebude.
ja to pochopil tak, ze napis HT ma stejnou barvu jako graf ktery znazornuje. 53% taky nevidim (jen 51% v multimedia a 58% v FPU Whetstone iSSE2- oboje Sandra 2002) :-)
Připadá mi to, jakoby většina z vás odsuzovala dobrou technologii jenom proto ze je od Intelu. A Hammer od AMD nebude pro normalni lidi. Navic co se vam nelibi na Intelu, ze je drahy??? Ale no tak, alespon neni ve ztrate a nemusi propoustet zamestnance a nemusi prodavat za dumpingove ceny. Jo, AMD dela dobre CPU, ale je jim to houby platne kdyz ohlasi Athlona XP 2700+ a muzete si ho koupit tak maximalne v jednom obchode z deseti.
A HT je nahodou dost dobra technologie, vyrobci SW ji nemohou ignorovat, protoze Intel ovlada 80% trhu. (nepocitam notebooky).
Jen pro Athlony a Hammery (apod.) od AMD?
Jsi trapny. HT je uzitecna technologie, ktera bude za chvili urcena sirokym masam lidi. Nebo si snad myslis, ze neco co je od Intelu je spatne a proto si nezaslouzi dostat oceneni? Vzpamatuj se.
Snad na to přijdu. Příšzí týden kamarád sežene desku s i845PE chipsetem a tak to konečně skusim.
Pentium 4 bych z hlediska návrhu pipeline příliš nevychvaloval, nebýt výborné 0,13um technologie Intelu (a nepovedené 0,13um AMD), je dnes Northwood někde hluboko zapomenut, stejně jako Willamette.
Kdysi jsem k účelu detekce Hyper-Threading stvořil program. Odkaz na něj je v článku Dva v jednom - HyperThreading na Živě.