Linux 6.9 bo ponudil hitrejši zagon v velikih sistemih z veliko RAM-a

Tux, maskota jedra Linuxa

Jedro Linuxa je hrbtenica operacijskih sistemov (OS) Linux in je temeljni vmesnik med strojno opremo računalnika in njegovimi procesi.

Pred nekaj dnevi Tukaj na blogu delimo novico o eni od sprememb Kaj lahko najdemo ob lansiranju jedra Linuxa 6.9, ki je trenutno v razvoju in so bile že znane različne spremembe in napovedali smo, da je EXT2 že prešel v kategorijo zastarelih in tudi, da bo uporaba starega gonilnika NTFS opuščena v korist gonilnik, ki ga je razvil Paragon Software.

Zdaj, v najnovejših novicah o novih funkcijah, ki nam jih bo predstavil Linux 6.9, je to Ta različica jedra bo znatno izboljšala čas zagona za uporabnike, ki upravljajo sisteme z veliko količino RAM-a, zlasti tiste, ki Uporabljajo strani HugeTLB. Posledica tega je znatno skrajšanje časa, ki je potreben za inicializacijo teh strani med postopkom zagona sistema.

Povezani članek:
Paragon je izdal izvedbo NTFS za jedro Linuxa

In sprememba, dodana v Linux 6.9 bo sistemom z velikim številom strani HugeTLB omogočil opazno zmanjšanje ob začetnem času. Na primer v sistemih z 2 TB, kjer je inicializiranih 1800 strani po 1 GB, kar trenutno trajajo med 1 in 2 sekundami od skupno 10 sekund, kar je v teh časih nedvomno precejšen napredek. Podobno boste pri 12TB Intelovih gostiteljih, kjer je inicializiranih 11 776GB strani, kar lahko traja več kot minuto, občutno skrajšali čas zagona.

Ti napredki jih je omogočilo predano delo razvijalca Linuxa Gang Li iz Bytedance, ki je implementiral vrsto popravkov, ki so bili večkrat pregledani, da bi zagotovili učinkovito izvajanje. Obstoječa infrastruktura jedra, kot je npr padata_do_multithreaded, je bil za dosego teh rezultatov uporabljen z minimalnimi spremembami.

Dve posodobitvi v v6…

– Popravljena morebitna napaka v together_bootmem_prealloc_node
Izvedba padata_do_multithreaded zagotavlja, da vsak
Naloga together_bootmem_prealloc_node obravnava vozlišče. Vendar je API opisan
v komentarju padata_do_multithreaded označuje, da tudi padata_do_multithreaded
Opravilu lahko dodelite več vozlišč together_bootmem_prealloc_node.

Da bi se izognili morebitnim napakam zaradi prihodnjih sprememb padata_do_multithreaded,
together_bootmem_prealloc_parallel je uveden za zavijanje
together_bootmem_prealloc_node.

Prednosti teh izboljšav so še posebej opazno v okoljih, kjer sta razpoložljivost storitev in čas delovanja sistema kritični, kot v primeru hiperskalerjev in velikih organizacij, ki upravljajo zelo velike strežnike. Skrajšanje časa zagona med ponovnimi zagoni je zelo koristno za zagotavljanje hitrejšega in učinkovitejšega delovanja.

Poleg tega, Omeniti velja še eno spremembo ki so bili vključeni v Linux 6.9, ki je popravek izkušenega inženirja Linuxa pri Intelu, ki uvaja izboljšano tehniko za omejevanje pasovne širine pomnilnika pri osveževanju predpomnilnika x86, podoben tistemu, ki ga uporablja Intel v procesorjih RDT in AMD EPYC s kodo resctrl.

Avtor popravka omenja, da:

Povratna zanka MBA_mbps poveča dušenje, ko skupina uporablja več pasovne širine, kot je uporabnik nastavljen v datoteki sheme, in zmanjša dušenje, ko je pod ciljem.

Omeniti velja, da nova tehnika omejuje pasovno širino pomnilnika je zasnovan za učinkovitejše obvladovanje delovnih obremenitev z neenakomernimi stopnjami obremenitves, izogibanje nepotrebnim kaznim, ki so se pojavile v prejšnjih različicah jedra.

Da bi se izognili nepotrebnim nihanjem pospeševanja v vsaki iteraciji, se zastavica »delta_comp« uporablja za označevanje dejanskih sprememb v pasovni širini, ki se zabeležijo v naslednji iteraciji v »delta_bw«. Dušenje se zmanjša le, če je trenutna pasovna širina plus delta_bw pod ciljno vrednostjo uporabnika.

Kot tako se omenja, da Algoritem dobro deluje pri delovnih obremenitvah s konstantno pasovno širino, vendar lahko odpove, če se delovna obremenitev spremeni ravno takrat, ko se spremeni dušenje. Da bi to rešili, je bila implementirana enostavnejša tehnika, ki izračuna potencialno povečanje pasovne širine, če se dušenje zmanjša na naslednjo višjo raven, s čimer se zagotovi, da ostane pod ciljno vrednostjo uporabnika, preden se zmanjša dušenje.

Če ste zanima več o tem, si lahko ogledate podrobnosti na naslednjih povezavah: