Publication:
Program vectorization for reducing energy consumption in embedded systems

dc.contributor.advisor Jiménez-Cedeño, Manuel
dc.contributor.author Cruz-Ayoroa, Arnaldo J.
dc.contributor.college College of Engineering en_US
dc.contributor.committee Arce-Nazario, Rafael
dc.contributor.committee Santiago, Nayda
dc.contributor.department Department of Electrical and Computer Engineering en_US
dc.contributor.representative Vasquez-Urbano, Pedro
dc.date.accessioned 2019-05-14T17:46:39Z
dc.date.available 2019-05-14T17:46:39Z
dc.date.issued 2014
dc.description.abstract When it comes to software optimization, speedup is the rst goal that comes to mind. However, as the integration level of electronic circuits continues its exponential growth, power reduction has also become an important goal. In recent years, the proliferation of mobile devices has also been a driver for reducing energy consumption in embedded systems. Although hardware engineers are already well acquainted with design techniques for low power consumption, software power reduction is still a vastly unexplored topic particularly in the area of compilation; even though, ultimately, software is the main responsible of making ecient use of the hardware. This work proposes a machine learning driven optimization ow that uses a highlevel characterization approach on a program's source code and training with optimization protability measurements to predict whether to apply a particular optimization if energy consumption is expected to be reduced. The optimization studied in this work is called vectorization, which was found to be not only powerful for reducing execution time, but when applied correctly to also reduce power and energy consumption. Experiments were conducted on an implementation of the popular ARM Cortex-A8. Nevertheless, this methodology is not limited to this particular embedded architecture. A predictor was trained which ii decided whether vectorization would have a benecial or detrimental impact with 74% precision, resulting in an average of 64% decrease in energy consumption and only 5% increase in energy in the case of mis-predictions. en_US
dc.description.abstract Cuando se trata el tema de optimización de software, la primera idea que viene a la mente es la reducción en el tiempo de ejecución. Sin embargo, a medida que el nivel de integración en los circuitos integrados continua un crecimiento exponencial, la reducción de potencia también se convirtió en una meta importante. En años recientes, el consumo energético también ha ganado importancia debido principalmente a la proliferación de dispositivos móviles. Los ingenieros de hardware están familiarizados con técnicas de diseño para bajo consumo de potencia. Sin embargo, este tema ha sido poco explorado en el campo de la compilación, aun cuando el software es finalmente el responsable de hacer uso eficiente del hardware. Este trabajo propone un sistema de compilación guiado por técnicas de aprendizaje automático que utiliza una caracterización de alto nivel del código fuente de un programa y entrenamiento con medidas de beneficio por optimización, para predecir si aplicar una optimización en particular resultara en una reducción en el consumo energético. La optimización estudiada en este trabajo se llama vectorización, la cual encontramos que puede ser efectiva en reducir no solamente el tiempo de ejecución, sino que también cuando es aplicada correctamente puede reducir el consumo de potencia y energía. Los experimentos fueron realizados en una implementación del reconocido ARM Cortex-A8, aunque la metodología no esta limitada a esta arquitectura embebida. Logramos entrenar un predictor con la capacidad de decidir si aplicar vectorización tendrá un impacto beneficioso o perjudicial con una precisión de 74%, alcanzando una reducción promedio en energía de 64% y solo 5% de incremento en energía en los casos de predicción errónea. en_US
dc.description.graduationSemester Fall en_US
dc.description.graduationYear 2014 en_US
dc.identifier.uri https://hdl.handle.net/20.500.11801/2171
dc.language.iso English en_US
dc.rights.holder (c) 2014 Arnaldo J. Cruz-Ayoroa en_US
dc.rights.license All rights reserved en_US
dc.subject Reducing energy consumption en_US
dc.subject embedded systems en_US
dc.title Program vectorization for reducing energy consumption in embedded systems en_US
dc.type Thesis en_US
dspace.entity.type Publication
thesis.degree.discipline Computer Engineering en_US
thesis.degree.level M.S. en_US
Files
Original bundle
Now showing 1 - 1 of 1
Thumbnail Image
Name:
ICOM_CruzAyoroaA_2014.pdf
Size:
695.38 KB
Format:
Adobe Portable Document Format
Description: