przystajnik

TurboBoost – garść MHz więcej

Nie każdy nieobeznany z techniką użytkownik komputera może być świadom istnienia technologi Turbo Boost wdrażanej w procesorach Intela I5 oraz I7 (choć istnieje też chyba tylko jeden model I3). Turbo Boost to najprościej rzecz ujmując, chwilowe przetaktowanie rdzeni procesora w momentach maksymalnego obciążenia. Taki overclocking dla niezaangażowanych. Procesory produkowane przez Intela i testowane pod kątem takiego turbo, posiadając nominalną prędkość taktowania np. 2.8 GHz, w stresie wspinają się na wyżyny 3.3 GHz. I dzieje się to bez wiedzy użytkownika, bo do uruchomienia tej technologii nie trzeba żadnych fachowych zabiegów. A jak w przypadku Linuksa?

Tak samo. Turbo Boost Technology to właściwość która powinna zostać włączona z poziomu BIOSa i jeżeli posiadamy kernel od 2.6.30 wzwyż, Turbo Boost ma prawo działać. Jedyne na czym możemy się skupić, to sprawdzenie, czy faktycznie działa.

Dlatego na samym początku resetujemy komputer, udajemy się w ustawienia BIOSa i sprawdzamy, która opcja odpowiada za włączenie trybu turbo w procesorze. Może do tego być przydatna instrukcja obsługi, bo w różnych BIOSach i u różnych producentów, różną można spotkać nomenklaturę. Generalnie, najczęściej sprowadza się to do aktywowania gdzieś w zakładce z ustawieniami procesora opcji Intel Speedstep i Intel TurboBoost. Należy się też upewnić, że nie posiadamy w BIOSie jakichś specyficznych funkcji oszczędzania energii lub wyciszania wentylatora, które mogą prowadzić do przekłamań w funkcjonowaniu trybu Turbo (?).

Jeżeli aktywowaliśmy SpeedStep i TurboBoost, pozostaje sprawdzić w systemie, czy faktycznie to działa. Niestety nie sprawdzimy tego typowymi monitora aktualnej częstotliwości procesora, gdyż te pobierają informacje z /proc/cpuinfo, które jest nieczułe na intelowskie tricki. Musimy zatem wspomóc się narzędziami firmowanymi przez Intela, np. PowerTop oraz Turbostat. PowerTop odnajdziemy w repozytoriach, Turbostat jest częścią paczek linux-tools-common oraz linux-tools-numer_kernela – wystarczy w menadżerze wyszukać nazw. Są też inne projekty, np. i7z, do samodzielnej kompilacji.

Skupmy się na TurboStat – po uruchomieniu programu w konsoli otrzymamy komunikat… że konieczna jest obecność modułu msr. Pozostaje go załadować i ponownie uruchomić Turbostat z prawami roota. Po tym zabiegu będziemy otrzymywali statystyki aktualnego obciążanie i taktowania każdego z rdzeni naszego procesora. Dodatkowo, jeżeli uruchomimy program z parametrem -v, otrzymamy sugestie, jakich wyników maksymalnych możemy się spodziewać.


$# sudo modprobe msr
$# sudo turbostat -v
GenuineIntel 11 CPUID levels; family:model:stepping 0x6:1e:5 (6:30:5)
9 * 133 = 1200 MHz max efficiency
21 * 133 = 2800 MHz TSC frequency
22 * 133 = 2933 MHz max turbo 4 active cores
22 * 133 = 2933 MHz max turbo 3 active cores
25 * 133 = 3333 MHz max turbo 2 active cores
25 * 133 = 3333 MHz max turbo 1 active cores
(...)

Jak widać, mój wysłużony Intel I5 760 nominalnie pracuje z taktowaniem 2.8GHz, które w trybie turbo wzrasta do 3.3GHz dla dwóch rdzeni lub 2.93GHz, gdy maksymalnie zostaną obciążone wszystkie rdzenie. Jak to wygląda w praktyce?

Bez TurboBoost:

cor CPU    %c0  GHz  TSC    %c1    %c3    %c6   %pc3   %pc6
         86.87 2.80 2.81   2.23   8.35   2.55   0.00   0.00
  0   0  86.51 2.80 2.81   1.33   9.29   2.87   0.00   0.00
  1   1  87.22 2.80 2.81   2.96   6.57   3.26   0.00   0.00
  2   2  86.59 2.80 2.81   1.86   8.74   2.80   0.00   0.00
  3   3  87.15 2.80 2.81   2.78   8.81   1.26   0.00   0.00

Z TurboBoost:

cor CPU    %c0  GHz  TSC    %c1    %c3    %c6   %pc3   %pc6
         88.76 2.95 2.81   1.89   7.38   1.97   0.00   0.00
  0   0  89.60 2.96 2.81   1.44   7.11   1.85   0.00   0.00
  1   1  87.05 2.95 2.81   1.74   7.50   3.70   0.00   0.00
  2   2  88.92 2.96 2.81   2.93   7.43   0.72   0.00   0.00
  3   3  89.48 2.96 2.81   1.44   7.48   1.59   0.00   0.00

Patrząc na kolumnę GHz zauważamy, że faktycznie – pod obciążeniem (gwałtowne machanie suwakiem poziomów w Darktable), z włączonym TurboBoost, rdzenie procesora rozgrzewają się do 2.96GHz, podczas gdy normalnie osiągnęlibyśmy tylko 2.80GHz. Innymi słowy – warto się upewnić, że mamy włączone co należy w BIOSie.
 

Post navigation

2 comments for “TurboBoost – garść MHz więcej

  1. cr
    12 października, 2012 at 14:07

    A mój na przykład ma rozpiętość 1600MHz do 4500MHz. Przy typowej pracy chodzi sobie cichutko na 1,6GHz, skacząc czasem wyżej np. do ~2,8GHz lub 3GHz z hakiem. A przy pełnym obciążeniu jedzie na 4,5GHz. Żre przy tym prąd jak smok, ale coś za coś 🙂

  2. łukasz
    7 lutego, 2014 at 10:41

    Zauważyłem, że turbostat wywołuje dwa procesy init i yes które żrą sporo procesora. Za każdym razem trzeba ustrojstwa zabijać killem spod roota. Czy to jakis bug?

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Translate »