Jak to jest ze spowolnieniem Windowsa po łatce chroniącej przed luką w Intelach?
Odkrycie w większości współczesnych procesorów podatności naataki Meltdown i Spectre było niewątpliwie najgorętszym tematemmijającego tygodnia. I pewnie duża w tym zasługa łatki, którąprzygotowano, aby ochronić procesory Intela przed Meltdown. Abyuniemożliwić ataki malware zdolnego odczytać z pamięci komputerawrażliwe dane, takie jak hasła czy klucze kryptograficzne,konieczne się stało zmodyfikowanie architektury pamięci, całkowiteodizolowanie pamięci kernela od pamięci aplikacji działających wtrybie użytkownika. To zaś oznaczało spadek wydajności całegosystemu. Jak duży i dla jakiego rodzaju obciążeń roboczych?Postanowiliśmy to dokładniej sprawdzić.
07.01.2018 22:44
Systemy operacyjne z kulą u nogi
Pierwsze wyniki dotyczące spadku wydajności dotyczyły przedewszystkim obciążeń „profesjonalnych”, takich jak serwery bazdanych. Dla popularnej bazy PostreSQL odnotowano spadki wydajnościrzędu 30%. Potem Phoronix zaprezentował wyniki syntetycznych testówna maszynach linuksowych z kernelem 4.15 i łatką Kernel Page TableIsolation (KPTI). Tu też nie wyglądało to zaciekawie: w takich zadaniach jak masowy dostęp do plików,kompilacja, transkodowanie wideo, czy właśnie obsługa bazPostgreSQL i Redis wydajność na połatanych systemach spadła nałeb na szyję, zbliżając się do tych straszących z nagłówków30%.
A jak sytuacja wygląda w wypadku bardziej „zwyczajnych”zadań, wykonywanych przez większość dotkniętych podatnością naMeltdown użytkowników na Windowsie? Microsoft wydał poza normalnymterminem łatkę KB4056892, która wprowadza m.in. mechanizm KernelASLR/VA Isolation, zbliżony do wprowadzonego w Linuksie KPTI.Sprawdziliśmy, co faktycznie przyniesie ona tym, którzy musząpracować z „okienkami” na procesorach Intela.
Platforma i procedura testowa
Platforma testowa, nawet jak na 2018 roku jest całkiem mocnąmaszyną. Procesor Intel Core i7-4770K, 16 GB RAM, GeForce GTX970,SSD Samsung EVO 500 GB – zapewne nawet po obcięciu wydajnościbędzie wciąż nadawała się do poważnej pracy. Zainstalowanezostało na niej Windows 10 wersja 1709 z obrazu ISO pobranego zestron Microsoftu, a następnie zaktualizowano sterowniki za pomocąnarzędzia IOBit Driver Booster. Skonfigurowana maszyna testowa jestjak najbardziej podatna na Meltdown, co widać po wynikach znarzędziatestującego SpeculationControl w PowerShellu.
Procedura testowa nie jest jakoś szczególnie wyrafinowana,niestety na Windowsie większość skryptów Phoronix Test Suite poprostu nie działa, ich wyniki też są mało przydatne dla ocenywydajności systemów Microsoftu. Wykorzystaliśmy więc popularnekomercyjne narzędzia – PCMark10, 3DMark, SisoftwareSandra Lite. Po zebraniu wyników zaktualizowaliśmy Windows 10,instalując w ten sposób KB4056892 i zrestartowaliśmy komputer.Potem ponowny cykl testów – i oto wyniki.
PCMark 10
PCMark 10 pozwala kompleksowo sprawdzić wydajność komputera wtypowych zastosowaniach biurowych i domowych. Oto wynikiposzczególnych testów przed i po zastosowaniu łatki aktywującejASLR/VA Isolation:
Jak widać, tragedii nie ma, z jakiegoś powodu najpoważniejłatka wpłynęła na wydajność systemu podczas operacji naarkuszach kalkulacyjnych, wciąż jednak różnica nie przekracza10%.
3DMark Time Spy
Popularny benchmark wydajności sprzętu pod kątem gierpotwierdza to, co wspominał już Phoronix w odniesieniu do Linuksa –graczy łatka na Meltdown nie dotknie. To minimalne spadki, wgranicach błędu pomiaru.
Sisoftware Sandra
Ze względu na mnogość testów przeprowadzanych przez ten zestawniskopoziomowych benchmarków, zdecydowaliśmy się przedstawićtylko te, w których różnica jest znacząca.
Zaskoczenia nie ma – choć praktycznie we wszystkichbenchmarkach wyniki były nieco mniejsze, to jedynie w tych, któremierzyły wydajność operacji na plikach i sieci dało się odczućwyniki działania ASLR/VA.
Kto najbardziej ucierpi?
Jak widać, dla zwykłego użytkownika sytuacja nie wygląda takźle. Intel nie minął się z prawdą, mówiąc że w większościpopularnych obciążeń roboczych niczego nie zauważymy. Ucierpiąoczywiście operatorzy hostingów i chmur obliczeniowych, niewesołobędzie kompilującym kod programistom i użytkownikom Gentoo Linuksaczy Archa z jego repozytoriami AUR.
Nieciekawe wyniki w odniesieniu do wydajności I/O pamięcimasowej wymagają jednak głębszego zbadania. Jeśli nawet naszybkim SSD doszło do tak dużego spadku wydajności, to co zdyskami talerzowymi na starszych komputerach? Wbrew pozorom nie jestto wcale takie oczywiste. Kwestię tę już niebawem sprawdzimy popojawieniu się łatki na Windows 7.