Decoupled Access-Execute on ARM big.LITTLE
Abstract: Decoupled Access-Execute (DAE) presents a novel approach to improve power efficiency with a combination of compile-time transformations and Dynamic Voltage Frequency Scaling (DVFS). DAE splits regions of the program into two distinct phases: a memory-bound access phase and a compute-bound execute phase. DVFS is used to run the phases at different frequencies, thus conserving energy while caching data from main memory and performing computations at maximum performance. This project analyses the power-savings and performance impact of DAE on the ARM architecture for the first time, a platform that is ominant in the mobile market where battery life is of particular significance. We target ARM big.LITTLE specifically, a heterogeneous hardware platform where code can not only be executed at different frequencies, but also transparently on different microarchitectures with individual energy and performance characteristics. As a result, this architecture enables hardware support for new DAE concepts that have not been previously available. As a first step towards new DAE compiler passes, we demonstrate the methodology for a thread-based DAE implementation that specifically targets the hardware features of ARM big.LITTLE. Finally, we manually apply it to a selection of benchmarks and analyse how this DAE implementation performs on the Samsung Exynos 5422 big.LITTLE SoC and identify the strengths and limitations of the implementation on current hardware.
AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)