Energy Efficient Computing System Exploiting Online Tuning and Output Quality Management

Gianluca Palermo

Performance and energy efficiency portability across different computing platforms is a challenging problem for application developers working on different computing fields from embedded/cyber-physical to HPC systems. The problem is that application extra-functional properties are strongly dependent on the underlying target platform, system runtime, and input data. State-of-the-art solutions envision a morphable code capable of adapting to the different environmental conditions. Among the possible application knobs that recently raised attention, there are those impacting the quality of the results. This brings the output quality as a new design dimension to trade-off with application performance and energy consumption.
This talk introduces to the recent works on self-tuning applications and systems considering the energy efficiency and the output quality management as key aspects, focusing on those promising a disciplined control of the approximation. The talk provides an overview of both hardware and software approximation techniques (such as neural accelerators, low-power ALU, multiple voltage processors, loop-perforation, alternative hot function implementations, and approximate memoization)
together with a summary of energy-aware knobs that can be easily exploited in computing systems (i.e. frequency and voltage scaling, clock and power gating, heterogeneity, online compilation tuning, parallelism selection etc…).

Energy Efficent Computing System Exploiting Online and Output Quality Managemen