Een reeks”request for comments”-patches die vandaag op de Linux-kernel-mailinglijst zijn geplaatst, implementeren ondersteuning voor CPU-schedulerbeleid dat moet worden geïmplementeerd als (e)BPF-programma’s.

De Linux-kernel heeft een voortdurende acceptatie van (e)BPF gezien in verschillende delen van de kernel. Een van de eBPF-toevoegingen die aan de horizon komen, is de eBPF-ondersteuning die naar het HID-subsysteem komt voor een betere afhandeling van eigenzinnige hardware op een snellere manier en hopelijk leidt dit tot minder redundante driver churn.

Tejun Heo heeft vandaag het eBPF-schedulerwerk aangekondigd als onderdeel van het werk van hem en verschillende andere kernelontwikkelaars. De overtuiging is dat met eBPF-ondersteuning voor de Linux-kernelplanner het experimenteren en verkennen van nieuw planningsbeleid zou kunnen worden vergemakkelijkt, toepassingsspecifieke planners en andere aanpasbare opties mogelijk zouden zijn via het laden van aangepaste BPF-programma’s, en een niet-verstorende manier zou kunnen zijn om wijzigingen aan te brengen. planningsbeleid binnen productieomgevingen uit te werken.


Ingenieurs van zowel Google als Meta (Facebook) staan ​​achter dit initiatief. Als conclusie voor de RFC-patchserie van vandaag:

“Zowel Meta als Google hebben de afgelopen jaren behoorlijk veel geëxperimenteerd met planners. Google heeft verschillende workloads gebenchmarkt met behulp van gebruikersruimteplanning en heeft prestatiewinst behaald door te handelen van algemeenheid voor toepassingsspecifieke behoeften. Bij Meta hebben we nog geen sched_ext geïmplementeerd op productieworkloads, hoewel onze voorlopige experimenten aangeven dat sched_ext aanzienlijke prestatiewinst zou opleveren wanneer het op schaal wordt geïmplementeerd. Als het succesvol upstream wordt geïmplementeerd, verwachten we het uitgebreid te gebruiken om te draaien verschillende experimenten en het ontwikkelen van aangepaste planners voor een aantal kritieke workloads.

Tot slot geloven zowel Meta als Google dat sched_ext aanzienlijk zal evolueren in de manier waarop de bredere gemeenschap de planningsprobleemruimte verkent, waardoor voortdurende verbetering van de in-kernel scheduler mogelijk wordt gemaakt, terwijl maakt ook gericht beleid mogelijk voor aangepaste toepassingen. We kunnen gemakkelijker en sneller experimenteren eh, verken onbekende gebieden en implementeer noodplanningswijzigingen wanneer dat nodig is. Hetzelfde geldt voor iedereen die aan de planner wil werken, inclusief de academische wereld en gespecialiseerde industrieën. sched_ext zal de stand van de techniek naar voren schuiven als het gaat om planning en prestaties in Linux.”

Als onderdeel van de patches van vandaag is er naast het werken aan de eBPF-schedulerinfrastructuur een voorbeeldscheduler die toont de meeste planningsbeslissingen die worden uitgesteld naar de gebruikersruimte. Een andere demonstratieplanner is een hybride benadering waarbij beslissingen over het verdelen van de belasting worden genomen in de gebruikersruimte en die code is geschreven in de programmeertaal Rust.

Meer details over dit zeer interessante voorstel via de RFC patch-serie.

Categories: IT Info