Na navigaci | Klávesové zkratky

Konečně pravda o Hyper-Threadingu

Pentium 4 HT Intel doporučuje uživatelům vypnout Hyper-Threading, prohlašuje Otakar Schön ze Žive poté, co objevil rok a půl starý dokument na webu společnosti Intel. Neuvádí sice důvod, kvůli kterému bych si měl odskočit do BIOSu zablokovat druhý procesor a snížit tak výkon svého stroje, na důrazu článku to však neubírá.

Samozřejmě nehodlám reagovat na každý nesmysl, který se na Živě objeví. Na to nemám ani prostor, ani čas. Ohlas píši kvůli Jiřímu Macichovi a dalším čtenářům, kteří o koupi procesoru s HT uvažují a článek na Živě je může zbytečně mást.

Podpora vs. nepodpora

Tak tedy, existují operační systémy s podporou HT (např. Windows XP nebo 2003) a bez ní (např. Windows 2000). Co to ale znamená, že systém HT nepodporuje? Takový systém si prostě myslí, že máte v počítači dva fyzické procesory.

Pokud systém umí využít více fyzických procesorů, bude používat i ten virtuální HT. Tedy ve Windows 2000 o navýšení výkonu rozhodně nepřijdete, žádné komplikace nebo nestabilita systému nehrozí.

Problémy s HT

Veškeré problémy a omezení, se kterými se můžete setkat, se týkají jen počítačů s více HT procesory. Tedy pro běžného uživatele jsou nepodstatné. Jeden problém je technického rázu (podrobněji níže) a řeší se updatem nebo úpravou nastavení BIOSu počítače, druhý problém je čistě marketingový. Týká se skutečnosti, že Windows podporují tolik procesorů, kolik dovoluje licence. Tedy žádné technické omezení, jen je třeba připlatit.

Operační systém s podporou HT nezapočítává virtuální procesory do celkového součtu procesorů v systému, zatímco systémy s podporou je započítávají. Tedy Windows 2000 běžící na mašině s deseti procesory HT je třeba licencovat na 20 procesorů, zatímco Windows XP stačí na deset. Už chápete, proč Microsoft neuvažuje o „podpoře“ HT u Windows 2000? Prostě proto, že by na tom prodělal. A šíření dezinformací o „nepodpoře“ tlačí uživatele do zbytečných upgradů operačních systémů.

Aktualizace: A ještě ke zmiňovanému technickému problému. Představte si počítač s více HT procesory (např. 2) a s Windows 2000, které HT „nepodporují“, vidí tedy čtyři procesory. Využít umí však jen dva. Problém nastane, pokud se rozhodnou používat právě takové dva, jenž jsou ve skutečnosti jen jeden fyzický. Druhý fyzický zůstane nevyužit a systém bude mít s HT poloviční výkon, než bez HT.

Podpora HT v OS také znamená lepší plánování úloh (píše o tom MaD). Reálný dopad je však těžko měřitelný.

V následující tabulce vidíte, kolik HT procesorů standardně Windows podporují.

  Fyzických Virtuálních
Windows 2000 Professional 1 (2 bez HT) 2
Windows XP Home Edition 1 2
Windows XP Professional 2 4
Windows Server 2003, Standard Edition 4 8

Podrobnější informace najdete v dokumentu Windows Support for Hyper-Threading Technology.

Komentáře

  1. Jiří Macich ml. http://blog.macich.net #1

    avatar

    Tak jsem ti zalinkoval. O těch 2k jsem to netušíl, ale ani jsem se o to moc nezajímal. Naposledy mě zajímalo, jak to je s XP Home.

    před 12 lety
  2. noname #2

    avatar

    mimochodem počet licencovaných procesorů se dá zvýšit v registrech HKEY_LOCAL_MACHINE – SYSTEM – ControlSet001 – ControlSession – Manager/LicensedProcessors
    jen by mě zajímalo, jestli je úprava registru porušením autorského zákona a tedy znelegálnění si windows – podle mého skromného právnického vzdělání o tom pochybuji.

    před 12 lety
  3. MaD #3

    Komentář mi trochu přerost přes hlavu, takže je zde.

    před 12 lety
  4. Petr http://webcofunguje.com/ #4

    díky za tabulku podpory HT.. jen nevím proč to někdo vlastně řeší, desktop stanici s 2 a více procesory jsem už neviděl delší dobu (při dnešních výkonech a podpoře SMP u programů se není co divit) a na server si Windows dávají jen masochisti :) No flame plz

    před 12 lety | reagoval [6] Fireball
  5. Fireball #5

    avatar

    Příteli, v BIOSNEVYPÍNÁŠ jakýsi DRUHÝ procesor, máš pořád jenom jeden, jenom likviduješ nepotřebnou funkci hardwarového multitaskingu.
    U počítačů, u nichž je preferován pouze běh jedné aplikace na popředí (grafika, vývojová prostředí, príce se zvukem apod.) je DĚLENÍ VÝKONU NAPŮL jakýmsi interním „administrativním“ opatřením naprosto kontraproduktivní. HT nelze zaměňovat s technologií DVOU CPU…

    Příště raději doporučuji nereagovat vůbec (když, na to nemáš, jak píšeš, čas – a teké to je vidět, chybí ti praxe) protože jsi poněkud vedle

    před 12 lety | reagoval [7] David Grudl
  6. Fireball #6

    avatar

    #4 Petře, Sice ano, ale s děleným výkonem původního CPU mezi „dva“ dceřinné a ne, jak si to myslíš ty, že koupením jednoho 3,2GHz HT procesoru ziskáš vlastně DVA 3,2GHz pocesory bez HT.....

    před 12 lety
  7. David Grudl http://davidgrudl.com #7

    avatar

    #5 Fireballe, z kontextu je zřejmé, že mluvím o virtuálním procesoru.

    HT může zvýšit výkon stroje, může snížit. Ale je nesmysl jej vypínat jen kvůli dezinformacím o nepodpoře v jiných Windows než XP.

    před 12 lety

Tento článek byl uzavřen. Už není možné k němu přidávat komentáře.