117

[Meltdown] Zainstalowałem patch dla Windows i… nie widzę różnicy

Domyślam się, że teraz to już macie serdecznie dość czytania o kolejnych doniesieniach na temat błędów ochrzczonych przez Google jako Meltdown i Spectre. Media wszystkich nurtów, od tych specjalistycznych, poprzez masowe, zalała dosłownie fala newsów prześcigających się w złowieszczych proroctwach. Ja natomiast postanowiłem sprawdzić, jaki jest stan faktyczny.

Jeśli jakimś cudem nie słyszeliście o problemach związanych głównie z procesorami Intela, to zapraszam do mojego porannego wpisu, gdzie zebrałem wszystkie istotne informacje. Najpoważniejszym błędem, który jest łatany w ostatnich aktualizacjach Mac OS X (10.13.2) oraz jądra (kernela) systemów linuksowych (4.15) jest ten opisany przez Google jako Meltdown. W skrócie chodzi o możliwość dostępu i skopiowania zawartości pamięci jądra systemowego. Ten błąd naprawiają jednak wspominane poprawki, choć jego obecna implementacja w pewnych przypadkach wiąże się ze spadkiem wydajności.

Od wczoraj internet krzyczy, że wydajność spadnie o 5%, 20% czy nawet 30%. To jednak jest tylko częściowa prawda. W pewnych określonych przypadkach, gdy system musi się często odwoływać do pamięci jądra, faktycznie wydajność może spaść wyraźnie. Dotyczyć do będzie np. operacji na bazach danych czy przy dużym wykorzystaniu dysków twardych, gdy system musi wykonać wiele operacji zapisu/odczytu. Dla zwykłego użytkownika domowego nie są to typowe zadania. Gry komputerowe, obróbka wideo czy grafiki nie powoduje obciążenia, które mogłoby znacznie spowolnić nasze maszyny. Taka jest teoria, a jak to wygląda w praktyce?

Sprawdzamy jak łatka dla Windows 10 wpływa na wydajność

Microsoft początkowo miał opublikować łatkę dopiero w najbliższy wtorek, ale po publikacji Google, przyśpieszył cały proces i łatka zbiorcza oznaczona symbolem KB4056892 jest już gotowa do pobrania. Na ten moment załatany jest tylko Windows 10 oraz Windows Server 2016. Łatki dla Windows 7/8.1 oraz starszych wersji Windows Server pojawią się w najbliższych dniach. Korzystając z tego, że miałem pod ręką testowy komputer bez zainstalowanej łatki, postanowiłem sam sprawdzić jak jej instalacja wpłynie na wydajność.

Konfiguracja testowanego PC:

Procesor: Intel Core i7-7700
Płyta główna: ASUS H270-Pro
RAM: 2x4GB DDR4 2400 MHz
Dysk systemowy: WD Black 500 GB
Dyski dodatkowe: 8x WD Red 8TB

Jak sami widzicie zastosowany procesor to stosunkowo nowa jednostka bazująca na architekturze Kaby Lake. Jeśli się uda zorganizować starszą maszynę, to postaram się jeszcze zaktualizować wyniki o nieco starszy model procesora. Ciekawość mogą wzbudzać też dyski dodatkowe, jest ich sporo, ale nie bez powodu, o tym jednak napiszę nieco więcej w dalszej części. Teraz rzućmy okiem na wyniki testów.

Test linpack:

Przed aktualizacją: 54,8 Gflops
Po aktualizacji: 54,6 Gflops (-0,4%)

CPU-Z Single Thread:

Przed aktualizacją: 440,8
Po aktualizacji: 441,4 (+0,1%)

CPU-Z Multi Thread:

Przed aktualizacją: 2193,5
Po aktualizacji: 2223,4 (+1,4%)

Cinebench R15 Single:

Przed aktualizacją: 164
Po aktualizacji: 161 (-1,8%)

Cinebench R15 Multi:

Przed aktualizacją: 823
Po aktualizacji: 827 (+0,5%)

Real Bench 2.43 – edycja grafiki:

Przed aktualizacją: 31,035 s
Po aktualizacji: 28,896 s (+6,9%)

Real Bench 2.43 – enkodowanie wideo:

Przed aktualizacją: 64,507 s
Po aktualizacji: 64,584 s (-0,1%)

Real Bench 2.43 – multitasking:

Przed aktualizacją: 71,059 s
Po aktualizacji: 70,575 s (+0,7%)

Jak sami zatem widzicie, różnice są praktycznie pomijalne i nie są warte odnotowania. Patrząc na pierwsze porównania zagranicznych serwisów, utwierdzam się tylko w tym przekonaniu. Przy typowych zastosowaniach dla komputera domowego, łatka Microsoftu nie ma żadnego wpływu na wydajność. Jeśli zatem posiadacie stosunkowo nowy procesor Intela, to bez obaw możecie, a nawet powinniście zainstalować najnowszą aktualizację. Nic na tym nie stracicie, chyba że…

… obrabiacie duże ilości danych

Teraz wróćmy jeszcze do tych moich 8 dysków. Dyski pracują w trybie JBOD, czyli nie jest to typowe macierz. Używane są do rejestracji obrazu w systemie CCTV, jest to testowa maszyna, która dopiero zostanie wdrożona do pracy. W ramach testów stabilności, symulujemy na takich komputerach proces nagrywania obrazu z 32 kamer o rozdzielczości 1.3 MPix jednocześnie. Aplikacja rejestrująca, jest tak skonstruowana, że nagrywa na wszystkich dostępnych nośnikach jednocześnie, więc łatwo policzyć, że w przypadku 8 dysków, średnio na każdym w danej chwili zapisywany jest obraz z 4 kamer. Nie są to duże ilości danych, strumień o rozdzielczości 1.3 MPix w H264 przy 25 klatkach na sekundę ma bitrate na poziomie 3 Mbps. Jest to jednak zapis ciągły i operacje na dyskach są wykonywane bez przerwy.

Jak się niestety okazało, przy takim trybie pracy patch od Microsoftu wpływa na wydajność. Nie jest to precyzyjny pomiar, bo bazuje tylko na obciążeniu procesora, ale różnica jest tak znaczna, że warta odnotowania. Obciążenie procesora przed instalacją aktualizacji oscylowało w granicach 37-40%. Po instalacji aktualizacji obciążenie waha się w zakresie od 45% do 55%. Temat wymaga jeszcze głębszego zbadania i daleki jestem od wysnuwania daleko idących wniosków. Dobitnie jednak pokazuje, że poprawka może w pewnych sytuacjach znacznie zmniejszyć wydajność naszego CPU.

Instalujcie poprawki i zabezpieczcie przeglądarki

Wniosek z powyższych testów jest jeden. Nie należy bać się instalacji poprawek bezpieczeństwa, niezależnie czy chodzi tutaj o system Microsoftu, Apple czy dystrybucję linuksa. W zasadzie w tych dwóch ostatnich przypadkach większość z was już pewnie korzysta z załatanej wersji systemu. Trzeba jednak pamiętać, że ta łatka systemowa chroni tylko przed błędem Meltdown. Przed Spectre trzeba się niestety chronić już na poziomie kolejnych aplikacji. Ten błąd opisuje wektory ataku, kiedy to różne procesy mogą uzyskać dostęp do pamięci wykorzystywanej przez inne programy.

Najbardziej podatne na te błędy będą przeglądarki internetowe, bo tam najłatwiej się zarazić, czasami wystarczy wejść na specjalnie spreparowaną stronę WWW. Dlatego warto włączyć sobie izolację stron. W Google Chrome należy przejść pod ten adres: chrome://flags#enable-site-per-process i włączyć pierwszą opcję, a następnie uruchomić ponownie przeglądarkę. To samo powinniście zrobić w swoich smartfonach z Androidem, jeśli korzystacie z Chrome’a. W Firefoksie podobna funkcja pojawi się w wersji 57, Microsoft niedługo także wyda poprawki dla Edge’a i Internet Explorera. Izolację stron oferuje też przeglądarka Opera.

Wykonanie tych wszystkich operacji powinno pozwolić wam spać spokojnie. Niezależnie od tego jak bardzo będą was straszyć nagłówki w mediach przez kolejne kilka dni…