Linux biedt ontwikkelaars en ingenieurs een manier om de werking ervan te 'afstemmen', door duizenden individuele parameters te bieden die de manier kunnen aanpassen waarop de open source-kernel bronnen beheert. Dit type afstemming kan de prestaties sneller verbeteren zonder de kernel opnieuw te compileren, maar het is nog steeds een uitdagende taak, zelfs voor de meest ervaren FOSS-programmeurs.
Het afstemmen van de kernel is een uiterst uitdagende taak, dus er zijn pogingen om kunstmatige intelligentie te gebruiken om deze taak uit te voeren in plaats van menselijke ontwikkelaars. Het Chinese technologiebedrijf ByteDance heeft onlangs testresultaten bekendgemaakt van het automatisch afstemmen van de Linux-kernel, een op kunstmatige intelligentie gebaseerde oplossing die menselijke ingenieurs de vrijheid geeft betere afstemmingsbeslissingen te nemen door historische gegevens te analyseren - een taak die mensen normaal gesproken een uitdaging vinden.
Het bereiken van optimale Linux-prestaties door middel van tuning is een tijdrovend proces dat uitgebreid experimenteren door Linux-experts vereist. Verschillende werkbelastingen vereisen verschillende afstemmingsmethoden voor verschillende sets kernelparameters. ByteDance-ontwikkelaar Cong Wang zei dat het handmatig afstemmen van de Linux-kernel op "honderden" verschillende workloads vrijwel onmogelijk is in grootschalige datacenters zoals die van het bedrijf.
Hoewel er tools bestaan die zijn ontworpen om het afstemmen van de kernel te vereenvoudigen, bieden ze een specifiek type optimalisatie. De aanpak van ByteDance is erop gericht om de eerste geautomatiseerde oplossing op het gebied van kerneltuning te lanceren - een technologie die alle Linux-tuningparameters kan dekken met minimale technische investeringen.
Het team van Wang besteedt speciale aandacht aan de optimalisatie van het geheugenbeheersysteem van Linux. Door gebruik te maken van machine learning-algoritmen zoals Bayesiaanse optimalisatie, ontdekte het bedrijf dat geautomatiseerde parameterafstemming betere resultaten kan opleveren dan de meeste Linux-kernelingenieurs doorgaans bereiken.
De auto-tuning tool van ByteDance is ontworpen om de interne Linux-instellingen automatisch aan te passen op basis van specifieke werklasten en hardwareconfiguraties. De cores zijn dynamisch afgestemd om optimale prestaties in elke situatie te garanderen, waardoor de al lang bestaande behoefte wordt opgelost om de cores voor elke rekeninstantie handmatig af te stemmen.
In de meeste gevallen leken de op kunstmatige intelligentie gebaseerde automatische aanpassingen van Wang en collega's effectief te zijn. Volgens ByteDance kunnen machine learning-algoritmen het systeem dynamisch optimaliseren door de kernprestaties in realtime te monitoren en de efficiëntie te verbeteren door het gebruik van bronnen te optimaliseren. Het AI-systeem heeft bovendien een gebruiksvriendelijke interface, waardoor gebruikers met beperkte technische kennis kunnen profiteren van een beter bruikbare kern. Tegelijkertijd kunnen geavanceerde gebruikers automatische aanpassingsparameters aanpassen.
ByteDance beweert dat machine learning-algoritmen het geheugengebruik van een applicatie met 30% kunnen verminderen of de HTTP-netwerklatentie op NGINX-servers kunnen optimaliseren, wat resulteert in een verbetering van 12% in de netwerkprestaties ten opzichte van handmatige aanpassingen. In cloud computing- en datacenterscenario's kunnen deze verbeteringen leiden tot aanzienlijke kostenbesparingen en geoptimaliseerde prestaties. Ontwikkelaars geven toe dat het automatisch afstemmen van de kernel via machinaal leren niet in alle gevallen zal werken, maar verwachten dat dit steeds noodzakelijker zal worden.
Bezoek de documentatie voor meer informatie:
https://lpc.events/event/17/contributions/1520/attachments/1152/2582/Linux%20Kernel%20Autotuning.pdf