iPhone & Co.: Mehr Akku für alle dauert nicht mehr lange

Es geht in jedem Jahr weiter mit den Veröffentlichungen von Apple – und natürlich auch mit dem Medienrummel. Es ist viel über das iPhone X, das Ende des Home-Buttons, die „Face ID“-Funktion, das drahtlose Aufladen und noch über vieles mehr geschrieben worden. Irgendwo auf der Liste der Neuerungen war eine verbesserte Akkulaufzeit, zumindest für das iPhone X. Dies wird Dank seines neuen, aufgemotzten A11-Bionik-Prozessors ermöglicht.

Apple sagt, dass das neue Gerät bis zu zwei Stunden länger halten wird als das iPhone 7. Dies könnte eine Netzsession von gut 14 Stunden bedeuten. Die Akkulaufzeit auf dem iPhone 8 scheint dagegen mit der seines Vorgängers vergleichbar zu sein. Das kabellose Aufladen – eine Entwicklung, zu der Apple erst spät dazustößt – macht bei der Akkuleistung keinen Unterschied.

Verbesserungen an den Batterien sind bei neuen Smartphone-Modellen für Verbraucher enorm wichtig. Bei Samsung gab es hier viele wichtige Neuerungen, als sie im vergangenen Monat das Galaxy Note 8 auf den Markt brachten. Zwar wurde hier die Akkulaufzeit nicht wirklich verlängert, aber immerhin wurde dafür gesorgt, dass die Probleme des Vorgängermodells Note 7S, das gerne mal in Flammen aufging, umgangen werden konnten.

Doch auch die besten Produkte sind nach Jahrzehnten in der Mobile-Computing-Revolution noch relativ begrenzt in Sachen Ladung und Akkuleistung. Auch die Geräte von Apple sind innerhalb der letzten zehn Jahre nur mäßig fortgeschritten.

Bislang konzentrierten sich die Hersteller eher auf die Verbesserung der Batterietechnologie und packten immer mehr Energie auf immer weniger Raum. Das Galaxy Note 7S schreckte durch seine Entflammbarkeit eher ab. So lernten die Hersteller ihre Lektion, wenn es um die Frage ging, was schief gehen kann, wenn die Akku-Energie als Wärme freigesetzt wird. Die Hersteller bemühen sich auch um die Verbesserung anderer mobiler Hardware, die Energie verbraucht – einschließlich Display, WiFi, GPS und Zentraleinheit (CPU). Die verbesserten CPUs und OLED-Bildschirme der neuen iPhones machen sie beispielsweise batteriefreundlicher.

Ein Bereich, der erstaunlich wenig Beachtung gefunden hat, ist jedoch der Energieverbrauch von Software. Um genau zu sen, geht es um die Energie, die von der CPU verbraucht wird, wenn sie eine bestimmte Software ausführt. Weder Samsung noch Apple schienen mit ihren neuesten Entwicklungen sonderlich große Schritte in diese Richtung zu machen. Dieses Thema könnte jedoch einen großen Unterschied in der Frage ausmachen, wie lange wir unsere Geräte in Zukunft aufladen müssen.

Softwareentwicklung auf einem neuen Level

Vor Jahrzehnten, als Computer noch tausendmal langsamer waren, haben die Entwickler den Code mit der Hand nahezu perfekt abgestimmt, um jedes bisschen Leistung aus der Maschine herauszuholen. Aber weil auch die Software immer komplizierter geworden ist – dank neuer Funktionen, verbesserter Benutzererfahrung und so weiter – ist dies nicht mehr möglich.

Die Softwareentwicklung ist nun sehr weit von dem einfachen binären Code entfernt, den die CPU ausführt. Entwickler verlassen sich auch auf Sammlungen mit bereits vorhandenem Code, weil es zu lange dauern würde, jede Anweisung von Grund auf neu zu erstellen. Beide Änderungen verringern den Aufwand und beschleunigen die Entwicklungszeit erheblich. Aber der finale Code enthält oft Teile, die in einer bestimmten Anwendung redundant sind. Oder aber er könnte mit effizienteren, maßgeschneiderten Segmenten verbessert werden.

Diese Nachteile versuchen die Entwickler oft dadurch abzumildern, dass sie ihren Code so schnell wie möglich durchlaufen lassen. Was allerdings in der Theorie den Energieverbrauch reduziert. In der Praxis funktioniert das aber nicht immer, da manche Anleitungen mehr Prozessorleistung verbrauchen als andere und den Nutzen letztlich neutralisieren können. Daraus folgt, dass der Energieverbrauch der Software im Laufe der Jahre deutlich gestiegen ist. Niemand kümmerte sich darum, da die meisten Programme auf Maschinen liefen, die mit Netzstrom betrieben wurden. Dies hat sich geändert, seit wir immer mehr mobile Geräte nutzen. Gleichzeitig nimmt die Besorgnis über den Zusammenhang zwischen Stromverbrauch und Klimawandel zu.

Die KIs werden es schaffen

Es gibt noch einen weiteren Grund, warum die Entwickler dieses Problem nur langsam angegangen sind. Der Energieverbrauch von jeder Software war sehr schwer zu messen. Das liegt daran, dass die Konfiguration jedes Geräts unterschiedlich ist. Der Energieverbrauch kann sich ändern, je nachdem, ob ein Programm schon einmal gelaufen ist oder ob andere Programme laufen.

In letzter Zeit gibt es jedoch Fortschritte. Sie verwenden maschinelles Lernen, um den Energieverbrauch einzuschätzen, indem sie bestimmte Codezeilen oder Softwarekomponenten analysieren und Energiedaten aus anderen Programmen, die auf vielen anderen Geräten ausgeführt werden, referenzieren. Wird dies erfolgreich ausgeführt, könnte der Computer, den schweren Teil der Arbeit erledigen. Er soll nach alternativen Programmen suchen, die die Software leistungsfähiger machen.

Willkommen beim suchebasiertem Software-Engineering. Es funktioniert so einfach wie das Auffinden von redundanten Codes oder die Feinabstimmung der Konfiguration. Es kann sich auch auf den bestehenden Quellcode erstrecken. Unsere eigene Arbeit hat sich sowohl mit der Auswahl alternativer Softwarekomponenten aus bestehenden Sammlungen als auch mit der Generierung neuer Code-Stückchen beschäftigt. Wir haben es sogar geschafft, mehrere hundert Fehler in Hadoop, einem sehr weit verbreiteten Software-Framework, zu finden und zu reparieren.

Wir haben die Vision, dass diese suchebasierten Methoden zur Verbesserung der Energieeffizienz in die sogenannte „Compiler“-Phase integriert wird, wenn Computercodes, die von Menschen stammen, in Nullen und Einsen umgewandelt werden und die die Maschine versteht. Diese Suchvorgänge würden automatisch ablaufen und Entwickler müssten nicht an sie denken – ihr Code wäre sofort effizient.

Eines ist klar: Es liegt noch ein langer Weg vor uns.

Die Hauptschwierigkeit besteht darin, den Energieverbrauch der Software richtig einzuschätzen, insbesondere für viele verschiedene Geräte gleichzeitig. Aber das Potenzial der nächsten fünf Jahre macht uns neugierig. Wir konnten eine Reduzierung des CPU-Energieverbrauchs um 40 Prozent bis sogar 70 Prozent für eine Reihe spezifischer Aufgaben aufzeigen. Und es ist nicht unvorstellbar, dass dies eines Tages über die gesamte laufende Software repliziert werden kann.

In Kombination mit besseren Batterien und mehr Verbesserungen der Hardware-Leistung, wie beispielsweise Bildschirmen, die keine zusätzliche Energiequelle benötigen, könnten wir von gravierenden Verbesserungen der Akkulaufzeit sprechen. Die führenden Hersteller sprechen in Zukunft vielleicht nicht mehr von einer schrittweisen Verbesserung der Akkulaufzeit. Sie könnte sich auch schon bald um viele Stunden und vielleicht sogar Tage erhöhen.

Dieser Artikel erschien zuerst auf „The Conversation“ unter CC BY-ND 4.0. Übersetzung mit freundlicher Genehmigung der Redaktion.


Image (adapted) „Battery“ by 3dman_eu (CC0 Public Domain)


The Conversation

ist wissenschaftlicher Mitarbeiter an der Universität von Stirling. Alexander ist Teil der CHORDS-Forschungsgruppe, die derzeit an dem Projekt DAASE (Dynamic Adaptive Automated Software Engineering) arbeitet. Das Projekt untersucht automatisierte Ansätze zur Bewältigung von Software-Engineering-Problemen.


Artikel per E-Mail verschicken
Schlagwörter: , , , , , , , , , , , , , ,

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert