Title :
Compiler-based adaptive fetch throttling for energy-efficiency
Author :
Wang, Huaping ; Guo, Yao ; Koren, Israel ; Krishna, Mani C.
Author_Institution :
Dept. of Electr. & Comput. Eng., Massachusetts Univ., Amherst, MA, USA
Abstract :
Front-end instruction delivery accounts for a significant fraction of energy consumption in dynamically scheduled superscalar processors. Different front-end throttling techniques have been introduced to reduce the chip-wide energy consumption caused by redundant fetching. Hardware-based techniques, such as flow-based throttling, could reduce the energy consumption considerably, but with a high performance loss. On the other hand, compiler-based IPC-estimation-driven software fetch throttling (CFT) techniques result in relatively low performance degradation, which is desirable for high-performance processors. However, their energy savings are limited by the fact that they typically use a predefined fixed low IPC-threshold to control throttling. In this paper, we propose a compiler-based adaptive fetch throttling (CAFT) technique that allows changing the throttling threshold dynamically at runtime. Instead of using a fixed threshold, our technique uses the decode/issue difference (DID) to assist the fetch throttling decision based on the statically estimated IPC. Changing the threshold dynamically makes it possible to throttle at a higher estimated IPC, thus increasing the throttling opportunities and resulting in larger energy savings. We demonstrate that CAFT could increase the energy savings significantly compared to CFT, while preserving its benefit of low performance loss. Our simulation results show that the proposed technique doubles the energy-delay product (EDP) savings compared to the fixed threshold throttling and achieves a 6.1% average EDP saving.
Keywords :
program compilers; storage management; chip-wide energy consumption; compiler-based adaptive fetch throttling; decode/issue difference; dynamically scheduled superscalar processors; flow-based throttling; front-end instruction delivery; redundant fetching; software fetch throttling; Decoding; Degradation; Dynamic scheduling; Energy consumption; Energy efficiency; Out of order; Performance loss; Pipelines; Processor scheduling; Runtime;
Conference_Titel :
Performance Analysis of Systems and Software, 2006 IEEE International Symposium on
Print_ISBN :
1-4244-0186-0
DOI :
10.1109/ISPASS.2006.1620795