Rechenzentren stehen vor einer großen Herausforderung, denn die kontinuierliche Zunahme neuer Technologien wie Cloud Computing sorgt dafür, dass ihr Stromverbrauch stetig steigt. In Frankfurt geht beispielsweise mehr als ein Fünftel des Gesamtenergieverbrauchs der Stadt auf das Konto von IT-Anwendungen. Neben sparsamen Prozessoren oder neuer Klimatechnik auf der Hardware-Seite ist ressourcenschonende Software andererseits deshalb ein wichtiger Aspekt, um Rechenzentren grüner zu gestalten.
Im Gegensatz zu Prozessoren gibt es für Programme derzeit noch keine verlässlichen Vergleichsbenchmarks. Dennoch kann Software die Energieeffizienz im Rechenzentrum beeinflussen. So können etwa zwei unterschiedlich geschriebene Programme mit denselben Funktionen erhebliche Abweichungen beim Stromverbrauch aufweisen, wenn beispielsweise eine der beiden Versionen unbeabsichtigt verhindert, dass ein Gerät in den Energiesparmodus wechselt, weil dieser Aspekt bei der Entwicklung nicht berücksichtigt wurde.
Das Umweltbundesamt hat dazu Ende 2018 eine valide Bewertungsgrundlage in Form einer Studie veröffentlicht und 25 Kriterien sowie 76 Indikatoren definiert, um die Komplexität der Wirkmechanismen zwischen Hard- und Software bzw. die Inanspruchnahme von Hardware-Ressourcen durch Software auf der Basis klar definierter Standardszenarien überprüfbar zu machen.
Speicherzugriffe optimieren
Ein wichtiger Punkt in diesem Zusammenhang ist die Art und Weise, wie ein Programm auf gespeicherte Daten zugreift. Bei fast jeder Interaktion zwischen Speichermedium und Hauptspeicher werden Datensätze aus einer Datenbank gelesen und wieder zurückgeschrieben.
Um die Nachhaltigkeit zu unterstützen, gilt es daher, Redundanzen durch Datendopplung zu vermeiden, den Speicherzugriff auf wirklich benötigte Informationen einzuschränken und so die Prozessorbeanspruchung zu minimieren. Wenn etwa eine Kundenstammdatenstruktur aus hundert Datensatzfeldern besteht, von denen für eine Abfrage aber nur zehn relevant sind, sollten daher auch nur diese zehn Felder angesprochen werden, und nicht – wie vielfach noch praktiziert – alle hundert.
Investition in neue Software abwägen
Eine firmenweit konsolidierte Datenbankgrundlage ist oft der einzige Weg, um Datendopplungen zu vermeiden. Das ist aber gar nicht so einfach, denn stammen Controlling- und CRM-Software etwa von verschiedenen Herstellern, muss mit zwei verschiedenen Kundendatenstämmen weitergearbeitet werden. Hier gilt abzuwägen, wie und ob die Energieersparnis aufgrund minimierter Speicherzugriffe nebst Effizienzgewinn dank vereinheitlichter Datenpflege eine Investition in neue CRM- oder Controlling-Software rechtfertigt.
Wartungsarme Software wichtiger als Programmiersprache
Derzeit gibt es noch keine Untersuchungen, die den Einfluss bestimmter Programmiersprachen oder Compiler auf den Ressourcenverbrauch der Programme verlässlich aufzeigen. Auch die Studie des Umweltbundesamtes lässt diese Frage offen. Konkrete Auswirkungen des Quellcodes auf die Energieeffizienz der Anwendung zeigen sich jedoch nur dann, wenn bestimmte Designprinzipien bei Softwareentwicklung und Coding Berücksichtigung finden.
Das bedeutet: Ein schlecht strukturierter und chaotischer Code kann in jeder Programmiersprache für ineffiziente Software sorgen. Eine schlanke, wartungsfreundliche und ressourcenschonende Software-Architektur ist daher stets wichtiger als die Festlegung auf bestimmte Sprachen oder Compiler.
Unterschiede beim betriebssystembedingten Energieverbrauch
Das gilt allerdings nicht für das Betriebssystem: Generell gelten die Nachhaltigkeitskriterien des Umweltbundesamtes hier genauso. Wie groß die Unterschiede im betriebssystembedingten Ressourcenverbrauch sind, zeigt sich etwa beim Vergleich verschiedener Container-Technologien: Ein Container mit lediglich zehn Klienten ist weniger energieeffizient als einer mit doppelt so vielen.
Im Marktsegment Virtualisierung zeichnet sich zudem ein Trend in Richtung herstellerübergreifender Plattform-Portabilität von Containern ab, was die Energieeffizienz eines Systems vermutlich weiter verbessern wird, weil dies den Einsatz besonders ressourcensparender Container, beispielsweise auf Linux-Basis, ermöglicht.
Geräte länger nutzen und auf nachhaltige Software-Architektur setzen
Des Weiteren beeinflussen Software und Betriebssystem auch die Nutzungsdauer eines IT-Systems. Es ist beispielsweise bekannt, dass Laptop oder Smartphone nach System-Updates langsamer laufen, was dazu führt, dass Nutzer irgendwann ein neues Gerät kaufen müssen. Würde bei der Neu- oder Weiterentwicklung von Softwareanwendung mit bedacht werden, diesen Effekt zu reduzieren, hätte dies weitere positive Auswirkungen auf die Nachhaltigkeit des Gesamtsystems.
Denn: Je länger eine Hardware im Einsatz bleibt, desto mehr lassen sich all die Ressourcen ausnutzen, die für Herstellung, Transport, Vertrieb und Implementierung aufgewendet wurden. Verlängerte Nutzungsdauer und nachhaltige Software-Architektur wirken sich daher auch positiv im Sinne eines sinkenden IT-Investitionsbedarfs aus.
Nachhaltigkeitssiegel für Software gefordert
Im Moment lässt sich das Ressourcenverhalten einer Software noch nicht sofort erkennen, da es beispielsweise keine Energieeffizienzskalen gibt. Daher empfiehlt die Studie des Umweltbundesamtes die Einführung eines Nachhaltigkeitssiegels für Software nach dem Vorbild des „Blauen Engels“.
Bis es ein derartiges Zertifikat gibt, können Unternehmen ihre Software-Anbieter nach der Energieeffizienz ihrer Produkte fragen. Außerdem können sie in Erfahrung bringen, welche Vorkehrungen die Entwicklungsabteilung getroffen hat, um einen Anstieg des Ressourcenbedarfs nach Updates verlässlich einzudämmen.
Oliver Henrich ist Vice President Product Engineering Central Europe bei Sage.