De Linux-kernel is de ruggengraat van Linux-besturingssystemen (OS) en is de fundamentele interface tussen de hardware van een computer en zijn processen.
Paar dagen geleden We delen hier op de blog het nieuws over een van de veranderingen Wat we kunnen vinden bij de lancering van de Linux-kernel 6.9, die momenteel in ontwikkeling is en er al verschillende veranderingen bekend zijn gemaakt en wat we hebben aangekondigd was dat EXT2 al in de categorie verouderd is terechtgekomen en ook dat het gebruik van de oude NTFS-driver buiten beschouwing zal worden gelaten ten gunste van de stuurprogramma ontwikkeld door Paragon Software.
nu, in het laatste nieuws over de nieuwe functies die Linux 6.9 ons zal presenteren, is dat Deze versie van de Kernel zal een aanzienlijke verbetering van de opstarttijd opleveren voor gebruikers die systemen beheren met grote hoeveelheden RAM, vooral degenen die dat wel doen Ze maken gebruik van HugeTLB-pagina's. Dit resulteert in een aanzienlijke vermindering van de tijd die nodig is om deze pagina's te initialiseren tijdens het opstartproces van het systeem.
En de verandering toegevoegd in Linux 6.9 zullen systemen met een groot aantal HugeTLB-pagina's een merkbare vermindering laten ervaren bij starttijd. Op systemen van 2 TB waarop bijvoorbeeld 1800 pagina's van 1 GB zijn geïnitialiseerd momenteel duren ze tussen de 1 en 2 seconden op een totaal van 10 seconden, wat in deze tijd ongetwijfeld een aanzienlijke verbetering is. Op dezelfde manier zul je op Intel-hosts van 12 TB waar 11 pagina's van 776 GB worden geïnitialiseerd, wat meer dan een minuut kan duren, een aanzienlijke vermindering van deze opstarttijden zien.
Deze vorderingen werden mogelijk gemaakt door het toegewijde werk van Linux-ontwikkelaar Gang Li van Bytedance, die een reeks patches implementeerde die meerdere beoordelingen hebben ondergaan om een efficiënte uitvoering te garanderen. De bestaande kernelinfrastructuur, zoals padata_do_multithreaded, werd met minimale aanpassingen gebruikt om deze resultaten te bereiken.
Twee updates in v6…
– Mogelijke bug opgelost in samen_bootmem_prealloc_node
De padata_do_multithreaded implementatie zorgt ervoor dat elk
De taak samen_bootmem_prealloc_node verwerkt een knooppunt. Wel wordt de API beschreven
in het commentaar geeft padata_do_multithreaded aan dat padata_do_multithreaded ook is
U kunt meerdere knooppunten samen_bootmem_prealloc_node aan een taak toewijzen.Om mogelijke fouten door toekomstige wijzigingen in padata_do_multithreaded te voorkomen,
samen_bootmem_prealloc_parallel wordt geïntroduceerd om de
samen_bootmem_prealloc_node.
De voordelen van deze verbeteringen zijn vooral opmerkelijk in omgevingen waar de beschikbaarheid van diensten en de uptime van het systeem van cruciaal belang zijn, zoals in het geval van hyperscalers en grote organisaties die zeer grote servers beheren. De vermindering van de opstarttijd tijdens het opnieuw opstarten is van groot voordeel om een snellere en efficiëntere uptime te garanderen.
Daarnaast, Het is ook de moeite waard om nog een verandering te vermelden die zijn opgenomen in Linux 6.9, een patch van een ervaren Linux-ingenieur bij Intel, die introduceert een verbeterde techniek voor het beperken van de geheugenbandbreedte bij het vernieuwen van de x86-cache, vergelijkbaar met die gebruikt door Intel in RDT- en AMD EPYC-CPU's met de resctrl-code.
De auteur van de patch vermeldt dat:
De MBA_mbps-feedbacklus verhoogt de beperking wanneer een groep meer bandbreedte gebruikt dan de gebruiker die in het schemabestand is ingesteld, en verlaagt de beperking wanneer deze onder het doel ligt.
Het is vermeldenswaard dat de nieuwe techniek de geheugenbandbreedte beperkt is ontworpen om werklasten met niet-uniforme belastingsniveaus efficiënter af te handelens, waardoor onnodige straffen worden vermeden die in eerdere versies van de kernel plaatsvonden.
Om onnodige fluctuaties in de snelheid bij elke iteratie te voorkomen, wordt de vlag “delta_comp” gebruikt om de daadwerkelijke veranderingen in bandbreedte aan te geven die in de volgende iteratie in “delta_bw” moeten worden vastgelegd. De beperking wordt alleen verminderd als de huidige bandbreedte plus delta_bw onder het doel van de gebruiker ligt.
Als zodanig wordt dat vermeld Het algoritme werkt goed bij werkbelastingen met constante bandbreedte, maar het kan mislukken als de werklast verandert op het moment dat de beperking verandert. Om dit aan te pakken is een eenvoudiger techniek geïmplementeerd die de potentiële toename van de bandbreedte berekent als de beperking wordt teruggebracht naar het volgende hogere niveau, zodat deze onder het doel van de gebruiker blijft voordat de beperking wordt verminderd.
Wanneer je geïnteresseerd om er meer over te weten, kunt u de details raadplegen via de volgende links:
- Hugetlb: Paralleliseer de start van de Hugetlb-pagina bij het opstarten
- Implementatie van nieuwe MBA_mbps beperkingstechniek