17 April 2024 858 words, 4 min. read

Energieeffiziente Software: eine Möglichkeit für mehr Wettbewerbsfähigkeit

By Pierre-Nicolas Schwab PhD in marketing, director of IntoTheMinds
Energieeffizienz ist ein Konzept, das auch für die IT gilt. In diesem Artikel entwickle ich die Idee, dass die Auswahl einer Softwarelösung auf der Grundlage ihrer Programmiersprache Produktivitäts- und Finanzgewinne bringen kann.

Cloud Computing ist in aller Munde. Unternehmen jeder Größe lassen ihre Software inzwischen auf Infrastrukturen (AWS, Azure, Google Cloud) laufen, an die sie Rechenkapazität vermieten. All diese Unternehmen haben kein finanzielles Interesse daran, Ihnen Rechenzeit zu ersparen, weil sie dabei Geld verlieren würden. In diesem Artikel untersuche ich energieeffiziente Software und erkläre, warum Öko-Programmierung auch gut für Ihren Geldbeutel ist.

Kontaktieren Sie die Marktforschungsagentur IntoTheMinds

Wenn Sie Software in der Cloud betreiben, könnten Sie eines Tages eine unangenehme Überraschung erleben. Sie sind nicht davor gefeit, dass Ihre Kosten aufgrund der – legalen oder nicht legalen – Nutzung von CPUs explodieren (siehe Video unten).

Deshalb müssen Sie die von Ihnen verwendeten Programmiersprachen genau unter die Lupe nehmen, da sie die Verarbeitungsgeschwindigkeit Ihrer Operationen beeinflussen.

Die Programmiersprache beeinflusst den Energieverbrauch

Eine Studie setzt den Maßstab für die Energieeffizienz von Programmiersprachen. Die Methode vergleicht die Speichernutzung und Ausführungsgeschwindigkeit von 10 Programmiersprachen (Perl, Python, Ruby, PHP, C, C++, Lua, Tcl, JavaScript und Java). Dieser Ansatz ist beim Vergleich des Energieverbrauchs sinnvoll, da eine schnellere Ausführung und ein geringerer Speicherbedarf im Allgemeinen zu einem niedrigeren CPU-Stromverbrauch führen.

Energie-Effizienz Ausführungszeit

Vergleich verschiedener Programmiersprachen auf der Grundlage der im Artikel zitierten Forschungsarbeiten.

Um Ihnen eine Vorstellung von den Größenordnungen zu geben, habe ich die Forschung genutzt, um ein paar Größenordnungen zu berechnen.

Ausführungszeit

    • C ist 100 Mal schneller als Python
    • C++ ist 6,7-mal schneller als Java
    • Perl ist 10 Mal schneller als Java

So erhalten Sie eine Vorstellung davon, welche Sprachen Sie wählen sollten, wenn Sie sich auf Öko-Programmierung konzentrieren wollen (ich weiß nicht, ob es diesen Begriff gibt, aber er scheint mir sehr passend).

Speicherverbrauch

Die Speichernutzung ist kein Prozess, der direkt Energie verbraucht. Allerdings kann dieser Prozess auf 2 Ebenen einen Einfluss auf die Umwelt haben. Erstens bedeutet eine effektive Nutzung des Speichers, dass Sie Ihre Maschinen nicht mit RAM ausstatten müssen (was teuer ist und die Herstellung eines elektronischen Bauteils erfordert viel Wasser). Zweitens beschleunigt die Verwendung von Speicher die Berechnungen im Vergleich zum Lesen von einer Festplatte.

    • C verbraucht 1,5 % des Speichers, den Python verbraucht.
    • C++ verbraucht 2 % des von Python verwendeten Speichers.
    • Python und Perl verbrauchen 3 % des von Java  benötigten Speichers.

C ist die energieeffizienteste Sprache

Unter den analysierten Sprachen hat C die Nase vorn. Und warum ist das so? Es handelt sich um eine Low-Level-Sprache, die eine bessere Kontrolle der Hardwareressourcen ermöglicht, wenn sie beherrscht und korrekt implementiert wird. Diese Effizienz schlägt sich in einer schnelleren Ausführungsgeschwindigkeit und einem minimalen Speicherverbrauch nieder. Das ist genau das, was wir in der gegenwärtigen Situation anstreben sollten, nur wird heute außerordentlich wenig Software in Low-Level-Sprachen entwickelt.


In einigen Fällen ist es sinnvoller, die ressourcenintensivsten Vorgänge auf einer lokalen Infrastruktur auszuführen als in der Cloud.


Was sind die praktischen Auswirkungen für Unternehmen?

Es liegt im Interesse des Unternehmens, gut programmierte, ressourcenschonende Software zu verwenden. Das spart in erster Linie Zeit. Aber wo immer möglich, sollten sie ihre ressourcenintensivsten Berechnungen vor Ort und nicht in der Cloud durchführen.

Zeitersparnis

Lassen Sie uns zunächst über die Zeitersparnis sprechen. Im Jahr 2023 befragten wir 400 IT-Manager in Unternehmen, die Data Science praktizieren. Für 47 % der Befragten war die Rechengeschwindigkeit eine der Prioritäten bei der Einführung zukünftiger Lösungen in ihrem Unternehmen.

Energie-Effizienz Finanzieller Gewinn

Das Marktforschungsinstitut IntoTheMinds befragte 400 IT-Manager in 4 Ländern (Frankreich, Deutschland, Großbritannien, USA) zu den erwarteten zukünftigen Verbesserungen im Bereich Datenlösungen.

Wenn Sie ein treuer Leser dieses Blogs sind, erinnern Sie sich vielleicht an meine Benchmarks in Bezug auf ETL-Lösungen. Eine davon, Anatella, zeichnete sich durch eine hervorragende Leistung aus. Meine Tests ergaben Leistungssteigerungen von bis zu x20. Anatella wurde mit Low-Level-Sprachen (C, C++ und Assembler) programmiert. Die Konkurrenten verwendeten vor allem auf Java basierende Technologien und konnten daher nicht mithalten. Jeder IT-Manager sollte die Sprachen lernen, die zur Programmierung der kommerziellen Softwarelösungen verwendet werden, die er erwirbt.

Bitte konsultieren Sie uns für Ihre IT-Marktforschungsaktivitäten

Finanzieller Gewinn

Unabhängig von der Art der Software ist es wichtig, daran zu denken, dass der Betrieb in der Cloud eine schlechte wirtschaftliche Kalkulation sein kann. Da das Geschäftsmodell von Cloud-Anbietern darin besteht, Ihnen Rechenminuten zu verkaufen, welches Interesse sollten sie daran haben, die Verarbeitung Ihrer Vorgänge zu beschleunigen?

Energie-Effizienz Finanzieller Gewinn

IntoTheMinds befragte 400 IT-Manager nach ihrem bevorzugten Zahlungsmodell für Datenlösungen.

Insbesondere bei der parallelen Datenverarbeitung zeigt das Amdahlsche Gesetz, dass der marginale Geschwindigkeitszuwachs mit der Anzahl der Prozessoren abnimmt. Die Mobilisierung von immer mehr Prozessoren (und damit der Einsatz von mehr Geld) ist letztlich keine finanziell attraktive Lösung für Ihre schwersten Operationen.

Deshalb ist es eine kluge Idee, die ressourcenintensivsten Vorgänge nicht in der Cloud, sondern auf einer lokalen Infrastruktur auszuführen. So vermeiden Sie nicht nur wiederkehrende Rechnungen von Ihrem Cloud-Anbieter, sondern auch den Stress, nicht zu wissen, was Sie am Ende des Monats bezahlen müssen. Ich sage das, weil ich mich bereits im Auftrag eines Kunden mit diesem Problem befassen musste.



Posted in Data & IT, Strategy.

Post your opinion

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