Enery Consumption and Runtime Performance Optimizations Applied to Hyperspectral Imaging Cancer Detection

Eduardo Juarez1, Raquel Lazcano2, Daniel Madroñal2, Cesar Sanz1
1Universidad Politecnica de Madrid, 2Universitá degli Studi di Sassari


To ease the development of systems where functional and non-functional requirements need to be weighed, design strategies where different tasks are automated (parallelization, code generation, task scheduling, etc) are often used. Dataflow-based applications are modeled as a set of tasks –or actors– exchanging pieces of information –or tokens. These actors are the functional units of these models, and thus they are considered as black boxes –primitives of the system–. Nowadays there is an open issue to solve if their computational load is not well balanced.

First, this work proposes a Y-chart dataflow-based design methodology whose aim is to include energy consumption within the non-functional requirements to be optimized. Secondly, to further optimize applications throughput, the process of parallelizing and deploying onto multicore architectures has been simplified combining a Y-chart dataflow-based design with the optimization potential offered by the polyhedral model, which is a mathematical framework applying aggressive transformations to maximize applications performance.

As far as the energy consumption concerns, a methodology has been built as an iterative optimization loop with the objective of being both application and architecture independent. Specifically, the proposed energy-aware adaptation loop is composed of three different modules: monitoring, energy consumption estimation and energy-aware decision making. To validate the methodology, two real implementations of the energy-aware optimization loop have been carried out: one targeting design time DSE enhancement and the other focused on runtime energy consumption optimization. In both cases, the three aforementioned modules are combined so as to incorporate energy-awareness capabilities in different dataflow-based design frameworks. Promising results have been obtained in both energy-aware optimization loop implementations, as they have been able to reduce the system energy consumption in up to a 30.2 % in both design time and runtime.

With regard to the runtime performance optimization, the combination of dataflow and polyhedral domains creates a broad spectrum of new opportunities. The runtime manager of a widely used polyhedral tool has been extended with a multiversioning system to evaluate several optimizing transformations and choose the best one depending on the application context. A real-life application is implemented using this methodology. This application has been extracted from a complex algorithm used to locate human brain tumor boundaries in intraoperative real-time during surgical procedures. The results obtained show that the largest speedups are reached when combining the optimization potential of data-flow and polyhedral tools, with speedups close to 4× when compared to the sequential version.