Wirtualne rdzenie w zastosowaniach domowych i profesjonalnych2011-11-07 16:40:00 | Łukasz Sierant (sido107)
Intel od 2002 roku oferuje procesory wykorzystujące technologię Hyper-Threading, która służy zwiększeniu wydajności poprzez przypisanie dla jednego fizycznego rdzenia dwa "wirtualne". Postanowiliśmy sprawdzić, jak dodatkowe wątki radzą sobie zarówno w zastosowaniach domowych jak i profesjonalnych.
Teoria
Technologia Hyper-Threading stosowana jest w procesorach Intel Atom, Core i3, Core i5, Core i7, Itanium, Xeon oraz Pentium 4. Jej zadaniem jest zwiększenie wydajności obliczeń prowadzonych równolegle.
Technologia HT sprawia, że jeden fizyczny rdzeń pojawia się w systemie jako dwa logiczne procesory (zwane dalej też wątkami), przykładowo dla czterordzeniowego Core i7 870 w Menedżerze zadań widzimy osiem niezależnych rdzeni. Zasoby fizyczne są wspólne, a stan architektury jest powielany dla dwóch procesorów logicznych. Oznacza to, że system operacyjny lub użytkownik może zaplanować tyle wątków czy procesów dla procesorów logicznych, jak dla wielu rdzeni fizycznych.
Aby w pełni wykorzystać Hyper-Threading należy używać programów, które potrafią dzielić zadania na wiele wątków. Musimy pamiętać, że aplikacje, które nie są zoptymalizowane pod HT (np. korzystają tylko z jednego wątku) mogą być przez tę technologię spowalniane, w takim przypadku Intel zaleca wyłączenie HT, dokonać tego można w BIOS-ie płyty głównej.
Platforma testowa
Metodyka testów
Zdecydowaliśmy się podejść trochę inaczej do tematu niż do tej pory. W głównej mierze skupiliśmy się na testach rzeczywistych takich jak edycja i konwersja materiału wideo, rendering (generowanie sceny z wcześniej utworzonego modelu lub modeli za pomocą programu jak np. POV-Ray), gry oraz wiele innych. W kontekście gier także zastosowaliśmy odmienne procedury, szukaliśmy takich miejsc, w których płynność animacji jest bardziej zależna od procesora. Podczas testów tryb Turbo został wyłączony.
Korzystaliśmy tylko z najnowszych stabilnych wersji oprogramowania, jeżeli była taka możliwość wersji 64-bitowych. W testach zawarliśmy programy zarówno jednowątkowe, jak i takie, które potrafią rozdzielić zadania na wiele wątków. Podczas testów w tle działało takie oprogramowanie, jak: Kaspersky Internet Security 2011, SpeedFan 4.41 oraz MSI AfterBurner v2.1.0.
Testy
Benchmarki
W SiSoft Sandra dobrze widać przewagę procesorów z włączonym HT. Core i7 870 z wyłączonym HT musiał pracować z częstotliwością 4 GHz by zbliżyć się do wydajności ośmiu wątków taktowanych na poziomie 3,2 GHz.
WinRAR jest jedną z niewielu aplikacji, w której "wirtualne rdzenie" powodują spowalnianie działania programu. Inaczej ma się sprawa w 7-Zip, gdzie Hyper-Threading pozwala na zwiększenie wydajności o ponad 40%!
Testy rzeczywiste
Test w programie Paint.NET polegał na zastosowaniu efektu "unfocus" na zdjęciu o rozdzielczości 4648x2736 pikseli. Czas podany jest w sekundach.
Light Image Resizer 4 miał za zadanie zmianę rozdzielczości oraz naniesienie znaku wodnego na grupie 64 zdjęć.
Paint.NET jest rewelacyjnie zoptymalizowany do technologii Intela, wzrost wydajności wynosi aż 50%! W Light Image Resizer obserwujemy tendencję odwrotną, HT działa na niekorzyść aplikacji.
Any Video Converter 2.75 wykorzystany został do konwersji materiału wideo w formacie *.mp4 na *.avi. Program korzystał tylko z jednego rdzenia.
W Pinnacle Studio HD 15.0 zmontowane zostało kilkuminutowe wideo, gdzie pliki źródłowe były w formacie *.mov (1920x1080 px), a projekt został zapisany na dysk w formacie AVCHD (1920x1080 25 FPS).
Do utworzenia plików wyjściowych w Nero Vision oraz Unlead Studio 11 Plus (1080i *.mpg) zostały wykorzystane pliki wideo w formacie *.avi.
Unlead Studio 11 Plus jest kolejnym programem, któremu HT wyraźnie przeszkadza. Nero Vision potrafi wykorzystać dodatkowe wątki, ale tylko w niewielkim stopniu. Natomiast program od Pinnacle potrafi zwiększyć wydajność do 36% obciążając przy tym wszystkie wątki w 100%.
W Cinebench R11.5 (test CPU) po raz kolejny osiem wątków pracujących z częstotliwością 3,2 GHz (i7 870) było nieznacznie wydajniejsze od czterech fizycznych rdzeni "tykających" na 4 GHz! POV-Ray pozostaje niewzruszony, natomiast Maxell Render przyspiesza o 21%.
Poniższy wykres podsumowuje przeprowadzone testy, jak widać w większości przypadków Hyper-Threading powoduje wzrost wydajności do 50%, choć nie zawsze jest tak kolorowo.
Gry
Jak już wcześniej wspomniałem, gry testowaliśmy w lokalizacjach, gdzie procesor jest obciążony w większym stopniu. Z tego powodu wyniki mogą być trochę zaniżone względem tych uzyskanych w testach kart graficznych.
Sprawdźmy więc jak gry wykorzystują "wirtualne rdzenie".
Żadna z testowanych gier nie potrafiła wykorzystać więcej niż 4 wątków. W większości przypadków poza minimalnym FPS nawet wyższe taktowanie i7 870 nie robiło różnicy. Tylko Lost Planet 2 i Crysis 2 potrafiły zrobić użytek z dodatkowej mocy w Core i3 550, gdzie można zanotować wzrost minimalnej płynności animacji od 3,5 do 4 kl./sek. Zdarzyła się także sytuacja, gdzie włączone HT miało negatywny wpływ na płynność rozgrywki (Shift 2, Crysis 2 czy Dirt 3).
Koligacja
Zacznę od wytłumaczenia terminu "koligacja procesorów" - każdy proces znajdujący się w kolejce posiada identyfikator oznaczający preferowany procesor (każdy rdzeń/wątek w Menedżerze jest oznaczony jako osobny procesor). Upraszczając, koligacja to zmiana przypisanego rdzenia lub procesora dla konkretnego procesu lub wątku, czyli z poziomu Menedżera zadań Windows możemy sami przypisać dla wybranej aplikacji dany rdzeń, a nawet kilka rdzeni.
W taki właśnie sposób sprawdziliśmy wydajność każdego procesora logicznego, w tym celu wykorzystaliśmy kilka aplikacji oraz jedną grę.
Można łatwo zauważyć, iż wydajność poszczególnych rdzeni jest bardzo porównywalna, a w niektórych przypadkach wręcz jednakowa. Wyjątek może stanowić "Procesor 0", na którym ciążą inne procesy np. systemowe.
Koligacja w Dirt 3 polegała na przypisaniu naprzemian rdzeni parzystych i rdzeni nieparzystych, dodatkowo na wykresie znalazły się wyniki rdzeni 0,1,2,3 dla i3 550. Jak widać większych różnic nie ma, 1 kl./sek. możemy uznać jako błąd pomiarowy.
Temperatury oraz pobór mocy
Pomiary temperatur oraz poboru energii dokonywane były podczas realnego obciążenia w czasie renderingu materiału wideo w Pinnacle Studio HD 15.0. Pomiar wykonano kilkukrotnie, a wyniki zostały uśrednione.
Włączenie "wirtualnych rdzeni" w przypadku i3 550 powoduje zwiększenie temperatury procesora o 7 stopni Celsjusza, natomiast w przypadku i7 870 obserwujemy wzrost wydzielanego ciepła o 15 stopni Celsjusza. Przy temperaturach blisko 80 stopni Celsjusza potrzebne jest naprawdę solidne chłodzenie powietrzne lub wodne, nie polecamy "katowania" procesora tak wysokimi temperaturami na co dzień.
Pobór prądu mierzył watomierz sieciowy Voltcraft Energy Logger 4000F.
Dla obu procesorów pobierana moc w stanie spoczynku była taka sama bez względu czy HT było włączone czy też nie. Pod obciążeniem natomiast zauważalny jest znaczny wzrost ilości pobieranej energii. W przypadku Core i7 zapotrzebowanie wzrasta aż o 98 W! To jest naprawdę bardzo dużo.
...licence to Overclock!
Przyszła pora na podkręcanie, za cel obraliśmy sprawdzenie wpływu technologii HT na możliwości OC.
Wszystkie procesory pracowały na napięciu 1,408 V, Turbo wyłączone. Stabilność sprawdzał Prime95 obciążając wszystkie dostępne wątki.
Testy dowodzą, iż HT ma negatywny wpływ na OC. W przypadku testowanego i7 różnica wynosi 40 MHz, największa różnica widoczna jest na i3 550 - 83 MHz. Najlepiej podkręcał się najsłabszy i3 530, gdzie najwyższa stabilna częstotliwość pracy procesora przy wyłączonym HT wyniosła 4576 MHz (przy Vcore=1,408 V), czyli tylko 22 MHz więcej niż z włączonymi "wirtualnymi rdzeniami". Nasuwa się wniosek, że do codziennego OC nie warto wyłączać HT, ponieważ wyższą wydajność uzyskamy z większej liczby niżej taktowanych rdzeni.
Jeżeli myślimy o biciu rekordów zaleca się wyłączenie HT. Przy bardzo mocnym OC mamy trochę inne priorytety. Wtedy liczą się wyniki i możliwość zapisania zrzutu ekranu by się pochwalić w sieci (HWbot.org, BenchIT.pl czy BurnPC.pl).
Jak widać, przy odpowiednim napięciu zasilającym rdzeń procesora, można osiągnąć ciekawe wyniki - 4,840 GHz dla i3 530 oraz 4,409 GHz dla i7 870 na chłodzeniu powietrznym. Takie taktowania były możliwe tylko przy aktywnych dwóch rdzeniach i wyłączonym HT (pola zaznaczone na czerwono) oraz bardzo wysokim napięciu rzędu 1,488 V.
Temperatura/pobierana moc
Na poniższym wykresie można zobaczyć jak ma się temperatura procesora do pobieranej energii przy maksymalnym stabilnym OC .
Kolejny wykres, który potwierdza, że Hyper-Threading ma duży wpływ na wzrost apetytu na prąd, a co za tym idzie także na temperaturę.
Blisko 450 W przy obciążeniu samego procesora pozostawiam bez komentarza :-) Pamiętajmy jednak o tym, że w testowanej platformie pracowały również inne podzespoły (m.in. karta graficzna, dysk twardy).
Podsumowanie
Przeprowadzone przez nas testy pokazują, że warto zainteresować się procesorami Intela z zaimplementowaną technologią Hyper-Threading. Wydajność w niektórych programach może wzrosnąć od kilku do kilkudziesięciu procent. Jednak nie wszystkie programy są zoptymalizowane do pracy z włączonym HT, w takim przypadku może powodować ono spadek wydajności.
Jeżeli planujemy zwiększyć domyślne taktowanie procesora, możemy robić to bez wyłączania HT. Kilkadziesiąt Megaherców nie robi dużej różnicy, a większa liczba wątków zapewni nam lepszą wydajność. Musimy jednak pamiętać, że włączenie Hyper-Threading powoduje ogromny skok poboru mocy i temperatur pod obciążeniem (szczególnie procesory Core i7), więc jeżeli planujecie wysokie OC zalecamy zaopatrzyć się w mocny markowy zasilacz (min. 500 W) i solidne chłodzenie. W przeciwnym przypadku napotkacie problemy z niestabilnością platformy. Wyłączenie HT obniży temperatury, jednak łączy się to ze spadkiem wydajności.
"Wirtualne rdzenie" znakomicie spisują się nie tylko w najwydajniejszych procesorach Intel Core i7, ale także w Core i3, gdzie zysk niejednokrotnie był wyższy niż na i7 870. Hyper-Threading rewelacyjnie spisuje się w renderingu, edycji/konwersji wideo oraz grach, lecz musimy korzystać z aplikacji zoptymalizowanych do pracy z procesorami Intel wykorzystujących technologię HT.
Podziękowania dla firmy Intel za udostępnienie procesorów do testów.