Linux 6.9 nabídne rychlejší spouštění na velkých systémech se spoustou paměti RAM

Tux, maskot linuxového jádra

Linuxové jádro je páteří linuxových operačních systémů (OS) a je základním rozhraním mezi hardwarem počítače a jeho procesy.

Před pár dny Sdílíme zde na blogu zprávu o jedné ze změn Co najdeme při startu linuxového jádra 6.9, který je v současné době ve vývoji a již byly oznámeny různé změny a co jsme oznámili, bylo, že EXT2 již přešlo do kategorie zastaralých a také, že použití starého ovladače NTFS bude ponecháno stranou ve prospěch ovladač vyvinutý společností Paragon Software.

Nyní, v nejnovějších zprávách o nových funkcích, které nám Linux 6.9 představí, je to Tato verze jádra přinese výrazné zlepšení doby spouštění pro uživatele spravující systémy s velkým množstvím paměti RAM, zejména ty, které Využívají stránky HugeTLB. To má za následek značné zkrácení času potřebného k inicializaci těchto stránek během procesu spouštění systému.

Související článek:
Paragon vydal implementaci NTFS pro linuxové jádro

A změna přidaná v Linuxu 6.9 umožní systémům s velkým počtem stránek HugeTLB zaznamenat znatelné snížení v čase zahájení. Například na 2TB systémech, kde je inicializováno 1800 1GB stránek, což aktuálně to trvá 1 až 2 sekundy z celkového počtu 10 sekund, což je v dnešní době nepochybně značné zlepšení. Podobně na 12TB hostitelích Intel, kde je inicializováno 11 776 1GB stránek, což může trvat i minutu, zaznamenáte výrazné zkrácení těchto časů spouštění.

Tyto zálohy byly umožněny obětavou prací linuxového vývojáře Gang Li z Bytedance, který implementoval řadu oprav, které prošly několika kontrolami, aby zajistily efektivní provádění. Stávající infrastruktura jádra, jako např padata_do_multithreaded, byl použit s minimálními úpravami pro dosažení těchto výsledků.

Dvě aktualizace ve verzi 6…

– Opravena potenciální chyba v together_bootmem_prealloc_node
Implementace padata_do_multithreaded zajišťuje, že každý
Úloha together_bootmem_prealloc_node zpracovává uzel. Nicméně popsané API
v komentáři padata_do_multithreaded označuje, že také padata_do_multithreaded
K úloze můžete přiřadit více uzlů together_bootmem_prealloc_node.

Chcete-li se vyhnout možným chybám z budoucích změn padata_do_multithreaded,
Společně_bootmem_prealloc_parallel je představen k zabalení
together_bootmem_prealloc_node.

Výhody z těchto vylepšení jsou zvláště pozoruhodné v prostředích, kde je kritická dostupnost služeb a doba provozuschopnosti systému, jako v případě hyperscalerů a velkých organizací, které spravují velmi velké servery. Zkrácení doby spouštění během restartování je velkým přínosem pro zajištění rychlejší a efektivnější doby provozu.

Kromě toho, Za zmínku stojí i další změna které byly součástí Linuxu 6.9, což je záplata od zkušeného linuxového inženýra ze společnosti Intel, která zavádí vylepšenou techniku ​​pro omezení šířky pásma paměti při obnovování mezipaměti x86, podobný tomu, který používá Intel v procesorech RDT a AMD EPYC s kódem resctrl.

Autor patche uvádí, že:

Zpětná vazba MBA_mbps zvyšuje omezení, když skupina využívá větší šířku pásma, než uživatel nastavil v souboru schématu, a snižuje omezení, když je pod cílem.

Stojí za zmínku, že nová technika k omezení šířky pásma paměti je navržen tak, aby efektivněji zvládal pracovní zátěže s nerovnoměrnými úrovněmi zátěžes, čímž se vyhnete zbytečným sankcím, které se vyskytovaly v předchozích verzích jádra.

Aby se předešlo zbytečným výkyvům ve zrychlení v každé iteraci, používá se příznak „delta_comp“ k označení skutečných změn v šířce pásma, které mají být zaznamenány v další iteraci v „delta_bw“. Omezení se sníží pouze v případě, že aktuální šířka pásma plus delta_bw je pod cílem uživatele.

Jako takové je uvedeno, že Algoritmus funguje dobře s pracovním zatížením s konstantní šířkou pásma, ale může selhat, pokud se pracovní zátěž změní právě při změně omezení. Aby se to vyřešilo, byla implementována jednodušší technika, která vypočítává potenciální nárůst šířky pásma, pokud je omezení sníženo na nejbližší vyšší úroveň, což zajišťuje, že před snížením omezení zůstane pod cílem uživatele.

Pokud zájem dozvědět se o tom více, podrobnosti si můžete přečíst v následujících odkazech: