Jądro Linux jest kręgosłupem systemów operacyjnych Linux (OS) i jest podstawowym interfejsem między sprzętem komputera a jego procesami.
Kilka dni temu Dzielimy się tutaj na blogu wiadomością o jednej ze zmian Co znajdziemy na premierze jądra Linuksa 6.9, który jest obecnie w fazie rozwoju i ogłoszono już różne zmiany i ogłosiliśmy, że EXT2 przeszedł już do kategorii przestarzałych, a także że użycie starego sterownika NTFS zostanie odłożone na bok na rzecz sterownik opracowany przez Paragon Software.
Teraz w najświeższych wiadomościach o nowych funkcjach, które zaprezentuje nam Linux 6.9, jest to Ta wersja jądra przyniesie znaczną poprawę czasu uruchamiania dla użytkowników zarządzających systemami z dużą ilością pamięci RAM, zwłaszcza tymi, które Korzystają ze stron HugeTLB. Powoduje to znaczne skrócenie czasu potrzebnego na inicjalizację tych stron podczas procesu uruchamiania systemu.
I zmiana dodana w Linuksie 6.9 pozwoli systemom z dużą liczbą stron HugeTLB odczuć zauważalną redukcję w momencie rozpoczęcia. Na przykład w systemach o pojemności 2 TB, w których inicjowanych jest 1800 stron o pojemności 1 GB, które obecnie zajmują one od 1 do 2 sekund z łącznej liczby 10 sekund, co niewątpliwie jest znaczną poprawą w tych czasach. Podobnie w przypadku hostów Intel o pojemności 12 TB, na których inicjowanych jest 11 776 stron o pojemności 1 GB, co może zająć ponad minutę, można zauważyć znaczne skrócenie czasu uruchamiania.
Te postępy były możliwe dzięki oddanej pracy programisty Linuksa Gang Li z Bytedance, który zaimplementował serię poprawek, które przeszły wiele recenzji w celu zapewnienia skutecznego wykonania. Istniejąca infrastruktura jądra, taka jak padata_do_multithreaded, zastosowano z minimalnymi modyfikacjami, aby osiągnąć te wyniki.
Dwie aktualizacje w wersji 6…
– Naprawiono potencjalny błąd w Together_bootmem_prealloc_node
Implementacja padata_do_multithreaded zapewnia, że każdy
Zadanie Together_bootmem_prealloc_node obsługuje węzeł. Jednakże API opisane
w komentarzu padata_do_multithreaded wskazuje, że padata_do_multithreaded również
Możesz przypisać wiele węzłów do zadania razem_bootmem_prealloc_node.Aby uniknąć możliwych błędów wynikających z przyszłych zmian w padata_do_multithreaded,
Wprowadzono razem_bootmem_prealloc_parallel w celu zawinięcia pliku
razem_bootmem_prealloc_node.
Korzyści z tych ulepszeń są szczególnie godne uwagi w środowiskach, w których dostępność usług i czas pracy systemu są krytyczne, podobnie jak w przypadku hiperskalerów i dużych organizacji zarządzających bardzo dużymi serwerami. Skrócenie czasu uruchamiania podczas ponownego uruchamiania jest bardzo korzystne, ponieważ zapewnia szybszy i wydajniejszy czas pracy.
Poza tym, Warto wspomnieć także o innej zmianie które zostały uwzględnione w Linuksie 6.9, który jest łatką przygotowaną przez doświadczonego inżyniera Linuksa z firmy Intel, który wprowadza ulepszoną technikę ograniczania przepustowości pamięci podczas odświeżania pamięci podręcznej x86, podobny do tego używanego przez firmę Intel w procesorach RDT i AMD EPYC z kodem resctrl.
Autor łatki wspomina, że:
Pętla sprzężenia zwrotnego MBA_mbps zwiększa ograniczanie, gdy grupa wykorzystuje większą przepustowość niż ustawiona przez użytkownika w pliku schematu, i zmniejsza ograniczanie, gdy jest poniżej wartości docelowej.
Warto wspomnieć, że nowa technika ograniczania przepustowości pamięci został zaprojektowany tak, aby efektywniej obsługiwać obciążenia o nierównomiernych poziomach obciążenias, unikając niepotrzebnych kar, które występowały w poprzednich wersjach jądra.
Aby uniknąć niepotrzebnych wahań w przyspieszeniu w każdej iteracji, flaga „delta_comp” służy do wskazania rzeczywistych zmian w przepustowości, które mają być rejestrowane w następnej iteracji w „delta_bw”. Ograniczanie jest redukowane tylko wtedy, gdy bieżąca przepustowość plus delta_bw jest poniżej wartości docelowej użytkownika.
Jako takie jest o tym wspomniane Algorytm działa dobrze przy obciążeniach o stałej przepustowości, ale może się to nie powieść, jeśli obciążenie zmieni się właśnie wtedy, gdy zmieni się ograniczanie przepustowości. Aby rozwiązać ten problem, wdrożono prostszą technikę, która oblicza potencjalny wzrost przepustowości, jeśli dławienie zostanie zmniejszone do następnego wyższego poziomu, upewniając się, że pozostanie ono poniżej poziomu docelowego użytkownika, zanim dławienie zostanie zmniejszone.
Jeżeli jesteś chcesz dowiedzieć się więcej na ten temat, możesz zapoznać się ze szczegółami pod następującymi linkami:
- Hugetlb: Zrównoleglanie początku strony Hugetlb przy uruchomieniu
- Wdrożenie nowej techniki ograniczania MBA_mbps