Publication:
Estimación de potencia y energía en microprocesadores a través de análisis estático de código

Thumbnail Image
Authors
Acevedo-Patiño, Oscar
Embargoed Until
Advisor
Jiménez-Cedeño, Manuel
College
College of Engineering
Department
Department of Electrical and Computer Engineering
Degree Level
M.S.
Publisher
Date
2005
Abstract
Current methodologies for software-level estimation of power and energy consumption use a power model developed for the microprocessor along with specialized tools that profile the program under study to extract the model ́s parameters. These tools commonly rely on real-time execution or simulations of the analyzed program which require real run-time data. This work presents an alternative methodology for power and energy estimation, in which the usage of such specialized tools is deemphasized. It is proposed instead the use of static code analysis to study and predict a program behavior. This, in combination with the microprocessor power model, allows the developed methodology to estimate power and energy for a program execution with only a small amount of run-time data. The new methodology first performs a static analysis of the program and then computes time, power, and energy costs for each node of its control flow graph (CFG) representation. Subsequently, these costs are combined with statistical program path information, obtained by analyzing the CFG, arriving at estimated power and energy costs for the program. We present power and energy estimation results for a set of 5 representative benchmark embedded-system programs. Results show that the new methodology, besides the advantages of static code analysis and reduced run-time data requirements, can produce competitive results, with errors less than 20% for energy estimates and 12% for power estimates, with respect to experimentally measured values.

Las metodologías actuales para la estimación del consumo de potencia y energía a nivel de programas utilizan un modelo de potencia desarrollado para el microprocesador bajo estudio en conjunto con herramientas especializadas que caracterizan programa bajo prueba con el fin de extraer la información requerida por dicho mo- delo. Estas herramientas normalmente realizan una ejecución en tiempo real ó una simulación del programa bajo análisis, para lo cual, se requieren datos reales. Es- te trabajo presenta una metodología alterna, donde no se requiere el uso de estas herramientas. Se propone el uso de herramientas de análisis estático de código para analizar y predecir el comportamiento del programa bajo prueba. Esto, combinado con el modelo de potencia del microprocesador bajo estudio, permite obtener un valor estimado del consumo de potencia y energía al ejecutar un programa, con una mínima cantidad de datos adicionales. El método presentado realiza primero el análisis estático del programa, luego calcula los costos de tiempo, potencia y energía para cada nodo de la grafica de control de flujo del programa. Luego se combinan los resultados con las diferentes rutas del programa, obteniendo el costo estimado de potencia y energía total del programa. Se presentan pruebas realizadas con un conjunto de programas de comparación de rendimiento, compuesto por 5 programas representativos del área de sistemas empotrados. Los resultados obtenidos indican que la metodología, además de las ventajas del análisis estático, produce resultados competitivos, con error menor al 20% para estimados de energía y menor al 12% para estimados de potencia respecto a las medidas reales de potencia y energía
Keywords
Cite
Acevedo-Patiño, O. (2005). Estimación de potencia y energía en microprocesadores a través de análisis estático de código [Thesis]. Retrieved from https://hdl.handle.net/20.500.11801/2395