Inhaltszusammenfassung:
Elektronische Systeme spielen im täglichen Leben eine immer wichtigere Rolle. Insbesondere trifft dies für digitale eingebettete Systeme zu, die mikro- bzw. nanoelektronische Hardware-Komponenten integrieren, um bestimmte Funktionalitäten durch die Ausführung dedizierter Softwareprogramme zu erbringen. Eingebettete Hardware/Software-Systeme sind dadurch zum führenden Mittel für Innovationen und Wachstum in nahezu allen Anwendungsdomänen geworden, wobei insbesondere der Markt für mobile elektronische Geräte in jüngster Vergangenheit enorme Zuwachsraten erfahren hat. Deren Energieversorgung ist aufgrund des limitierten Energiespeichers jedoch zu einem primären Problem und damit zu einem entscheidenden Wettbewerbskriterium im Markt geworden, da sie trotz strenger Anforderungen immer komplexere und zum Teil hochgradig vernetzte Aufgaben erfüllen müssen. Neben der Entwicklung neuer und effizienter Hardware-Plattformen ist deshalb die Entwicklung von Strategien zur Minimierung des Energieverbrauchs bzw. der Optimierung der Energieeffizienz durch gezielte Anwendung von Low-Power-Mechanismen ein entscheidender Faktor.
In dieser Arbeit wird dargestellt, wie durch modellbasierte Analysen der auszuführenden Funktionalität eine applikationsspezifische Optimierung der Energieeffizienz unter Berücksichtigung der an das System gestellten Anforderungen und der zugrunde liegenden Hardware-Plattform bzw. durch Verwendung unterschiedlicher Betriebszustände dieser Zielarchitektur durchgeführt werden kann. Zunächst wird ein Algorithmus vorgestellt, der die zur Entwurfszeit statisch bestimmbaren Eigenschaften des Systemmodells, wie z.B. die maximale Ausführungszeit, einbezieht und der auf der mathematischen Formulierung eines Optimierungsproblems basiert. Das dadurch entstehende nichtlineare Problem wird durch Abstraktion und Hinzunahme zusätzlicher Parameter in ein lineares Problem umformuliert. Ziel dieser Optimierung ist sowohl die energieeffiziente Abbildung der spezifizierten Applikationen auf ausführende Berechnungseinheiten, als auch deren zeitliche Ablaufplanung, sowie die Zuordnung verfügbarer Betriebszustände unter Berücksichtigung der durch Zustandswechsel hervorgerufenen zusätzlichen Aufwände. Durch die anschließende automatische Generierung eines ausführbaren Modells bzw. virtuellen Prototypen werden eine frühzeitige Evaluierung des Systemverhaltens, sowie die Extraktion typischer Nutzungsszenarien der Applikationen ermöglicht. Anhand dieser Szenarien erfolgt durch Abbildung der durch ein SDF-Modell (Synchrones Datenflussmodell) modellierten Applikation auf eine erweiterte Max-Plus-Algebra eine Vorberechnung aller gültigen Systemzustände, die potentiell während der Laufzeit des Systems eingenommen werden können. Durch Anwendung einer definierten Strategie des Energiemanagement wird die Energieeffizienz optimiert, indem während des Betriebs eine dynamische Anpassung der Betriebszustände erfolgt und das System somit unter Einhaltung der Anforderungen dynamisch in einen energieeffizienten Zustand versetzt wird.
Zur Veranschaulichung werden Ergebnisse präsentiert, die durch die Abbildung von Anwendungen auf die Intel-SCC-Architektur erzielt wurden. Diese Architektur verfügt über 64 Berechnungskerne, sowie über Möglichkeiten zu einem durch den Benutzer spezifizierten dynamischen Power-Managements.
Abstract:
Electronic systems are playing an increasingly important role in daily life. This is particularly true for digital embedded systems that integrate micro- and nanoelectronic hardware components to provide a specific functionality by running dedicated software programs. Thus, embedded hardware/software systems have become the leading means for innovation and growth in virtually all application domains. Especially, the market for mobile electronic devices has undergone a tremendous growth in recent years. Their power consumption, however, is a major problem due to the limited energy storage capabilities of today’s battery technologies and thus becomes a decisive competition criterion in the market. Furthermore, these systems have to fulfill increasingly complex and highly interconnected tasks while still meeting strict requirements. Besides of developing new and efficient hardware platforms, the development of strategies to minimize energy consumption and optimize energy efficiency by applying low-power mechanisms is a crucial factor.
In this work, a model-based approach for application-specific optimization of energy efficiency by using different operating states of the target architecture is described based on the analysis of the executed functionality. This optimization process takes both the requirements imposed on the system and the underlying hardware platform into account. First, an algorithm is presented which incorporates design-time properties of the system model, e.g. the worst-case execution time of an application, and which is based on the mathematical formulation of an optimization problem. The resulting non-linear problem is reformulated to a linear problem by abstraction and addition of further parameters. The objectives of this optimization are both an energy-efficient mapping of the specified applications on available computation units and their temporal scheduling, as well as the dynamic allocation of available operating modes taking into account additional overheads caused by mode changes. An automatic generation process of an executable model or a virtual prototype respectively enables an early evaluation of the system behavior, as well as the extraction of typical usage scenarios of applications. Based on the analyzed scenarios a pre-calculation of all valid system states is done using an extended max-plus algebra representing the application execution modeled by an extended SDF model. Applying a defined management strategy, the energy efficiency is optimized by performing a dynamic adjustment of operating modes during runtime. So, the embedded hardware/software system is dynamically set to an energy-efficient state considering the actual system requirements.
The results of this work are achieved by mapping applications onto the Intel SCC architecture. The SCC architecture contains 64 cores and a meshed on-chip communication network, as well as a user-controllable dynamic power management.