Zafar Azeemi, N. (2007). An energy aware framework for mobile computing [Dissertation, Technische Universität Wien]. reposiTUm. http://hdl.handle.net/20.500.12708/184207
Energy Aware; Source-to-Source; Multimedia Processor; Workload Characterization.
en
Abstract:
Seit dem Bestehen von mobilen Rechensystemen ist Energieverbrauch ein entscheidender Faktor. Obwohl bereits zahlreiche Forschungsergebnisse zu hardwarel¨osungen mit niedrigem Energieverbrauch gef¨uhrt haben, ist mittlerweile klar geworden, dass Energieeinsparungen auf h¨oherer Ebene, wie beispielsweise bei Betriebssystemen und - anwendungen, vermehrt in Betracht gezogen werden sollten.<br />Diese Dissertation belegt, dass eine energiebewusste Compilierung zur Verringerung der Ausf¨uhrungszeit f¨uhrt und somit ein wesentliches Kriterium darstellt, um ein effizientes eingebettetes System f¨ur mobile Datenverarbeitung zu gew¨ahrleisten.<br />Unsere Arbeit besch¨aftigt sich mit einem neuen Entwicklungs-Paradigma, das sich nicht mehr auf einzelne logische Gatter als grundlegende Entwicklungselemente konzentriert, sondern sich einzelnen Instruktionen auf einem eingebetteten Prozessor widmet.<br />Digitale Signalverarbeitungsprozessoren f¨ur Multimediaanwendungen stellen f¨ur ein mobiles Datenverarbeitungssystem die preiswerteste L¨osung dar, um eine optimale Datendurchlaufzeit bei niedrigem Energiebedarf zu gew¨ahrleisten. Diese nutzen hierf¨ur die Parallelit¨at auf Instruktionsebene (ILP) von Programmen, um damit mehrere primitive Instruktionen zur gleichen Zeit ausf¨uhren zu k¨onnen. In der vorliegenden Dissertation wird die Programmparalellisierung mit einem speziellen Monitor erfasst. Weiters schlagen wir eine schrittweise Compilierung vor, um den gegebenen Programmcode in "C" zu optimieren.<br />Ein weiterer Beitrag besteht aus einer Programmumgebung zur Analyse von Anwendungen und deren Optimierung. Hierbei wird das Programmverhalten auf mehreren Ebenen (statischer Ebene, Compilierung, Scheduling, Linking, und w¨ahrend der Ausf¨uhrung) ¨uberwacht. Diese Analysen werden anschließend von einem Optimierungsprogramm verwendet, um eine optimale Compiler-Konfiguration zu ermitteln. In dieser Arbeit werden zwei verschiedene Methoden f¨ur die Auswahl der Optimierungsoptionen vorgestellt, na ¨mlich ein Gradientenverfahren und ein stochastisches Verfahren.<br />Beide Verfahren werden mit verschiedenen Multimediaanwendungen aus unterschiedlichen Bereichen wie beipsielsweise Video-Kodierung (MPEG2, H-264L), Audio-Kodierung (G-723, MP3) und Bioinformatik (Gllimmer, Fgene) getestet.<br />Schließlich schlagen wir Metriken zur Erfassung der Korrelation zwischen Anwendung und Hardware vor, die unsere Behauptung untermauern, dass eine ideale Leistung des mobilen Datenverarbeitungssystems nur dann erreicht werden kann, wenn die Hardwarekapazit¨at sowie das Programmverhalten perfekt zusammenpassen. Die Leistungsf¨ahigkeit dieser Metriken wird anhand der Prozessoren Trimedia DSP 1300, Blackfin DSP ADSP533 und PIII-850 gezeigt.<br />
de
Since their inception, energy dissipation has been a critical issue for mobile computing systems. Although a large research investment in low-energy circuit design and hardware level energy management has led to more energy-efficient architectures, even then, there is a growing realization that the contribution to energy conservation should be more rigorously considered at higher levels of the systems, such as operating systems and applications.<br />This dissertation puts forth the claim that energy-aware compilation to improve application quality both in terms of execution time and energy consumption is essential for a high performance mobile computing embedded system design. Our work is a design paradigm shift from the logic gate being the basic silicon computation unit, to an instruction running on an embedded processor. Multimedia DSP processors are the most lucrative choice to a mobile computing system design for their optimal performance delivery in high data throughput at low energy. They use instruction-level parallelism (ILP) in programs, for executing more than one primitive instruction at a time. In this work, we exploit the parallelism slacks, unraveled by the native multimedia DSP compilers.<br />We propose an iterative compilation environment to optimize a given 'C' source code.<br />The contributions of our framework are the collaboration of an application profile monitor (APM) together with an optimization engine in native multimedia DSP Software Development Environments (SDE). We propose to monitor application behavior at all levels (such as static, compilation, scheduling, linking and during execution). These APMs are later used in an optimization engine to speculate optimal code transformation schemes. These schemes are applied successively, across the basic code blocks. We propose two methods for the selection of optimization schemes, a Gradient Mode Iterative Compilation (GMIC) and Multicriteria Stochastic Iterative Compilation (MSIC).<br />Both schemes are tested at several multimedia applications obtained from diversified domains such as video transcodecs (MPEG2, H-264L), audio transcodecs (G-723, Mp3) and bioinformatics (Glimmer, Fgene), to name a few.<br />Finally, we propose the characterization of application-architecture correlations that support our claim that an ideal performance of a mobile computing system demands a perfect match between hardware capability and program behavior. We exposed our results for 20 multimedia applications experimented at the TriMedia DSP 1300, the Blackfin DSP ADSP533, and the PIII-850 embedded processor.