Proactive Energy-Aware Computing

Language
en
Document Type
Doctoral Thesis
Issue Date
2017-12-04
Issue Year
2017
Authors
Hönig, Timo
Editor
Abstract

Electrical energy is the single most important operating resource to computer systems. Although the energy demand of computers is an invisible system property by itself, the impact of energy demand is omnipresent and obvious in manifold forms of appearance. Sudden system failures (i.e., system breakdowns) and recurrent standard system operations (i.e., system charging) serve as practical examples. Energy demand of hardware components is a physical property of integrated transistor circuits that build our computers today. However, dynamic energy demand at the hardware level is caused by system activities (i.e., processes) at the software level. The analysis and improvement of system software is in focus due to the causal relationship: system software yields challenges and opportunities in equal measure in order to reduce the energy demand of the system at the hardware level. In particular, fine-tuning of system components offers distinct measures to improve the energy efficiency of computer systems. Improvements concern the coherent design of application and system software under consideration of hardware aspects.

This thesis presents, implements, and evaluates unique concepts for proactive energy-aware computing on energy-efficient systems-on-a-chip. In particular, it contributes a development method for energy-aware programming that originates in static and dynamic program analysis to support programmers at the design of energy-aware programs. To assist programmers in reducing the energy demand of their programs, the thesis proposes a software-hardware tooling infrastructure that combines energy-aware programming techniques with automatised energy demand analysis at system level. To further reduce the energy demand of computer systems, the thesis implements a process executive at the operating-system level that exploits a priori information at run time to reduce the energy demand of processes. The corresponding cross-layer approach enables the transfer of programmers’ knowledge to the operating system to reduce the energy demand at run time.

The thesis is first to combine dynamic program analysis techniques and the automatic creation of program variants to support energy-aware programming at the operating-system level. The distinct combination of application knowledge to identify and set important adjusting screws for the energy efficient operation of a computing system bound to an operating system is claimed to be novel.

Abstract

Elektrische Energie ist die wichtigste Betriebsressource für Computersysteme. Obwohl der Energiebedarf von Computern eine weitgehend unsichtbare Systemeigenschaft darstellt, sind seine Auswirkungen allgegenwärtig und in vielfältigen Erscheinungsformen offensichtlich. Plötzliches Systemversagen (z.B. Systemabsturz) und wiederkehrende Standardvorgänge (z. B. Akkuaufladung) dienen als Beispiele der Praxis. Der Energiebedarf von Hardwarekomponenten ist eine physikalische Eigenschaft integrierter Transistorschaltungen, aus denen heutige Computer bestehen. Der dynamische Energiebedarf der Hardware wird jedoch durch Systemaktivitäten (z.B. Prozesse) der Software verursacht. Die Analyse und Verbesserung der Systemsoftware steht aufgrund des folgenden Kausalzusammenhangs im Vordergrund: Systemsoftware bringt Herausforderungen und Chancen gleichermaßen mit sich, um den Energiebedarf auf Hardwareebene der Systeme zu reduzieren. Insbesondere bietet die Feinabstimmung von Systemkomponenten Maßnahmen zur deutlichen Verbesserung der Energieeffizienz von Computersystemen an. Solche Verbesserungen betreffen die kohärente Gestaltung von Anwendungs- und Systemsoftware unter Berücksichtigung von Hardwareaspekten.

Diese Dissertation präsentiert, implementiert und evaluiert spezifische Konzepte für proaktive energiebewusste Rechenvorgänge bei energieeffizienten Rechnern, die auf Ein-Chip-Systemen basieren. Insbesondere wird die Entwicklungsmethode für energiebewusstes Programmieren, die ihre Wurzeln in der statischen und dynamischen Programmanalyse hat, als Beitrag geleistet, um Programmierern bei der Entwicklung energiebewusster Programme zu helfen. Zur zielführenden Unterstützung schlägt die Dissertation hierfür eine Software und Hardware umfassende Arbeitsumgebung vor, die energiebewusste Programmiertechniken mit automatisierter Energiebedarfsanalyse auf Systemebene kombiniert. Zur weiteren Verringerung des Energiebedarfs von Computersystemen implementiert die Arbeit eine Laufzeitexekutive für Prozesse auf der Betriebssystemebene, die unter Verwendung von apriorischem Wissen den Energiebedarf von Prozessen zur Laufzeit verringert. Der entsprechende schichtenübergreifende Ansatz ermöglicht den Wissenstransfer zwischen dem Programmierer und dem Betriebssystem.

Die vorliegende Arbeit kombiniert als Erste dynamische Programmanalyse und Variantenbildung zur energiebewussten Systemprogrammierung. Diese Art der Zusammenführung von Anwendungswissen, um wichtige Stellschrauben für einen energieoptimierten Betrieb eines Rechensystems an ein Betriebssystem zu knüpfen, wird als neu beansprucht.

DOI
Faculties & Collections
Zugehörige ORCIDs