Koomeys Gesetz

Abb. 1: Anzahl der Operationen pro kWh für verschiedene Rechner. Die vertikale Achse hat einen logarithmischen Maßstab. Grafik: Annals of the History of Computing, 2011. (Irrtümlicherweise wurde hier zuerst eine falsche Grafik veröffentlicht, sie wurde nun durch die richtige ersetzt. Die Red.)

Die globale Erwärmung der Informationstechnologie

Der folgende Beitrag ist vor 2021 erschienen. Unsere Redaktion hat seither ein neues Leitbild und redaktionelle Standards. Weitere Informationen finden Sie hier.

Vor nur etwa dreißig Jahren hatten die wenigsten einen Computer daheim. Heute besitzt jeder Haushalt mehrere Computer und etliche Mikroprozessoren, welche in Haushaltsgeräten eingebaut ihren Dienst unsichtbar leisten. Mittlerweile ist es wichtig geworden zu hinterfragen, wie viel des Stromverbrauchs auf das Konto von Informationstechnologien geht. In den USA geht man bereits davon aus, dass IT-Rechenzentren etwa 2% des Gesamtstroms aufsaugen. Wie stromsparend (bzw. stromfressend) werden die Rechner der nächsten zehn Jahre werden?

Koomeys Gesetz

Das war genau jene Frage, die Jonathan Koomey und Koautoren sich 2009 stellten: Wie sieht die historische Entwicklung des Energieverbrauchs von Rechenmaschinen bis heute aus?1

Wir wissen, dass Rechenmaschinen - im Sinne der Anzahl der Operationen pro Sekunde - immer leistungsfähiger werden. Wir wissen auch, dass die Anzahl von Transistoren pro Speicher- oder Prozessorchip ständig anschwillt. Das sogenannte Mooresche Gesetz besagt, dass die Integrationsdichte sich alle 18 Monate verdoppelt (oder, je nach Variante des Gesetzes, alle 24 Monate). Die Anzahl der Transistoren pro Chip nimmt also exponentiell zu, womit die Preise der logischen Komponenten dementsprechend exponentiell fallen. Eine nachteilige Nebenwirkung der steigenden Integrationsdichte ist die Erhöhung des Energieausstoßes pro Quadratmillimeter in einem Chip. Mittlerweile werden Prozessoren bisweilen so heiß, dass sie nur noch mit Hilfe von großen metallischen Kühlkörpern ihre Wärme abgeben können.

Jedoch haben wenige Autoren bis heute historisch analysiert, wie der Energieverbrauch sich in Bezug auf die Prozessorleistung entwickelt hat. Koomey und Co. haben Leistungsdaten von uralten und modernen Maschinen aus der Literatur entnommen und eine Tabelle des Energieverbrauchs pro Rechenoperation aufgestellt. Das Ergebnis ist in Abb. 1 zu sehen (Anzahl der Operationen pro kWh). Die vertikale Achse bezieht sich auf diese Gesamtanzahl der Operationen pro kWh (in logarithmischen Maßstab), während die horizontale Achse die seit 1945 vergangene Zeit darstellt.

Die in der Abbildung erfassten Maschinen wurden mit Elektronenröhren (z.B. die ENIAC) oder mit einzelnen Transistoren (z.B. UNIVAC III) oder mit integrierten Schaltungen gebaut. Trotz der diversen Technologien findet man ein sehr regelmäßiges Fortschreiten der Energieverbrauchskurve, die man so zusammenfassen kann: Alle 18 Monate verdoppelt sich die Anzahl der Rechenoperationen, die man pro Watt-Sekunde (Joule) aus einem Rechner beziehen kann. Diese einfache Regel wird mittlerweile Koomeys Gesetz genannt.

Würde man eine feste Anzahl von Rechenoperationen pro Sekunde aus einem Laptop beziehen, so bedeutet dies nach Koomeys Gesetz, dass dieselbe Batterie alle 18 Monate doppelt so lange mit einem neuen Prozessor halten könnte. Dies wären gute Nachrichten, da wir langsam, aber sicher immer weniger Energie für dieselbe Rechenleistung verbrauchen würden.

Leider ist jedoch so, dass alle Benutzer "rechenhungrig" sind. Anscheinend ist auch dieser Hunger unersättlich: Neue schnellere und effizientere Prozessoren werden sofort wieder voll ausgelastet. Konnte der Computer bis heute meine Tastendrucke verstehen, so muss er ab sofort Sprachbefehle akzeptieren. Konnte die kleine Digitalkamera bis heute Bilder schießen, so muss sie ab sofort Gesichter oder ein Lächeln erkennen, rote Augen retuschieren, Bilder automatisch zusammenheften, usw.

Software verhält sich wahrlich wie ein Gas: Es dehnt sich bei jedem neuen Gerät sofort aus, füllt den ganzen Speicher und beansprucht den Prozessor aufs Höchste. Kein Programmierer ist mit dem aktuell schnellsten Prozessor zufrieden, man will immer mehr. Deswegen steigt der Energieverbrauch der IT-Branche kontinuierlich. Hätte Goethe im Computerzeitalter gelebt, wären seine letzten Worte gewesen: Mehr Rechenleistung!

Das SPEC-Power-Benchmark

Koomeys Analyse ist zwar sehr interessant, muss aber einer strengeren Prüfung unterzogen werden. In der Rechnerarchitektur gibt man sich damit nicht zufrieden, dass die Anzahl der Operationen pro Sekunde bei zwei Prozessoren verglichen wird. Ein Prozessor könnte besonders einfach sein und in jeder Rechenoperation nur wenig "logische Arbeit" leisten. Ein anderer Prozessor könnte sehr komplexe Operationen haben, die mit einem einzigen Befehl vieles auf einmal erledigen.

Deswegen gibt es seit mehr als 23 Jahren die Standard Performance Evaluation Corporation (SPEC), eine Organisation, die einen Satz von ausführbaren Programmen zur Verfügung stellt und von den Computerherstellern die Ausführungszeiten der Programmmischung sammelt. Diese so genannten "SPEC-Benchmarks" versuchen, zeitgemäße Benutzerprogramme und Ausführungslasten zu modellieren, um damit die erwartete effektive Rechenleistung von Prozessoren vergleichen zu können.

Je mehr SPEC-Leistungspunkte ein Prozessor erreicht, desto schneller können die Benchmarks ausgeführt werden, und desto schneller ist der Prozessor letztendlich im täglichen Einsatz. Wie die Rechenlasten gemessen und gemittelt werden, ist eine kleine Wissenschaft für sich, bei der ständig neue Verbesserungen vorgeschlagen werden.2

Im Laufe der Zeit hat das SPEC-Konsortium verschiedene Benchmarks herausgegeben, um die Schnelligkeit von CPUs, die Leistung von graphischen Systemen oder von Servern in Netzen zu ermitteln. Seit 2008 hat aber das SPEC-Konsortium ein neues SPEC-Power Benchmark veröffentlicht, womit "Standards für die Messung von Server-Energieleistung definiert werden, so, wie es für Rechenleistung vorher gemacht wurde". Ähnlich zu allen vorherigen SPEC-Benchmarks wird ein "Korb" von ausführbaren Programmen zur Verfügung gestellt. Die zu testenden Systeme führen die Programme aus, wobei unterschiedliche Prozessorauslastungen (10%, 20%, usw. bis 100%) benutzt werden.

Die Idee dahinter ist, dass ein Prozessor, der vielleicht nur zu 10% ausgelastet ist, trotzdem beträchtliche Energie beim "Leerlauf" konsumieren kann. Die zehn verschiedenen Prozessorauslastungen zwischen 10% und 100% (in Schritten von 10%) werden gemittelt. Da beim Ausführen des Benchmarks die Anzahl von Operationen pro Sekunde ermittelt werden kann, hat man am Ende zwei Zahlen: Wie viel Arbeit der Prozessor pro Sekunde typischerweise erledigen kann und wie viel Energie dafür benötigt wurde. Wie genau die verbrauchte Energie gemessen werden soll, ist von SPEC-Konsortium spezifiziert und dafür gibt es geeignete Messgeräte.

Vorläufig hat sich das SPEC-Konsortium auf einen Satz von Java-Programmen geeinigt und deswegen werden beim Benchmark die Anzahl der "Server Side Java"-Operationen angegeben. Die "ssjs" pro Sekunde verglichen mit dem Energieleistung in Watt, gemittelt über die verschiedene Prozessorauslastungen, ergeben eine Benchmark-Zahl, die "overall ssj_ops/Watt" genannt wird. Die SPEC-Power-Benchmarks sind mittlerweile sehr ausgefeilt und berücksichtigen Einzel- oder Mehrprozessorsystem. Eigentlich waren sie ursprünglich für Server-Systeme gedacht, können aber auch für die Bewertung von vielen anderen Computersystemen benutzt werden.

Mittlerweile sind mehr als 280 Messergebnisse an das SPEC-Konsortium mitgeteilt worden. Man kann diese Resultate auf einer Grafik abbilden, wo auf der vertikalen Achse die SPEC-Zahl angegeben wird und auf der horizontalen Achse die seit 2007 vergangene Zeit. Das Ergebnis dieser Übung habe ich in Abb. 2 zusammengetragen und dafür eine Regressionslinie berechnet.

Abb. 2: SPEC-Power-Resultate (Dezember 2007 bis Dezember 2011). Jeder Punkt entspricht einem Prozessor und dem Datum der Meldung des SPEC-Resultats. Da einige Resultate zu spät gemeldet wurden, geraten einige Maschinen sehr weit unter den Trend. Eine bereinigte Berechnung sollte nicht den Tag der SPEC-Meldung, sondern den Tag der Einführung des Prozessors berücksichtigen.

Wie man in der Abbildung sieht, sind die SPEC-Resultate seit 2007 regelmäßig gestiegen (mit der unvermeidlichen Streuung). Die Grafik zeigt, dass es besonders effiziente Prozessoren gibt, z.B. nah an 4500 SPEC-Punkten, und andere, die etwas energiehungriger sind. Der Trend (in der Kurve als Regressionslinie gezeichnet) zeigt jedoch eindeutig nach oben. Dieser Trend entspricht Koomeys Gesetz! Die SPEC-Power-Leistung verdoppelt sich alle 18 Monate (in Koomeys Artikel sind 18,8 Monate ermittelt worden, die zu 18 abgerundet wurden).

Ich muss hier zugeben, dass ich eine solche gute Übereinstimmung nicht erwartet hatte. Die Leistung von historischen Computer oder frühen PCs kann man heute nur aus unzuverlässigen Quellen approximativ bestimmen (z.B. die Rechenleistung der ENIAC oder der UNIVAC), so dass es sehr überraschend ist, dass die von Koomey und Co. ermittelte Regelmäßigkeit, die wir hier für die letzten vier Jahre mit sehr guten Daten überprüfen konnten, über eine so lange Periode doch zu entdecken ist. Allerdings zeigt die große Streuung der SPEC-Benchmarks, dass man diesen Trend cum grano salis nehmen muss. Auf dem Computermarkt befinden sich zu jedem Zeitpunkt unterschiedlich teure Prozessoren, die auch sehr ungleich in Bezug auf Leistung und Energieaufnahme sein können.

Die globale Erwärmung der Rechentechnik

Die Physiker warnen schon seit Jahren, dass die Halbleiterindustrie langsam an gewisse physikalische Grenzen stößt. Das Mooresche Gesetz kann nicht ewig fortgesetzt werden. Irgendwann würde ein Transistor oder eine Verbindungsleitung nur einige Atome enthalten.

Wir sind aber noch etwas davon entfernt. Die Halbleiterindustrie findet immer wieder neue Kniffe, um den schon als überholt angesehenen Verfahren (wie die Fotolithografie) neues Leben einzuhauchen. Die von der Semiconductor Industry Association regelmäßig herausgegebenen "Roadmaps" für die Zukunft der Halbleiterindustrie können stets erfüllt oder sogar übertroffen werden.

In Bezug auf die Energieaufnahme von Mikrochips gibt es aber gewisse Gründe zur Sorge. In der Vergangenheit konnte der Energieverbrauch der Chips durch die Herabsetzung der internen Spannung reduziert werden. Die heutigen Silizium-Designs kommen aber schon an ihre Grenzen. Viele Jahre konnte die Schnelligkeit der Prozessoren einfach durch die Heraufsetzung der Taktfrequenz erhöht werden. Seit Jahren stagniert jedoch die maximale Prozessor-Taktfrequenz. Durch den Einsatz von mehreren Kernen haben Mikroprozessoren die notwendige Steigerung der Leistungskurve noch halten können. Es ist in den nächsten Jahren zu erwarten, dass dieser Trend anhält und dass mehr und mehr Cores den heimischen Computer auf Trab bringen.

Wie schon am Anfang angemerkt, haben wir hier ein echtes Paradoxon: Computer werden immer effizienter, da immer mehr Operationen pro Joule ausgeführt werden können. IT- Rechenzentren verbrauchen aber immer mehr und mehr Energie. Mittlerweile bestellen die Regierungen Studien, nur um zu wissen, mit welcher Auslastung des Elektrizitätsnetzes in Zukunft zu rechnen ist.

Im Jahr 2007 bestellte die US-Umweltbehörde Environmental Protection Agency eine Studie für den amerikanischen Kongress, wo die Verdopplung des Energieverbrauchs von IT-Rechenzentren zwischen 2000 und 2005 thematisiert wurde. Durch die ökonomische Krise gingen ab 2008 weniger Server als erwartet ans Netz, so dass zwischen 2005 und 2010 der weltweite Energieverbrauch von Rechenzentren nur um 56% (und nicht um 100%) gestiegen ist.

Trotzdem verbrauchen Rechenzentren weltweit zwischen 1,1% und 1,5% des Stroms, und die Tendenz ist, sich den USA anzugleichen, wo inzwischen 1,7% bis 2,2% der elektrischen Energie von Rechenzentren verschlungen wird.3

Für den Computerverbrauch im Haushalt gibt es abweichende Angaben je nach Land. Es ist auch schwer zu sagen, ob ein Gerät ein Computer oder eine Musikanlage ist. Computer können auch Energie sparen, wenn z.B. die Heizung intelligent gesteuert wird. Deswegen gibt es hier, bei der Bestimmung der Wirkung von Computer in der Energiebilanz eines Haushalts, noch erheblichen Forschungsbedarf.

Und zu guter Letzt: Bei mobilen Geräten versucht man andere Prozessorarchitekturen zu verwenden, die noch weniger energiehungrig sind als Serverchips. Hier spielt die Schonung der Batterie eine sehr wichtige Rolle. Man möchte ja so lange wie möglich mit einer einzigen Batterieladung auskommen. Den Trick dafür könnte man sich beim menschlichen Gehirn abschauen. Im Gehirn werden Informationen durch asynchrone Spikes (Pulse) übertragen.

Asynchrone Informationsübertragung ist genügsam und Chip-Designer möchten auch solche sparsame Informationsübertragungsmethoden verwenden. So hat IBM in August einen spikenden Chip vorgestellt, der meiner Meinung nach wenig nützlich ist, der aber auf rekordverdächtige 45 Picojoules pro Spike (eine logische Operation) kommt (IBM vs. Blue Brain: Wettlauf der Himmelstürmer).

Vielleicht werden künftige Chipdesigner solche asynchronen Schaltungen theoretisch und praktisch beherrschen können, so dass, wenn das Mooresche Gesetz an seine unvermeidlichen Grenzen stößt, weiterhin der Energieverbrauch durch bessere Rechnerarchitekturen gesenkt werden kann.