Nowy Linux może gwałtownie przyspieszyć sieci i uruchamianie programów

Opiekunowie najważniejszych dystrybucji Linuksa od kilku dniintensywnie pracują nad wprowadzeniem do nich najnowszego kernela4.18, zatwierdzonego przez Linusa Torvaldsa z tygodniowymopóźnieniem. To interesujące wydanie, wprowadzające m.in.bezpieczne montowanie systemów plików przez zwykłych użytkowników,kontrolę współbieżności bez blokad za pomocą mechanizmurestartowalnych sekwencji, aktywne zarządanie domenami zasilania czynowy interfejs do superszybkiego odczytywania danych z połączeniasieciowego. Gracze dostali zaś pełne wsparcie dla kontrolera Steam,nie muszą już niczego instalować, by korzystać z niego jakostandardowego urządzenia HID w systemie. A to oczywiście tylkowierzchołek góry lodowej – zapraszamy więc do zerknięcia napozostałe nowości.

Nowy Linux może gwałtownie przyspieszyć sieci i uruchamianie programów

16.08.2018 | aktual.: 16.08.2018 22:23

Sieci muszą działać szybciej

Oprócz wspomnianego już API do bezpośredniego odczytywaniadanych z połączeń TCP, oraz specjalnych łatekXDP, które pozwalają ominąć stos sieciowy przy bardzo dużychszybkościach sieci, nowy Linux przynosi nową technologięfiltrowania pakietów dla zapór sieciowych. BPF (bpfilter), bo o nimmowa, ostatecznie ma zastąpić dotychczasowy podsystem Netfilter.Jest to w praktyce prosta maszyna wirtualna, wykonująca specjalny,wysoce zoptymalizowany kod, przetwarzający pakiety krótko po ichodebraniu przed sprzęt sieciowy. Efekty są spektakularne –benchmarki pokazują nawet czterokrotny wzrost wydajności wprofesjonalnych zastosowaniach z wykorzystaniem interfejsówsieciowych Ethernet 40 Gb/s.

Obraz

Administratorzy nie powinni się martwić, że będą musieli znówsię uczyć nowego podsystemu filtrowania. Umiejętności korzystaniaz Iptables czy Nftables. BPF zastępuje jedynie podsystem kernela, naktórym Iptables i Nftables działają. Stosowane w nich polecenia ilisty pozostaną w pełni kompatybilne z nowym podsystemem. Więcejna temat tego, dlaczego linuksowa społeczność zastępuje Iptablesprzez BPF dowiecie się z wpisuna blogu firmy Cilium.

Zwykli użytkownicy będą mogli za to zauważyć przyspieszeniedziałania bezprzewodowych sieci lokalnych. Nowa kompresja SACK(Selective Acknowledgment) na stosie TCP obiecuje mniejsze korki wtakich sieciach i ogólnie zwiększenie wydajności. Pakiety SACKmuszą być wysyłane, gdy pakiet TCP jest odbierany pozakolejnością. Zdarza się tak często podczas zadławienia sieci –ale właśnie wtedy pakiety SACK to tylko dolanie oliwy do ognia.Kernel potrafi teraz opóźnić wysyłanie pakietów SACK, orazwysyłać je w postaci skompresowanej, jeśli są nadal potrzebne. Mato znacząco ograniczać zadławienia sieci.

Przyspieszenia oczekujmy też od programów

Po kilku latach rozwoju, kernel zaczął obsługiwać sekwencjerestartowalne. To mechanizm zarządzania wielowątkowością, odjakiegoś czasu ewidentnie wykorzystywany przez Google. Pozwala onprogramiście zdefiniować specjalny region kodu, który miałbydziałać bez przerwy na określonej dla danego rdzenia procesorastrukturze danych. Jeśli wątek zostałby wywłaszczony w trakciepracy, to mógłby musieć walczyć z innym wątkiem pracującym natej samej strukturze danych.

Sekwencja restartowalna zapewnia, że kernel zmusi wątek doprzerwania w momencie ponownego uruchomienia, a następnie zrobieniaporządku i ponownej próby (stąd restartowalna). Normalnie jednakdo wywłaszczeń dochodzi rzadko, restartowalna sekwencja będziewięc wykonywała przypisany do procesora kod z dużą prędkością.

Wprowadzone w Linuksie 4.18 rozwiązanie wprowadza binarnyinterfejs (ABI) między każdym wątkiem w przestrzeni użytkownika akernelem. Umożliwia to aktualizację danych przypisanych doprocesora bez konieczności wykonywania kosztownych operacjiatomowych. Dzięki takiemu rozwiązaniu znacznie przyspieszają takieoperacje jak wyszukiwanie numeru bieżącego procesora, inkrementacjaliczników przypisanych do procesora, modyfikacja danych chronionychprzez blokady na procesor, zapis/odczyt na buforach procesora i wieleinnych.

Wraz z pracami nad nowym filtrem sieciowym poczyniono zmiany winfrastrukturze kernela, które mogą doprowadzić w przyszłości dociekawych konsekwencji. Otóż w modułach kernela będą mogłyznaleźć się pomocnicze programy, które kernel będzie mógłuruchamiać z niższymi uprawnieniami. Niektórzy eksperci mówią otym jako o wprowadzeniu do monolitycznego przecież kernela rozwiązańkojarzonych z mikrokernelami.

Znacznie łatwiej będzie korzystać z aplikacji w kontenerach.Mechanizm nieuprzywilejowanegomontowania systemów plików pozwala poprzez mechanizm FUSEmontować w przestrzeni użytkownika systemy plików w bezpiecznysposób, bez narażania kernela na różne podatności, któremogłyby się w takim systemie kryć. Działa to ze wszystkimiwspieranymi przez kernel systemami plików, trzeba mieć tylko wswoim kontenerze uprawnienia roota.

Najciekawsze ulepszenia w sterownikach

Powody do świętowania mają użytkownicy nowych Radeonów.Kernel 4.18 wprowadza poprzez AMDGPU liczne ulepszenia dlaarchitektury Vega, w tym kontrolę częstotliwości i sterowanieprofilami zasilania. Sterownik AMDKFD pozwala zaś na wykorzystanietych nowych GPU do obliczeń poprzez bibliotekę OpenCL – działato w przestrzeni użytkownika, bez konieczności jakiejkolwiekkonfiguracji. Wprowadzono też podstawowe wsparcie dla grafiki Vega Mosadzonej w nowych procesorach Intela z serii Kaby Lake G orazniewydanych jeszcze układów graficznych Vega 20.

Nowy kernel jest też pierwszą wersją jądra, zapewniającąpełne wsparcie dla Raspberry Pi 3B i 3B+. To jednak nie wszystko,pojawił się w nim sterownik V3D DRM, wcześniej znany jako BroadcomVC5. Przeznaczony on jest dla sprzętu z grafiką VideoCore V –która miejmy nadzieję znajdzie zastosowanie w przyszłości wRaspberry Pi 4.

Linux obsługuje teraz też dwukanałowy transfer danychzdefiniowany w USB 3.2, który podwaja maksymalną przepustowość pozłączu USB-C do 20 Gb/s.

Należy też wspomnieć o obsłudze procesora Qualcomm Snapdragon845. To czip wykorzystywany w tych nowych, modnych komputerkach typuAlways Connected PC, sprzedawanych z Windowsem 10. Linus Torvaldsosobiście jest zainteresowany takim sprzętem, który zapewniłbywydajność choć w połowie porównywalną do urządzeń x86,ekstremalnie długi czas pracy – i zarazem byłby całkowiciewspierany przez Linuksa.

NSA zadba o bezpieczeństwo Internetu Rzeczy

Szereg pomniejszych modyfikacji zwiększył ochronę przed atakamiSpectre v1, zoptymalizowano również ochronę procesorów AMD przezSpectre v4. Linux wreszcie wprowadza metody mające na celu ochronę32-bitowych procesorów ARM podatnych na Spectre v1 i v2 przedwykorzystaniem tych luk. Na zabezpieczenie czekaliśmy tak długo zewzględu na problemy w dogadaniu się z opiekunem architektury ARM.

Do kernela trafiło w końcu wsparcie dla szyfrowania systemuplików za pomocą kontrowersyjnych algorytmów Speck128/Speck256.Czemu kontrowersyjnych? No cóż, stoi za nimi amerykańska NarodowaAgencja Bezpieczeństwa (NSA), utrzymująca, że zapewniają one„akceptowalny poziom szyfrowania” na mało wydajnych urządzeniachInternetu Rzeczy. Początkowo Google chciało korzystać z tychalgorytmów w najtańszych urządzeniach z Androidem, ale ostatecznieodrzuciło ten plan.

Zainteresowanych szczegółową listą zmian w nowym kerneluzapraszamy doPhoronixa. Linuksa 4.19 spodziewajcie się w połowiepaździernika. Jest możliwe, że Linuksa 4.20 już nie będzie –jeśli Linus Torvalds spełni swoje groźby, to Linux 5.0 mógłbypojawić się na przełomie grudnia i stycznia.

Programy

Zobacz więcej
Wybrane dla Ciebie
Komentarze (309)