Linux 4.16 najszybszy, każdy kolejny obniża wydajność. Niestety, to dotyka większości

Niezawodny Michael Larabel przeprowadził testy, w których porównał pod kątem wydajności wszystkie jądra Linux od 4.16 włącznie. Wykorzystał procesor Intel Core i9-7960X i Ubuntu 19.10. Wnioski są jasne: od momentu gałęzi 4.1x postępuje spadek jakości optymalizacji. Przy czym jest to problem, który wykracza poza ramy Linuksa.

Chodzi oczywiście o łatki dla inteli, fot. Shuterstock.com
Chodzi oczywiście o łatki dla inteli, fot. Shuterstock.com
Piotr Urbaniak

12.11.2019 | aktual.: 12.11.2019 09:38

Chodzi oczywiście o wpływ na wydajność kolejnych łatek eliminujących podatności kanału bocznego. Już Linux 4.16 ma wstępne patche na Meltdown i Spectre V1, ale w późniejszym czasie wypłynął cały szereg innych niespodzianek. Począwszy od L1TF, poprzez całą kategorię MDS (Microarchitectural Data Sampling), do której zaliczają się m.in. RIDL i ZombieLoad, a skończywszy na NetCAT. Z tego względu cierpią de facto wszystkie nowsze systemy.

Pomiary Larabela jednoznacznie potwierdzają to, że każda próba intensywnego zaangażowania planisty czy przełączania kontekstu to cios pod żebro dla połatanych systemów.

Średnia geometryczna z 71 testów, fot. Phoronix
Średnia geometryczna z 71 testów, fot. Phoronix

Ostatecznie zamurowany Linux 5.4 zapewnia raptem 89 proc. wydajności jądra Linux 4.16 z kwietnia 2018 roku. Jednocześnie wygrywa z resztą stawki w zaledwie czterech testach na 71 przeprowadzonych. Dla odniesienia, Linux 4.16 dominuje w 25 z nich.

Albo wydajność, albo bezpieczeństwo. Wybierz pigułkę

Od razu przypominają się słowa Grega Kroaha-Hartmana, jednego z opiekunów jądra, który na Open Source Summit Europe mówił, że użytkownik jest dzisiaj zmuszony do wybierania między bezpieczeństwem a wydajnością. Oto obrazowy dowód.

Procentowy udział w wygranych próbach, fot. Phoronix
Procentowy udział w wygranych próbach, fot. Phoronix

Oczywiście, co powinno być zrozumiałe, w ogólnym rozrachunku nie dotyczy on tylko Linuksa. To samo dzieje się z każdym systemem, w którym trzeba wprowadzić dodatkowe powłoki izolacyjne i opróżniać bufory przed zmianą kontekstu, co w wypadku intelowskich luk stanowi klucz do rozwiązania. Pytanie, czy rzeczywiście możemy mówić o stracie, skoro dotychczasowy poziom wydajności okupiony był sieczką w architekturze zabezpieczeń.

W testach Larabela nie została uwzględniona platforma AMD—a szkoda, bo mielibyśmy dobry punkt odniesienia. Tam straty na łatkach powinny być mniejsze, gdyż większość z nich dotyczy wyłącznie inteli. Choć nie wszystkie, czego przykład stanowi luka Spectre V4.

Programy

Zobacz więcej
Wybrane dla Ciebie
Komentarze (143)