Hardware wird immer schneller, doch Code-Optimierung bleibt gefühlt hinter der Hardwareentwicklung zurück. Doch Code-Optimierung ist verantwortlich dafür wie gut die mögliche Performance der Hardware auch wirklich genutzt werden kann. Kleine Änderungen können Effizienz und Leistung erheblich steigern.
Genau das haben Forscher der Cheriton School of Computer Science an der University of Waterloo erreicht. Mit nur 30 Zeilen Code für den Netzwerk-Stack des Linux-Kernels könnten Rechenzentren bis zu 30 Prozent weniger Energie verbrauchen. Diese Änderungen sind nun in der Version 6.13 des Linux-Kernels veröffentlicht worden.
Das Projekt entstand aus dem Wunsch heraus, die Leistungsunterschiede zwischen Nutzer- und Kernel-Netzwerkansätzen zu erklären. Linux war traditionell interrupt-gesteuert, was früher effizient war. Zur Erklärung, dabei unterbricht die CPU ihre laufenden Prozesse, um Netzwerkpakete zu verarbeiten. Moderne Anwendungen wie Reverse-Proxies profitieren jedoch von aktivem Netzwerk-Polling. Adaptive Steuerung wechselt je nach Datenverkehr zwischen beiden Methoden, um Energie zu sparen. Bei hohem Datenaufkommen fragt der Kernel aktiv nach neuen Paketen. Bei geringem Verkehr kehrt er zur energieeffizienten Interrupt-Methode zurück.
2023 wurde eine erste Version vorgestellt. Forscher optimierten sie weiter, gemeinsam mit Linux-Entwickler Joe Damato. Tests zeigen bis zu 45 Prozent mehr Durchsatz und 30 Prozent weniger Energieverbrauch. Die Umsetzung wird Zeit brauchen, da viele Unternehmen auf LTS-Kernel setzen. Hochleistungsrechenzentren profitieren weniger wegen RDMA-Technologie. Dennoch beweist der Patch, dass Software-Optimierung unverzichtbar bleibt.
Trotzdem zeigt der Patch, dass es sich lohnt, bestehende Software zu überprüfen und zu optimieren. Nachdem es lange Zeit nur um Hardware-Specs ging, kommt die Hardware langsam an gewisse Grenzen. Hier ist der Ansatz durch Code-Optimierung Leistung herauszukitzeln genau der richtige Weg um moderne Hardware nachhaltig zu betreiben und somit Energie einzusparen ohne dabei auf Rechenleistung zu verzichten.
Schreibe einen Kommentar