Linux-kärnan är ryggraden i Linux-operativsystem (OS), och är det grundläggande gränssnittet mellan en dators hårdvara och dess processer.
Några dagar sen Vi delar här på bloggen nyheten om en av förändringarna Vad vi kan hitta vid lanseringen av Linux-kärnan 6.9, som för närvarande är under utveckling och olika förändringar har redan gjorts kända och vad vi meddelade var att EXT2 redan har passerat in i kategorin föråldrad och även att användningen av den gamla NTFS-drivrutinen kommer att lämnas åt sidan till förmån för drivrutin utvecklad av Paragon Software.
nu, i de senaste nyheterna om de nya funktionerna som Linux 6.9 kommer att presentera för oss, är det Den här versionen av kärnan kommer att ge en betydande förbättring av starttiden för användare som hanterar system med stora mängder RAM, särskilt de som De använder sig av HugeTLB-sidor. Detta resulterar i en avsevärd minskning av tiden det tar att initiera dessa sidor under systemstartprocessen.
Och ändringen som lades till i Linux 6.9 kommer att tillåta system med ett stort antal HugeTLB-sidor att uppleva en märkbar minskning vid starttid. Till exempel på 2TB-system där 1800 1GB-sidor initieras, vilket för närvarande tar de mellan 1 och 2 sekunder av totalt 10 sekunder, vilket utan tvivel är en avsevärd förbättring i dessa tider. På samma sätt, på 12TB Intel-värdar där 11 776 1GB-sidor initieras, vilket kan ta över en minut, kommer du att se en betydande minskning av dessa starttider.
Dessa framsteg möjliggjordes av det hängivna arbetet av Linux-utvecklaren Gang Li från Bytedance, som implementerade en serie patchar som gick igenom flera granskningar för att säkerställa effektiv exekvering. Den befintliga kärninfrastrukturen, som t.ex padata_do_multithreaded, användes med minimala modifieringar för att uppnå dessa resultat.
Två uppdateringar i v6...
– Fixat potentiell bugg i together_bootmem_prealloc_node
Implementeringen padata_do_multithreaded säkerställer att varje
Uppgiften together_bootmem_prealloc_node hanterar en nod. Men API beskrev
i kommentaren indikerar padata_do_multithreaded att padata_do_multithreaded också
Du kan tilldela flera noder till en uppgift together_bootmem_prealloc_node.För att undvika eventuella fel från framtida ändringar av padata_do_multithreaded,
together_bootmem_prealloc_parallel introduceras för att omsluta
together_bootmem_prealloc_node.
Fördelarna av dessa förbättringar är särskilt noterbart i miljöer där tjänsttillgänglighet och systemupptid är avgörande, som i fallet med hyperskalare och stora organisationer som hanterar mycket stora servrar. Minskningen av starttiden under omstarter är till stor fördel för att säkerställa snabbare och effektivare drifttid.
Förutom det, Det är också värt att nämna en annan förändring som har inkluderats i Linux 6.9 som är en patch från en erfaren Linux-ingenjör på Intel, som introducerar en förbättrad teknik för att begränsa minnesbandbredden vid x86-cacheuppdateringar, liknande den som används av Intel i RDT- och AMD EPYC-processorer med resctrl-koden.
Patchförfattaren nämner att:
MBA_mbps-återkopplingsslingan ökar strypningen när en grupp använder mer bandbredd än vad användaren har angett i schemafilen, och minskar strypningen när den är under målet.
Det är värt att nämna att den nya tekniken för att begränsa minnesbandbredden är utformad för att mer effektivt hantera arbetsbelastningar med ojämna belastningsnivåers, undvika onödiga påföljder som inträffade i tidigare versioner av kärnan.
För att undvika onödiga fluktuationer i hastigheten i varje iteration, används flaggan "delta_comp" för att indikera de faktiska förändringarna i bandbredd som ska spelas in i nästa iteration i "delta_bw". Strypningen reduceras endast om den aktuella bandbredden plus delta_bw är under användarens mål.
Som sådan nämns det Algoritmen fungerar bra med konstant bandbredd, men det kan misslyckas om arbetsbelastningen ändras precis när strypningen ändras. För att komma till rätta med detta implementerades en enklare teknik som beräknar den potentiella ökningen av bandbredd om strypningen reduceras till nästa högre nivå, vilket säkerställer att den förblir under användarens mål innan strypningen minskas.
Om du är det intresserad av att veta mer om det, kan du se detaljerna i följande länkar:
- Hugetlb: Parallellisera Hugetlb-sidans start vid start
- Implementering av ny MBA_mbps begränsningsteknik