Energieminimierende Softwaretechniken (Proseminar)

(Blockveranstaltung im Zeitraum 04.-08.03.2002)


Mikroprozessoren haben sich den Weg aus dem Großrechner, über den PC in die Geräte des täglichen Gebrauchs gebahnt. Immer mehr transportable Geräte benötigen Rechenleistung für Steuerungsaufgaben, Kommunikation oder anderen Anwendungen. Da die meisten dieser Geräte batteriebetrieben sind, lautet eine zentrale Erkenntnis der Entwicklung der letzten Jahre:

Energiesparen wird wichtig

Da diese Geräte jedoch auch immer komplexere Aufgaben übernehmen sollen, die zu verarbeitenden Datenströme immer größer werden und die Anforderungen an die Bedienbarkeit ebenfalls wachsen, gilt weiterhin:

Performance bleibt wichtig

Bei den klassischen Standardprozessoren zeigt sich, dass Programme für derartige Prozessoren, die auf eine hohe Leistung abzielen, auch in Bezug auf einen niedrigen Energieverbrauch vorteilhaft sind. Damit können hier die gängigen Techniken eingesetzt werden.

Da jedoch die wachsenden Anforderungen von mobilen Geräten durch Standardprozessoren und die dafür entwickelte bzw. optimierte Software immer schlechter abgedeckt werden, zielen die aktuellen Entwicklungen von Prozessoren bereits in der Hardwareebene auf eine Verringerung der Leistungsaufnahme ab. Für derartige Ansätze zeigt sich, dass ein Konflikt entsteht zwischen den bisher verwendeten Optimierungstechniken für eine hohe Leistung und dem Erreichen eines möglichst geringen Energieverbrauchs. Verschiedene der klassischen Methoden führen hier sogar zu einer Erhöhung des Energiebedarfs. Damit entsteht eine Situation, in der einer Suche nach Techniken, die entweder sowohl die Leistung als auch den Energieverbrauch verbessern oder zumindest eine ausgewogene Gesamtlösung bestimmen, eine zentrale Bedeutung zukommt.

Im Proseminar sollen die Grundlagen für derartige Software-Techniken und einer Reihe von Ansätzen hierzu untersucht werden. Das Hauptaugenmerk liegt bewusst auf Techniken zur Verringerung der Energieaufnahme. Die Auswirkungen auf die Performance werden jedoch mit betrachtet.

Die folgenden Punkte bilden das Gerüst für Themen, die im Proseminar behandelt werden:

  • Messung/Schätzung des Energieaufwands von Software
  • Optimierung für Speicherhierarchie/Auswirkungen auf Energieverbrauch
  • Klassische Codeoptimierung/Auswirkungen auf Energieverbrauch
  • Steuerung von Betriebsspannung und -frequenz, Abschalttechniken

  • Vorkenntnisse:

    Das Proseminar richtet sich an Studierende der Informatik im Grundstudium (Diplom oder Lehramt an Gymnasien).

    Spezielle Vorkenntnisse sind nicht erforderlich. Kenntnisse auf den Gebieten Computertechnik, Rechnerarchitektur und der Optimierung von Programmen verringern den Aufwand für die Einarbeitung.