• Ny Linux kärnförbättring kan minska datacenterförbrukning med upp till 30 %


    En mindre justering i Linux-kärnan version 6.13 kan leda till betydande energibesparingar i datacenter genom att effektivisera hanteringen av nätverkstrafik.

    Förbättringen, som utvecklats av forskare vid University of Waterloo i Kanada, optimerar hur data levereras till applikationer beroende på nätverkstrafikens belastning. Bakom lösningen står professor Martin Karsten och Joe Damato, ingenjör vid Fastly. De baserade sitt arbete på en studie från 2023 av Karsten och doktoranden Peter Cai, där de undersökte skillnader mellan nätverkshantering på kärnnivå och användarnivå. Studien visade att en mindre kodändring inte bara kunde förbättra applikationers prestanda, utan även minska energiförbrukningen i datacenter med upp till 30 %.

    Den nya koden, som endast består av cirka 30 rader, har nu inkluderats i Linux 6.13 och introducerar en ny parameter i NAPI-konfigurationen, irq_suspend_timeout. Denna parameter hjälper till att balansera CPU-användningen och nätverkshanteringen genom att dynamiskt växla mellan två sätt att leverera data till applikationer: polling och interrupt-driven bearbetning.

    I polling-läge hämtar och bearbetar applikationen kontinuerligt data, medan den i interrupt-driven läge förblir vilande tills ny data anländer, vilket sparar energi.

    ”Om du har en traditionell server med många små applikationer som körs samtidigt, kommer vår lösning varken att påverka eller försämra prestandan,” förklarar Karsten i ett mejl till Network World.

    Han påpekar dock att förbättringen är särskilt effektiv i datacenter där servrar oftast kör ett fåtal större applikationer som dominerar vissa processorkärnor och hanterar stora mängder nätverkstrafik. Detta gäller både front-end-servrar och många back-end-servrar som förser dem med data.

    När nätverkstrafiken är hög är polling-läget mest effektivt, eftersom det minskar latens och ger bättre prestanda. Vid låg trafik är interrupt-driven läge mer energieffektivt.

    ”Om en server enbart använder polling slösas mycket energi under lugna perioder, medan en server som enbart använder interrupts blir ineffektiv vid hög trafik,” förklarar Karsten.
    ”Vår lösning justerar sig automatiskt efter trafikbelastningen och växlar mellan de två lägena för att uppnå både hög prestanda och låg energiförbrukning.”

    I en teknisk beskrivning av uppdateringen förklarar Damato att den nya parametern förhindrar att softIRQ-processer stör applikationsbearbetningen under intensiva arbetsperioder. Dessutom kan den kombineras med blocking epoll_wait för att spara CPU-kraft när trafiken är låg.

    “Resultatet blir att prestandan – både i form av genomströmning och svarstid – är mycket nära vad en ren polling-lösning skulle ge, men med betydligt lägre CPU-användning,” förklarar han.

    För att aktivera den nya funktionen krävs endast en mindre justering av applikationerna samt en ändring i systemkonfigurationen.

    https://www.networkworld.com/article/3811688/new-tweak-to-linux-kernel-could-cut-data-center-power-usage-by-up-to-30.html

Ny Linux kärnförbättring kan minska datacenterförbrukning med upp till 30 %


En mindre justering i Linux-kärnan version 6.13 kan leda till betydande energibesparingar i datacenter genom att effektivisera hanteringen av nätverkstrafik.

Förbättringen, som utvecklats av forskare vid University of Waterloo i Kanada, optimerar hur data levereras till applikationer beroende på nätverkstrafikens belastning. Bakom lösningen står professor Martin Karsten och Joe Damato, ingenjör vid Fastly. De baserade sitt arbete på en studie från 2023 av Karsten och doktoranden Peter Cai, där de undersökte skillnader mellan nätverkshantering på kärnnivå och användarnivå. Studien visade att en mindre kodändring inte bara kunde förbättra applikationers prestanda, utan även minska energiförbrukningen i datacenter med upp till 30 %.

Den nya koden, som endast består av cirka 30 rader, har nu inkluderats i Linux 6.13 och introducerar en ny parameter i NAPI-konfigurationen, irq_suspend_timeout. Denna parameter hjälper till att balansera CPU-användningen och nätverkshanteringen genom att dynamiskt växla mellan två sätt att leverera data till applikationer: polling och interrupt-driven bearbetning.

I polling-läge hämtar och bearbetar applikationen kontinuerligt data, medan den i interrupt-driven läge förblir vilande tills ny data anländer, vilket sparar energi.

”Om du har en traditionell server med många små applikationer som körs samtidigt, kommer vår lösning varken att påverka eller försämra prestandan,” förklarar Karsten i ett mejl till Network World.

Han påpekar dock att förbättringen är särskilt effektiv i datacenter där servrar oftast kör ett fåtal större applikationer som dominerar vissa processorkärnor och hanterar stora mängder nätverkstrafik. Detta gäller både front-end-servrar och många back-end-servrar som förser dem med data.

När nätverkstrafiken är hög är polling-läget mest effektivt, eftersom det minskar latens och ger bättre prestanda. Vid låg trafik är interrupt-driven läge mer energieffektivt.

”Om en server enbart använder polling slösas mycket energi under lugna perioder, medan en server som enbart använder interrupts blir ineffektiv vid hög trafik,” förklarar Karsten.
”Vår lösning justerar sig automatiskt efter trafikbelastningen och växlar mellan de två lägena för att uppnå både hög prestanda och låg energiförbrukning.”

I en teknisk beskrivning av uppdateringen förklarar Damato att den nya parametern förhindrar att softIRQ-processer stör applikationsbearbetningen under intensiva arbetsperioder. Dessutom kan den kombineras med blocking epoll_wait för att spara CPU-kraft när trafiken är låg.

“Resultatet blir att prestandan – både i form av genomströmning och svarstid – är mycket nära vad en ren polling-lösning skulle ge, men med betydligt lägre CPU-användning,” förklarar han.

För att aktivera den nya funktionen krävs endast en mindre justering av applikationerna samt en ändring i systemkonfigurationen.

https://www.networkworld.com/article/3811688/new-tweak-to-linux-kernel-could-cut-data-center-power-usage-by-up-to-30.html