Onderzoek van de Universiteit van Waterloo optimaliseert 30 regels code om CPU-efficiëntie te verhogen en energieverbruik te verlagen
Een eenvoudige aanpassing van slechts 30 regels code in de Linux-kernel zou het energieverbruik van datacenters met maar liefst 30% tot 45% kunnen verminderen. Dit blijkt uit een studie van de Cheriton School of Computer Science van de Universiteit van Waterloo (Canada). De resultaten werden gepresenteerd tijdens de ACM Sigmetrics 2024 conferentie en stellen een niet-invasieve optimalisatie voor die de netwerkprestaties verbetert zonder dat er nieuwe functionaliteiten aan het besturingssysteem hoeven te worden toegevoegd.
Optimalisatie gebaseerd op efficiënte cache en onderbreking-suspensie
Professor Martin Karsten, een van de hoofdonderzoekers, legt uit dat de aanpassing is gebaseerd op het herorganiseren van de volgorde van bewerkingen binnen de Linux-netwerkstack. Deze verbetering zorgt voor een betere benutting van de CPU-caches, vergelijkbaar met het herschikken van processen in een productielijn om onnodige bewegingen te vermijden.
"We hebben niets toegevoegd, we hebben alleen de volgorde van uitvoering veranderd. Het is alsof je een fabriek opnieuw ontwerpt zodat alles logischer stroomt," verklaarde Karsten. De wijziging maakt gebruik van het IRQ-onderbrekingsmechanisme, waardoor het aantal processoronderbrekingen tijdens drukke perioden kan worden verminderd, wat een verbeterde energie-efficiëntie oplevert zonder de latentie tijdens rustige momenten te benadelen.
Een aanpassing met wereldwijde potentieel
De wijziging is ontwikkeld in samenwerking met Joe Damato, senior engineer bij Fastly, en kan een significante impact op grote datacenters hebben als deze op grote schaal wordt aangenomen. Aangezien Linux het dominante besturingssysteem is in server omgevingen, zou deze optimalisatie wereldwijd aanzienlijke energiebesparingen betekenen.
"Als bedrijven zoals Amazon, Google, IBM, Oracle of Meta deze functie zouden activeren, zouden we wereldwijd gigawatt-uur aan energie kunnen besparen," aldus Karsten. "Elke aanvraag die over het internet gaat, zou kunnen profiteren van deze verbetering."
De implementatie maakt deel uit van een breder project om een groene serverruimte te creëren in het nieuwe wiskundige gebouw van de universiteit.
De gemeenschap van vrije software steunt het voorstel
De aanpassing heeft positieve reacties gekregen vanuit verschillende sectoren van de gratis softwarebeweging. Ann Schlemmer, CEO van de open-source databasefirma Percona, beschouwde het als een voorbeeld van het samenwerkingspotentieel van vrije software.
Ook Jason Soroko, expert van cybersecuritybedrijf Sectigo, waardeert het voorstel als "legitiem en met een hoge impact op lange termijn", waarbij hij opmerkt dat vergelijkbare optimalisaties in andere gebieden van het besturingssysteem kunnen worden toegepast.
Besparing op grote schaal met kleine veranderingen
Hoewel een enkele netwerkpoort niet veel energie verbruikt, worden de effecten op grote schaal versterkt. Volgens Jamie Boote, beveiligingsconsultant bij Black Duck Software, kan een enkele serverrack ongeveer 160 watt alleen al aan netwerkinterfaces verbruiken. Het verminderen van dit verbruik in honderden of duizenden racks is te vergelijken met het vervangen van een hele installatie van gloeilampen door LED-verlichting.
"De huidige netwerkstack van Linux is ontworpen voor veel minder veeleisende hardware," legt Boote uit. "Het herprioriteren van systeemtaken op basis van verkeer helpt om energie efficiënter te gebruiken in moderne architecturen."
Niet geschikt voor alle omgevingen
Ondanks de voordelen waarschuwt Ariadne Conill, ontwikkelaar van Alpine Linux en mede-oprichtster van Edera, dat de optimalisatie niet universeel is. De implementatie vereist handmatige aanpassingen via tools zoals ethtool en richt zich vooral op grote datacenteroperators (hyperscalers) met netwerkspecifieke toepassingen.
Bovendien kan deze aanpak de voorspelbaarheid van netwerklatentie beïnvloeden en de resource toewijzing verstoren. Daarom wordt het als een configureerbare optie aanbevolen en niet als een standaardconfiguratie.
"Het is een interessante verbetering, maar moet worden gebruikt in gecontroleerde omgevingen waar compromissen goed beheerd kunnen worden," concludeert Conill.
Samenvattend
Het Canadese onderzoek toont aan dat energie-efficiëntie niet altijd grote investeringen vereist, maar kan worden gevonden in precieze aanpassingen van de code. In een wereld waar IT ongeveer 5% van het wereldwijde dagelijkse energieverbruik vertegenwoordigt, kunnen optimalisaties zoals deze een groot verschil maken.
Het voorstel heropent ook de discussie over de efficiëntie in moderne programmering, waar de focus verschoven is van optimalisatie naar functionaliteit. Voor Karsten en zijn team is het tijd om die focus van precisie te heroverwegen: "Duurzaamheid moet een prioriteit worden in softwareontwikkeling," besloot hij.
Bron: Technewsworld
