Browsing by Subject "DVFS"
Now showing 1 - 2 of 2
Results Per Page
Sort Options
- PublicationEmbargoFix the code. Don’t tweak the hardware: A newcompiler approach to Voltage-Frequency scaling(IEEE/ACM, ) Jimborean, Alexandra; Koukos, Konstantinos; Spiliopoulos, Vasileios; Black-Schaffer, David; Kasiras, Stefanos; Ingeniería y Tecnología de ComputadoresTraditional compiler approaches to optimize power effi-ciency aim to adjust voltage and frequency at runtime tomatch the code characteristics to the hardware (e.g., run-ning memory-bound phases at a lower frequency). However,such approaches are constrained by three factors: (i) voltage-frequency transitions are too slow to be applied at instructiongranularity, (ii) larger code regions are seldom unequivocallymemory- or compute-bound, and, (iii) the available voltagescaling range for future technologies is rapidly shrinking.These factors necessitate new approaches to address power-efficiency at the code-generation level. This paper proposesone such approach to automatically generate power-efficientcode using a decoupled access/execute (DAE) model.In DAE a program is split into tasks, where each task con-sists of two sufficiently coarse-grained phases to enable ef-fective Dynamic Voltage Frequency Scaling (DVFS): (i) theaccess-phase for data prefetch (heavily memory-bound), and(ii) theexecute-phase that performs the actual computation(heavily compute-bound). Our contribution is to provide acompiler methodology to automatically generate the access-phases for a task-based programming system. Our approachis capable of handling both affine (through a polyhedral anal-ysis) and non-affine codes (through optimized task skele-tons). Our evaluation shows that the automatically gener-ated versions improve EDP by 25% on average comparedto a coupled execution, without any performance degrada-tion, and surpasses the EDP savings of the correspondinghand-crafted tasks by 5%
- PublicationOpen AccessMultiversioned Decoupled Access-Execute: the Key to Energy-Efficient Compilation of General-Purpose Programs(ACM, 2016-03-17) Koukos, Konstantinos; Ekemark, Per; Zacharopoulos, Georgios; Spiliopoulos, Vasileios; Kaxiras, Stefanos; Jimborean, Alexandra; Ingeniería y Tecnología de ComputadoresComputer architecture design faces an era of great challenges in an attempt to simultaneously improve performance and energy efficiency. Previous hardware techniques for energy management become severely limited, and thus, compilers play an essential role in matching the software to the more restricted hardware capabilities. One promising approach is software decoupled access-execute (DAE), in which the compiler transforms the code into coarsegrain phases that are well-matched to the Dynamic Voltage and Frequency Scaling (DVFS) capabilities of the hardware. While this method is proved efficient for statically analyzable codes, generalpurpose applications pose significant challenges due to pointer aliasing, complex control flow and unknown runtime events. We propose a universal compile-time method to decouple generalpurpose applications, using simple but efficient heuristics. Our solutions overcome the challenges of complex code and show that automatic decoupled execution significantly reduces the energy expenditure of irregular or memory-bound applications and even yields slight performance boosts. Overall, our technique achieves over 20% on average energy-delay-product (EDP) improvements (energy over 15% and performance over 5%) across 14 benchmarks from SPEC CPU 2006 and Parboil benchmark suites, with peak EDP improvements surpassing 70%.