
Wraz z pojawieniem się procesorów Intel Core siódmej generacji wiele osób zaczęło dostrzegać, że strategia „Tick-Tock”, której Intel trzymał się przez cały ten czas, zawiodła. Obietnica zmniejszenia procesu technologicznego z 14 do 10 nm pozostała niespełniona, rozpoczęła się długa epoka „Tock” Skylake, podczas której pojawił się Kaby Lake (siódma generacja), niespodziewany Coffee Lake (ósma) z niewielką zmianą procesu technologicznego z 14 nm na 14 nm+ i nawet Coffee Lake Refresh (dziewiąta). Wygląda na to, że Intel naprawdę potrzebował krótkiej przerwy na kawę. W rezultacie mamy kilka procesorów różnych generacji, które oparte są na tej samej mikroarchitekturze Skylake z jednej strony. I zapewnienia Intela, że każdy nowy procesor jest lepszy od poprzedniego, z drugiej. Prawda, nie bardzo wiadomo, czym dokładnie…

Wracając do naszych generacji, przyjrzyjmy się, czym się różnią.
Kaby Lake
Pojawienie się procesorów w sprzedaży miało miejsce na początku 2017 roku. Co nowego w tym rodzie w porównaniu do jego poprzednika? Przede wszystkim nowe rdzenie graficzne — Intel UHD 630. Plus wsparcie dla technologii pamięci Intel Optane (3D Xpoint), a także nowy chipset z serii 200 (6-ta generacja współpracowała z serią 100). I na tym, jeśli chodzi o naprawdę interesujące nowości, kończy się.
Coffee Lake
Ósma generacja o kodowej nazwie Coffee Lake została wydana pod koniec 2017 roku. W procesorach tej generacji dodano rdzenie i proporcjonalnie pamięci podręcznej trzeciego poziomu, podniesiono Turbo Boost o 200 MHz, dodano wsparcie dla DDR4-2666 (wcześniej było DDR4-2400), ale zrezygnowano z wsparcia dla DDR3. Rdzeń graficzny pozostał ten sam, ale zwiększono jego częstotliwość o 50 MHz. Za wszelkie podwyższenia częstotliwości przyszło zapłacić zwiększeniem TDP do 95 watów. No i oczywiście nowy chipset serii 300. To ostatnie nie było konieczne, ponieważ specjaliści szybko zdołali uruchomić ten ród na chipsetach serii 100, chociaż przedstawiciele Intela twierdzili, że to niemożliwe z powodu specyficznej budowy obwodów zasilania. Później jednak Intel oficjalnie przyznał, że się mylił. Co nowego w 8-mym pokoleniu? W rzeczywistości bardziej przypomina to zwykły refresh z dodaniem rdzeni i częstotliwości.
Coffee Lake Refresh
Ha! I oto mamy refresh! W czwartym kwartale 2018 roku wydane zostały procesory Coffee Lake dziewiątej generacji, wyposażone w zabezpieczenia przed niektórymi podatnościami Meltdown/Spectre. Zmiany sprzętowe w nowych chipach chronią przed Meltdown V3 i L1 Terminal Fault (L1TF Foreshadow). Zmiany w oprogramowaniu i mikrokodzie chronią przed atakami Spectre V2, Meltdown V3a i V4. Ochrona przed Spectre V1 będzie wciąż realizowana za pomocą poprawek na poziomie systemu operacyjnego. Pojawienie się poprawek na poziomie rdzenia powinno zmniejszyć wpływ poprawek programowych na wydajność procesorów. Jednakże całą tę radość z zabezpieczeń Intel zrealizował tylko w procesorach dla masowego segmentu rynku: i5-9600k, i7-9700k, i9-9900k. Wszystkim innym, w tym rozwiązaniom serwerowym, nie przydzielono zabezpieczeń sprzętowych. Po raz pierwszy w historii procesorów konsumenckich Intel, procesory Coffee Lake Refresh obsługują do 128 GB pamięci RAM. I to wszystko, więcej żadnych zmian.
Co mamy w końcowym rozrachunku? Dwa lata refreshów, zabawy z rdzeniami i częstotliwościami, plus zestaw drobnych ulepszeń. Bardzo chciałem obiektywnie ocenić i porównać wydajność głównych przedstawicieli tych rodzin. Dlatego kiedy miałem pod ręką zestaw od siódmej do dziewiątej generacji — do naszych i7-7700 i i7-7700k niedawno dołączyły świeże i7-8700, i7-9700k i i9-9900k, wykorzystałem sytuację i zmusiłem pięć różnych procesorów Intel Core do pokazania, na co je stać.
Testowanie
W testach bierze udział pięć procesorów Intel: i7-7700, i7-7700k, i7-8700, i7-9700k, i9-9900k.

Taktno-techniczne parametry platformy
Procesory Intel i7-8700, i7-9700k i i9-9900k mają tę samą podstawową konfigurację:
- Płyta główna: Asus PRIME H310T (BIOS 1405),
- Pamięć RAM: 16 GB DDR4-2400 MT/s Kingston 2 sztuki, łącznie 32 GB.
- Dysk SSD: 240 GB Patriot Burst 2 sztuki w RAID 1 (przyzwyczajenie wyrobione przez lata).
Procesory Intel i7-7700 i i7-7700k również działają na tej samej platformie:
- Płyta główna: Asus H110T (BIOS 3805),
- Pamięć RAM: 8 GB DDR4-2400MT/s Kingston 2 sztuki, łącznie 16 GB.
- Dysk SSD: 240 GB Patriot Burst 2 sztuki w RAID 1.
Używamy zamówionych obudów o wysokości 1,5 jednostki. W nich umieszczone są cztery platformy.
Część programowa: OS CentOS Linux 7 x86_64 (7.6.1810).
Jądro: 3.10.0-957.1.3.el7.x86_64
Wprowadzone optymalizacje względem standardowej instalacji: dodano opcje startowe jądra elevator=noop selinux=0.
Testy są przeprowadzane z wszystkimi łatającymi ataki Spectre, Meltdown i Foreshadow, wprowadzonymi do tego jądra. Nie ma wykluczone, że wyniki testów na nowszych i aktualnych jądrach Linux mogą różnić się od otrzymanych, a wyniki będą lepsze. Ale, po pierwsze, osobiście bardziej lubię CentOS 7, a po drugie, RedHat aktywnie zajmuje się wprowadzaniem nowości związanych z obsługą sprzętu z nowych jąder do swojego LTS. Na to właśnie liczę 🙂
Testy używane w badaniach
- Sysbench
- Geekbench
- Phoronix Test Suite
Test Sysbench
Sysbench to pakiet testów (lub benchmarków) oceniających wydajność różnych podsystemów komputera: procesor, pamięć operacyjna, nośniki danych. Test jest wielowątkowy, na wszystkie rdzenie. W tym teście zmierzyłem dwa wskaźniki:
- Prędkość CPU operacji na sekundę — liczba operacji wykonywanych przez procesor na sekundę: im wyższa wartość, tym wydajniejszy system.
- Ogólne statystyki całkowita liczba zdarzeń — całkowita liczba wykonanych zdarzeń. Im wyższy wskaźnik, tym lepiej.
Test Geekbench
Pakiet testów przeprowadzanych w trybie jednolitym i równoległym. W rezultacie wydawany jest pewien indeks wydajności dla obu trybów. Poniżej znajdują się linki do wyników testów. W tym teście omówimy dwa główne wskaźniki:
— Wynik jednego rdzenia — testy jednowątkowe.
— Wynik wielu rdzeni — testy wielowątkowe.
Jednostki miary: abstrakcyjne „papugi”. Im więcej „papug”, tym lepiej.
Test Phoronix Test Suite
Phoronix Test Suite to bardzo bogaty zestaw testów. Mimo że przeprowadzono wszystkie testy z pakietu pts/cpu, przedstawię wyniki tylko tych, które osobiście uznałem za szczególnie interesujące, tym bardziej, że wyniki testów, które pominąłem, tylko potwierdzają ogólną tendencję.
Prawie wszystkie przedstawione tutaj testy są wielowątkowe. Wyjątkiem są tylko dwa z nich: testy jednowątkowe Himeno i LAME MP3 Encoding.
W tych testach im wyższy wskaźnik, tym lepiej
- Wielowątkowy test John the Ripper do łamania haseł. Weźmiemy algorytm kryptograficzny Blowfish. Mierzy liczbę operacji na sekundę.
- Test Himeno — liniowy solver ciśnienia Poissona, wykorzystujący metodę punktową Jakobi.
- Kompresja 7-Zip — test 7-Zip z użyciem p7zip z zintegrowaną funkcją testowania wydajności.
- OpenSSL to zestaw narzędzi realizujących protokoły SSL (Secure Sockets Layer) i TLS (Transport Layer Security). Mierzy wydajność RSA 4096-bit OpenSSL.
- Apache Benchmark to test mierzący, ile zapytań na sekundę może znieść dany system przy wykonaniu 1 000 000 zapytań, z jednoczesnym wykonaniem 100 zapytań.
Im mniej, tym lepiej.
- C-Ray testuje wydajność CPU w obliczeniach z liczbami zmiennoprzecinkowymi. Test jest wielowątkowy (16 wątków na rdzeń), strzela 8 promieni z każdego piksela w celu wygładzania i generuje obraz 1600×1200. Mierzy czas wykonania testu.
- Parallel BZIP2 Compression to test mierzący czas potrzebny na skompresowanie pliku (pakiet .tar z kodem źródłowym jądra Linux) przy użyciu kompresji BZIP2.
- Kodowanie dźwięku i wideo. Test LAME MP3 Encoding wykonywany jest w jednym wątku, a test ffmpeg x264 to test wielowątkowy. Mierzy czas trwania testu.
Jak widać, zestaw testów składa się wyłącznie z testów syntetycznych, które mają na celu pokazanie różnic między procesorami przy wykonywaniu określonych zadań, takich jak łamanie haseł, kodowanie treści multimedialnych czy kryptografia.
Test syntetyczny, w przeciwieństwie do testu przeprowadzanego w warunkach zbliżonych do rzeczywistości, może zapewnić pewną czystość eksperymentu. Dlatego właśnie padł wybór na syntetykę.
Nie wykluczone, że w przypadku rozwiązywania szczególnych zadań w warunkach bojowych można uzyskać niezwykle interesujące i nieoczekiwane wyniki, jednak 'ogólna temperatura w szpitalu' będzie maksymalnie zbliżona do tego, co uzyskałem w wynikach testów. Nie można także wykluczyć, że przy wyłączeniu ochrony przed Spectre/Meltdown podczas testowania procesorów dziewiątej generacji, mógłbym uzyskać wyższe wyniki. Ale, wyprzedzając fakty, powiem — one już teraz wypadły znakomicie.
Spoiler: rządzić będą rdzenie, wątki i częstotliwości.
Już przed testowaniem dokładnie zapoznałem się z architekturą rodzin tych procesorów, dlatego spodziewałem się, że nie będzie znacznych różnic między testowanymi. A przynajmniej nie tyle istotnych, co niezwykłych: po co oczekiwać interesujących wyników w testach, gdy przeprowadza się pomiary na procesorach opartych zasadniczo na tym samym rdzeniu. Moje oczekiwania się spełniły, jednak niektóre rzeczy okazały się nieco inne, niż myślałem…
A teraz, przechodząc do wyników testów.

Wynik jest całkowicie zgodny z oczekiwaniami: im więcej wątków i wyższa częstotliwość, tym więcej punktów. Odpowiednio, i7-8700 i i9-9900k na czołowej pozycji. Różnica między i7-7700 a i7-7700k wynosi 10% w teście jednowątkowym i wielowątkowym. Opóźnienie i7-7700 w stosunku do i7-8700 wynosi 38% i w stosunku do i9-9900k 49%, czyli prawie dwukrotnie, podczas gdy różnica względem i7-9700k to zaledwie 15%.

Linki do wyników testów:
Wyniki testów z pakietu The Phoronix Test Suite

W teście John The Ripper różnica między bliźniakami i7-7700 a i7-7700k wynosi 10% na korzyść 'k', dzięki różnicy w Turbo Boost. W przypadku procesorów i7-8700 i i7-9700k różnica jest bardzo nieznaczna. i9-9900k wyprzedza wszystkich dzięki większej liczbie wątków i wyższej częstotliwości taktowania. Bliźniaki mają prawie dwukrotnie gorsze wyniki.

Wynik testu C-Ray wydaje mi się najciekawszy. Obecność technologii Hyper-Threading w i9-9900k w tym teście wielowątkowym daje jedynie nieznaczny przyrost w porównaniu do i7-9700k. Z kolei bliźniaki mogły uzyskać niemal dwukrotną różnicę do lidera.

W teście jednowątkowym Himeno różnica nie jest aż tak duża. Wyraźny odstęp 8. i 9. generacji względem bliźniaków: i9-9900k wyprzedza je o 18% i 15% odpowiednio. Różnica między i7-8700 a i7-9700k jest na poziomie marginesu błędu.

Test kompresji 7zip bliźniaki przechodzą o 44-48% gorzej niż lider i9-9900k. Dzięki większej liczbie wątków i7-8700 wyprzedza i7-9700k o 9%. Jednak to nie wystarcza, aby wyprzedzić i9-9900k, więc obserwujemy opóźnienie niemal o 18%.

Test czasu kompresji algorytmem BZIP2 pokazuje podobne wyniki: wygrywają wątki.

Kodowanie mp3 — „schody” z maksymalnym odchyleniem wynoszącym 19,5%. W teście ffmpeg i9-9900k przegrywa z i7-8700 i i7-9700k, ale przewyższa modele dualne. Kilkukrotnie przetestowałem ten test dla i9-9900k, ale wyniki zawsze były takie same. To już niespodzianka 🙂 W teście wieloprocesorowym najwieloprocesorowy z testowanych procesorów uzyskał taki niski wynik, niższy niż 9700k i 8700. Nie ma jasnych wyjaśnień tego zjawiska, a nie lubię snuć przypuszczeń.

Test openssl pokazuje „schody” z przerwą między drugą a trzecią stopniem. Różnica między modelami dualnymi a liderem i9-9900k wynosi od 42% do 47%. Różnica między i7-8700 a i9-9900k wynosi 14%. Najważniejsze są wątki i częstotliwości.

W teście Apache i7-9700k wyprzedził wszystkich, w tym i9-9900k (o 6%). Jednak ogólnie różnica nie jest istotna, chociaż różnica między najgorszym wynikiem i7-7700 a najlepszym i7-9700k wynosi 24%.

Ogólnie w większości testów zwycięża i9-9900k, jedynie w ffmpeg jest porażka. Planując pracę z wideo, lepiej weź i7-9700k lub i7-8700. Na drugim miejscu w ogólnym zestawieniu znajduje się i7-9700k, niewielkie odstąpienie od lidera, a w testach ffmpeg i apache nawet go przewyższa. Tak więc zarówno jego, jak i i9-9900k z czystym sumieniem polecam tym, którzy regularnie mają duże obciążenie użytkowników na stronie. Procesory nie powinny zawieść. O wideo już mówiłem.
i7-8700 ma dobre wyniki w testach Sysbench, 7zip i ffmpeg.
We wszystkich testach i7-7700k jest lepszy niż i7-7700 o 2% do 14%, w teście ffmpeg o 16%.
Przypominam, że nie robiłem żadnych optymalizacji poza wskazanymi na początku, co oznacza, że przy instalacji czystego systemu na świeżo zakupionym u nas dedyku, otrzymasz dokładnie takie same wyniki.
Rdzenie, wątki, częstotliwości — to jest naszą siłą
Ogólnie wyniki były przewidywalne i oczekiwane. W praktycznie wszystkich testach pojawia się „schody do nieba”, demonstrująca zależność wydajności od liczby rdzeni, wątków i częstotliwości: więcej z tego wszystkiego — lepsze wyniki.
Ponieważ wszystkie badane procesory są w zasadzie odświeżeniem tego samego rdzenia na tym samym procesie technologicznym i nie mają żadnych fundamentalnych różnic architektonicznych, nie udało nam się uzyskać „oszałamiających” dowodów na to, że procesory jakościowo różnią się między sobą.
Różnica między procesorami i7-9700k a i9-9900k we wszystkich testach, oprócz Sysbench, dąży do zera, ponieważ różnią się one zasadniczo jedynie obecnością technologii Hyper-Threading oraz dodatkową setką megaherców w trybie Turbo Boost w i9-9900k. W teście Sysbench jest zgoła odwrotnie: decyduje nie liczba rdzeni, a liczba wątków.
Jest bardzo duża różnica w testach wielowątkowych między i7-7700(k) a i9-9900k, miejscami nawet dwa razy. Jest również różnica między i7-7700 a i7-7700k — dodatkowe 300 MHz dodaje dynamizmu temu ostatniemu.
Nie mogę także mówić o jakościowym wpływie objętości pamięci cache na wyniki testów — mamy to, co mamy. Tym bardziej, iż włączona ochrona rodziny Spectre/Meltdown powinna znacznie zmniejszać wpływ jej objętości na wyniki testu, ale nie jest to pewne. Jeżeli szanowny czytelnik zażąda «chleba i widowisk» od naszego działu marketingu, z przyjemnością przeprowadzę testy z wyłączoną ochroną.
Właściwie, gdyby ktoś mnie zapytał: jaki procesor sam bym wybrał? — najpierw policzyłbym pieniądze w kieszeni i wybrał ten, na który mnie stać. Krótko mówiąc, z punktu A do punktu B można dojechać i «Żukiem», ale «Mersedesem» będzie szybciej i przyjemniej. Procesory, które opierają się na tej samej architekturze, w mniejszym lub większym stopniu poradzą sobie z tym samym zakresem zadań — niektórzy po prostu dobrze, a inni doskonale. Tak, jak wykazały testy, nie ma globalnych różnic między nimi. Jednak różnica między i7 a i9 z tego nie zniknęła.
Wybierając procesor do niektórych specjalistycznych zadań, takich jak praca z mp3, kompilacja z źródeł lub renderowanie trójwymiarowych scen z przetwarzaniem światła, warto kierować się wynikami odpowiednich testów. Na przykład, projektanci mogą od razu patrzeć na i7-9700k i i9-9900k, a do złożonych obliczeń brać procesor z technologią Hyper-Threading, czyli dowolny, poza i7-9700k. To wątkami kierują.
Zalecam więc wybór tego, na co możesz sobie pozwolić, biorąc pod uwagę specyfikację, a przyniesie ci to szczęście.
W testach używano serwerów opartych na procesorach i7-7700, i7-7700k, i7-8700k, i7-9700k i i9-9900k z . Każdy z nich można zamówić z rabatem 5% na 3 miesiące — proszę skontaktować się z z hasłem „Jestem z Habra”. Przy płatności za rok zniżka dodatkowo 10%.
Cały wieczór na arenie , administrator systemów FirstDEDIC
Źródło: habr.com
