Intel Hyper Threading Technology (HT) - hit czy kit?
Intel Hyper Threading Technology (HT) - hit czy kit?
31.05.2006
dodaje obecnie do większości procesorów
Pentium 4 funkcję HyperThreading (hiperwątkowość). Powoduje ona,
że procesor jednordzeniowy jest widziany przez system jako jednostka z
podwójnym jądrem, a komputer staje się „wieloprocesorowy”. Technologia
ta sprawia, że CPU pracuje z dwoma niezależnymi wątkami na raz, a nie
jeden po drugim. Ma to znaczenie, jeśli obciążymy komputer wieloma
programami. Pomimo fizycznej obecności jednego rdzenia, rozkazy
rozdzielone są pomiędzy dwa wątki, co przyśpiesza ich wykonywanie przez
procesor.
Ale jak to się przekłada na rzeczywistość? Przedstawiamy Wam szczegółowy test w
CODZIENNYCH zastosowaniach! Co nam daje HT?
Spis treści:
Intel Hyper Threading Technology (HT) - hit czy kit?
Platforma testowa oraz ustawienia
Cały artykuł na jednej stronie
Na początek nieco teorii
Aby móc wykorzystać procesor z technologią Intel Hyper Threading konieczne jest posiadanie takich
oto elementów:
Płyta główna obsługująca HT (a właściwie chipset oraz BIOS)
System operacyjny z rodziny Windows NT (począwszy od wersji 2000)– najlepiej Windows
XP SP2 lub niemal wszystkie dystrybucje Unixa oraz Linuxa.
I oczywiście procesor z HT :)
W praktyce każda na dziś dzień sprzedawana nowa płyta główna obsługuje procesory Intel Pentium
4 HT. Należy jednak zwrócić szczególną uwagę na system operacyjny.
Intel Hyper Threading Technology (HT) - hit czy kit? - Procesor
Pentium 4 na LGA 775
Teoretycznie Hyper Threading był obsługiwany nawet przez Windows 2000 oraz Windows
XP (w pierwszych wersjach). Niestety było to realizowane bardzo kiepsko, przez co realny zysk
z HT był bardzo mały, żeby nie powiedzieć żaden. Podczas działania programu jednowątkowego,
system obciążał 100% jednego procesora logicznego na zmianę z drugim. Wyglądało to tak, jakby
aplikacja ciągle „przeskakiwała” z jednego CPU na drugi, co w efekcie prowadziło to spadku
wydajności. W poprawce Service Pack 1, jak twierdzi Microsoft, poczyniono w tym kierunku
odpowiednie modyfikacje, niestety tak naprawdę dopiero wersja druga (SP2) rzeczywiście
wykorzystuje technologię wielowątkowości w wydaniu Intela. Cały sterownik dla P4 HT został
napisany praktycznie od nowa, czego efektem jest dużo sprawniejsza praca systemu
wykorzystującego taki właśnie procesor. W opisanej wyżej sytuacji, procesor obciążony jest w
sposób jednolity – czyli albo jeden logiczny CPU na 100%, albo istnieje jakiś podział między CPU w
stosunku różnym niż 100% - 0%. Dzięki temu wydajność jest na odpowiednim poziomie i
jednocześnie system nie traci na wielowątkowości.
Intel Hyper Threading Technology (HT) - hit czy kit? - Domyślny tryb pracy -
pierwszy CPU obciążony jest na 30 - 40%, zaś drugi na 60 - 70%
Intel Hyper Threading Technology (HT) - hit czy kit? - A tutaj po wskazaniu, że
program ma działać tylko na jednym CPU
Dlatego też wszystkich posiadaczy tych jednostek gorąco zachęcamy do wyposażenia się w
najnowszą łatkę na system Windows XP, gdyż dopiero ona umożliwi pełne wykorzystanie możliwości
CPU.
Zamieszczone wyżej zrzuty ekranu z menadżera programów (Windows Task Manager) pokazują
obciążenie CPU podczas uruchomienia jednej wymagającej aplikacji, przy domyślnym ustawieniu
(rozdzielanie zadań między CPU), oraz po przydzieleniu całości wykonywanego kodu na jeden
logiczny procesor.
Jak działa Hyper Threading (HT)?
Tutaj niestety musimy się nieco wgłębić w budowę procesora.
CPU, trochę podobnie jak układy graficzne, posiada potoki wykonawcze. Pentium 4 ma ich 4, choć
zbieżność z nazwą jest tutaj przypadkowa :) Jak się okazuje, nie są one wykorzystywane w 100%,
co dla części z Was zaskoczeniem pewnie nie jest. Część jednostek wykonawczych w czasie pracy
po prostu leży odłogiem, ze względu na kod programu, który nie został dostosowany do tego
procesora. Sytuacja ta jest bardzo częsta, ze względu na to, iż większość programów pisanych jest
pod stare procesory klasy Pentium III a do tego najczęściej większość zadań wykonywane jest
jedno po drugim, czyli szeregowo, a nie równolegle, na co pozwalają dzisiejsze CPU. Innymi słowy,
gdy odpalamy typowy program, najprawdopodobniej wykorzystujemy nasz procesor w mniejszej
lub większej części, ale praktycznie nigdy nie w 100%. Do tego dochodzi jeszcze etapowość potoku
(w przypadku Pentium 4 Prescott wynosi to przynajmniej 31 faz). Sytuacja ta jest oczywiście
niekorzystna i producenci już dawno szukali rozwiązania tego problemu. Pomysł był prosty – między
instrukcje oraz dane jednego zadania należy „wpleść” drugą czynność, która będzie jakby
wypełnieniem wolnego „miejsca” (a właściwie czasu) procesora.
Oczywiście w praktyce wygląda to nieco inaczej. Już samo wprowadzenie instrukcji oraz danych
drugiego zadania do procesora powoduje spadek wydajności związany z wykorzystaniem szyny FSB
(pamięci) oraz zajęciem pewnego obszaru cache L2 oraz L1. I choćby z tego względu nie ma się co
spodziewać, że uruchomienie drugiego zadania nie będzie powodowało spadku szybkości
wykonywania pierwszego.
Zupełnie inną rzeczą są zabiegi, by dwa różne zadania nie odwoływały się w tym samym momencie
do tych samych części CPU. Mowa tutaj szczególnie o jednostce ALU. Akurat w przypadku P4
Prescott mamy dwa ALU, ale Northwood (wcześniejszy rdzeń wykorzystywany w Pentium 4)
posiadał tylko jedną. Ona bowiem wykonuje operacje matematyczne, a takimi w istocie są
wszystkie zadania.
Jak więc widać Hyper Threading nie jest darem z niebios, który nic nas nie kosztuje. Aby działał on
poprawnie potrzebne było kilka istotnych zmian w budowie samego CPU, jak i odpowiedniego
dostosowania działania systemu operacyjnego. Jakiego zatem możemy się spodziewać zysku
wydajności? Intel twierdzi, że przy zoptymalizowanych aplikacjach możemy liczyć na 40% wzrostu
szybkości wykonywania kodu, zaś w codziennych zadaniach wartość ta spada do około 10%. Jak
będzie w rzeczywistości? O tym przekonacie się w części testowej naszego artykułu.
Po więcej informacji na temat technologii Hyper Threading odsyłamy Was do
Nasz komputer składał się z takich oto elementów:
Procesor Intel Pentium 4 530J (3GHz)
Płyta Gigabyte GA-8I945P-G
Pamięć 512MB DDR2 Infineon
Zestaw pracował na domyślnych ustawieniach – nic nie było podkręcane. System operacyjny to
działający od 3 miesięcy Windows XP Home Edition Service Pack 2 PL, wersja 2002, kompilacja
5.1.2600 wraz z najnowszymi aktualizacjami.
Intel Hyper Threading Technology (HT) - hit czy kit? - Platforma
testowa
Intel Hyper Threading Technology (HT) - hit czy kit? - Platforma
testowa
Dlaczego nie był to świeży system?
Powód jest dość oczywisty. Nikt z nas nie używa systemu operacyjnego, który jest sterylnie czysty
(żadne oprogramowanie nie jest zainstalowane) i ma wyłączoną zdecydowaną większość usług.
Celem artykułu jest pokazanie ile skorzystamy posiadając procesor z HT w codziennej pracy na
komputerze. A wszyscy doskonale wiemy, że wraz z systemem startuje kilka aplikacji, a my
dodatkowo uruchamiamy takie rzeczy jak: komunikator, przeglądarka internetowa, program do
odtwarzania muzyki i wiele innych. Właśnie w takim środowisku zdecydowana większość z nas
pracuje. Takie też warunki odtworzyliśmy na potrzeby testu.
Zasady:
1. Test pierwszy to działające w tle skanowanie antywirusowe, pobieranie pliku z Internetu,
monitoring komputera dwoma programami oraz najważniejsze – gra Crashday.
2. Test drugi to podobnie jak wyżej, skanowanie antywirusowe, ściąganie pliku, monitoring z
automatyczną zmianą prędkości wiatraków oraz w tym wypadku gra Xpand Rally.
3. Numer 3 – to wyszukiwanie na dysku twardym pliku, podczas gdy procesor jest obciążony
skanowaniem przez program antywirusowy oraz antyszpiegowski.
4. W teście czwartym sprawdzane są możliwości multimedialne, a więc kodowanie krótkiego
filmu (rozmiar 24MB), kiedy w tle odtwarzane są film, muzyka, a także aktywny jest
komunikator
5. Test piąty to czas potrzebny na skopiowanie pliku 700MB, kiedy rdzeń CPU zajmuje się grą
internetową
6. Ostatni test to subiektywne odczucie autora tekstu – a więc jak oceniamy codzienną pracę
z włączoną i wyłączoną wielowątkowością.
Każdy test przeprowadzany był dwa razy, a w wypadku gier, aby zmierzyć powtarzalność
– trzy razy.
Celowo nie zostały przeprowadzone testy w benchmarkach syntetycznych – nie odwzorowują one
rzeczywistego obciążenia procesora przez programy działające w tle, które na co dzień mamy
aktywne w naszym komputerze. Sugerują one także, iż HT zamiast przyśpieszyć, spowalnia czasem
pracę komputera! Test ten ma pokazać prawdziwe walory użytkowe hiperwątkowości opracowanej
przez Intela, więc każdy etap jest przeprowadzony na nie sterylnym systemie.
TEST 1
Skanowanie antywirusowe, pobieranie pliku z Internetu, monitoring komputera dwoma programami
oraz gra Crashday.
Tutaj HyperThreading nie dał prawie nic – różnica w granicy błędu pomiarowego. Komfort grania
jest identyczny, brak freezów czy widocznych dla oka spowolnień.
TEST 2
Skanowanie antywirusowe, pobieranie pliku z Internetu, monitoring komputera dwoma programami
oraz gra Xpand Rally.
W tym wypadku różnica również jest niewielka – choć pomiędzy minimalnymi wartościami 30 i 39
fps oko widzi różnicę.
TEST 3
Wyszukiwanie na dysku twardym pliku, podczas gdy procesor jest obciążony skanowaniem przez
program antywirusowy oraz antyszpiegowski.
W tym wypadku odczujemy różnicę – funkcja wielowątkowości zrobiła swoje. 22 sekundy to w
końcu sporo czasu!
TEST 4
Kodowanie krótkiego filmu (rozmiar 24MB), kiedy w tle odtwarzane są film, muzyka, a także
aktywny jest komunikator.
W multimediach wielowątkowość jest ważna – komputer z włączonym HT nie tylko szybciej
skodował film, lecz również szybciej odtwarzał drugi – gdy wyłączymy HT filmu nie da się oglądać –
ciągłe zacięcia są niezwykle irytujące.
TEST 5
Kopiowanie pliku 700MB, kiedy rdzeń CPU zajmuje się grą internetową.
Tutaj z kolei różnica nie jest już tak zdecydowana jak w teście 3, jednak potwierdza się przewaga
technologii HyperThreading.
TEST 6
Subiektywne odczucie autora testu.
Korzystając na codzień z HyperThreadingu muszę przyznać, że pracuje się znacznie przyjemniej –
platforma „wieloprocesorowa” działa sprawniej i nie pozwala na chwilowe "zawieszenie się"
systemu przy dużym obciążeniu. Również system operacyjny uruchamia się szybciej przy
włączonym HT.
Nie trzeba chyba nikogo przekonywać, że opcja Intel HyperThreading Technology jest przydatna –
w każdym z testów procesor z aktywną funkcją HT jest szybszy niż bez niej. A różnice nie są małe.
Choć w grach sprawa jest nieco przereklamowana, to w multimediach czy innych codziennych
zadaniach komputera wielowątkowość sprawdza się. Oczywiście w innych codziennych zadaniach
HT też się przydaje. Nasz test jest jedynie małym wycinkiem zastosowań, w których Hyper
Threading daje realny zysk wydajności.
Dlatego każda osoba posiadająca procesor Pentium 4 HT lub lepszy, powinna aktywować tą
funkcję.
Intel Hyper Threading Technology (HT) - hit czy kit?
- HT to przydatna funkcja