Ökologisch Programmieren?

Solar

Als Programmierer sitzt man vor dem Bildschirm und bearbeitet seine Tastatur ein wenig – was hat das schon mit den Problemen der Menschheit zu tun? Zwar gibt es da den Song mit „.. will nur noch schnell die Welt retten ..“ aber spielt das in der gleichen Liga wie der sorgsame Umgang mit Pflanzenschutzmitteln, mit …, mit dem C02 Verbrauch beim Fliegen?

Ja, tut es!

Natürlich weniger mit den angesprochenen Emails, aber als Programmierer kann man viel bewegen. So geht am Wochenende und nach Ladenschluss die Post ab im eCommerce. Um diese vielen Anfragen bewältigen zu können, müssen wir Computer vorhalten. Die gebaut werden müssen und – wenn sie dann mal da sind, Strom und Aufmerksamkeit brauchen. All dies kostet viel Energie. So schreibt auch die aktuelle „Schrot und Korn“ darüber, und beklagt die gigantischen Ressourcen, die wir „für das Internet“ verbrauchen. Eine fundiertere Diskussion des Themas findet sich auch gerade in der aktuellen c’t.

Nicht ganz zu Unrecht – aber natürlich sind die Zusammenhänge komplizierter. Wieviel Bäume haben wir schon gerettet, weil Email die Kataloge abgelöst hat? Oder (Flug)Benzin gespart, weil wir uns per Video getroffen haben? Oder eben ein „Sammeltransport“, der Abokisten an viele Kunden liefert, die dann nicht selber in den Supermarkt fahren? Trotzdem werden wir uns diesem Argument stellen müssen.

Zurück also zur Energie, die wir beim der Bereitstellung unserer Dienste verbrauchen. Man könnte das o.g. Problem am Sonntag auch mit kurzzeitig gemieteter Rechenkapazität lösen. Das ist dann aber leider wie mit dem Straßenverkehr: Mehr Verkehrsfläche zieht auch mehr Verkehr an.

Alternativ versuchen wir Programmierer mehr Zeit in die Planung der Architektur und der Algorithmen zu stecken. Insbesondere wird auch viel überwacht, d.h. gemessen und aufgezeichnet und immer wieder ausgewertet. Dabei geht es aber nun nicht mehr um die reine Laufzeit eines Prozesses (die kann man mit vielen gleichzeitig verwendeten „Prozessoren“ verringern), sondern auch um den Stromverbrauch und die Ausnutzung des vorhandenen Computers. Es gibt viele Techniken, von der Optimierung einzelner Algorithmen, über Zwischenspeicherung (Caching) oder der gemeinsamen Nutzung von Ressourcen (die teilen sich alle Anwender die Infrastruktur).

Prozesse, wo ein Mensch vor dem PC wartet, sollten schneller gehen. Anderes machen wir halt langsamer. Leider kostet uns auch diese Denkübung etwas mehr Zeit, bis wir ein neues Feature abliefern können.
Zum Glück helfen uns hier der Kostendruck (zunehmend wird auch die Rechenkapazität, die wir mieten, bepreist in sog. CPU-Stunden), aber auch die Werkzeuge zum Messen des Verbrauches werden immer besser, die Handies haben uns das vorgemacht. Moderne Computer-Komponenten optimieren ständig ihren Stromverbrauch, so das die Wattzahl am Gehäuse wenig aussagt.

Zwar nutzen wir für eigene Computer und insbesondere auch für die gemieteten Computer und Rechenleistung schon lange CO2 neutrale Energie (95% hetzner.de, Google in Europa, unsere Büros), und so spielt dies für den CO2 Footprint zwar keine direkte Rolle. Wohl aber steht diese Energie nicht mehr für „die anderen“ zur Verfügung und ist eben deshalb doch relevent.

Um nicht wie im Rechenzentrum nur heiße Luft zu produzieren, haben wir uns eine neue Kennzahl ausgedacht, die unsere Fortschritte auf dem Feld nachvollziehbar machen soll: Wattstunden pro Internet-Bestellung. Diese Zahl wird nicht absolut richtig sein, wegen der Komplexität, aber auch weil wir schon sehr effizient sind bei der Energie-Ausnutzung. Aber die Zahl lässt sich automatisch berechnen und wir können uns an der Tendenz messen lassen.

Formel

Aller paar Sekunden berechnen wir den den mittleren Stromverbrauch jedes Computers. Dies ist ein Wert, der zwischen dem Leerlauf-Verbrauch und dem Maximalwert nach Spezifikation („TDP“) befindet und der anhand der durchschnittlichen Auslastung in dem Zeitfenster berechnet wird („load“). Hinzu kommt noch ein Faktor (=2) , der die anderen Komponenten eines Systems berücksichtigen soll.
Dieser Verbrauch wird aufsummiert und kann der erbrachten Leistung, also z.B. die Anzahl der abgewickelten Bestellungen, gegenüber gestellt werden.

Das Alter des Computers (und damit indirekt die Herstellungskosten) haben wir außen vor gelassen – man kann argumentieren, dass die lange Nutzung von Geräten gut ist, hinsichtlich des Ressourcenverbrauchs bei der Herstellung (Material und Energie). Wir mieten Rechenkapazität bei Hetzner.de und entscheiden uns stets für ältere Modelle. Da man aber bei neueren Modellen weniger Computer braucht, fließt diese Evolution indirekt -und verzögert- in die Rechnung ein.

Bei der Nutzung von externen IT-Diensten haben wir 10% der Kosten in kWh nach deutschen Preisen umgerechnet (2020: 31.47ct) und hinzugerechnet.

Im Durchschnitt: 0,3 Wh/Bestellung

Dies ist ein erster Wert – wir haben die Infrastruktur zur Messung geschaffen und haben eine erste Orientierung. Wie jede Kennzahl wird dies aber nur einen Teil unseres Handelns bestimmen. Das Bestellen in den Shops muss trotz der Effizienz Spass machen – sonst kauft keiner und wir könnten beim CO2 sparen an dieser Stelle nicht helfen!

3 Gedanken zu „Ökologisch Programmieren?“

  1. Leider ist der genutzte Öko-Strom aus Wasserkraft nicht immer eine „echte“ Öko-Lösung. Denn i.d.R. kaufen die Energieversorger dabei lediglich Zertifikate. Das funktioniert so: In Norwegen oder in den Alpen gibt es viele Wasserkraftwerke, die erneuerbaren Strom produzieren. Dieser wird ins Netz eingespeist. Für jede kwh so produzierten Strom erhält der Erzeuger ein Zertifikat, das er verkaufen kann. Energieversorger kaufen dieses Zertifikate auf dem Markt, der TÜV bestätigt, dass die Mengen an verkauftem „grünen“ Strom durch die Anzahl der Zertifikate gedeckt ist, alle sind zufrieden.
    ABER: Es wurde keine kwh zusätzlicher Öko-Strom produziert! Hart gesagt: In Norwegen schert sich kein Verbraucher um die Zertifikate, alle wissen, dass der Strom aus Wasserkraft stammt. Die Zertifkate werden nach Deutschland verkauft und damit wird Braunkohle- und Atomstrom „vergrünt“. Auf dem Papier ist alles super, auch rechtens – in der Praxis wird keine Tonne CO2 eingespart.
    Dies gelingt nur, wenn „echter“ Ökostrom gekauft wird. Von Firmen, die nicht nur Zertifikate handeln, sondern tatsächlich zusätzliche erneurbare Erzeugung finanzieren und direkt bei den Erzeugern kaufen. So wie Google 😉
    Ist dann auch teurer, aber wir wissen ja: Alles im Leben hat seinen Preis.

  2. Ja, man muss wirklich genau hinschauen. Hetzner’s haben zwar kein eigenes Kraftwerk gebaut, aber „echten“ grünen Strom. Bei unseren Stadtwerken in Dresden ist mir das leider nicht ganz so klar…aber trotzdem auch teurer 😉

Kommentare sind geschlossen.