Techniques for efficient processing in runahead execution engines
32nd International Symposium on Computer Architecture (ISCA'05), 2005•ieeexplore.ieee.org
Runahead execution is a technique that improves processor performance by pre-executing
the running application instead of stalling the processor when a long-latency cache miss
occurs. Previous research has shown that this technique significantly improves processor
performance. However, the efficiency of runahead execution, which directly affects the
dynamic energy consumed by a runahead processor, has not been explored. A runahead
processor executes significantly more instructions than a traditional out-of-order processor …
the running application instead of stalling the processor when a long-latency cache miss
occurs. Previous research has shown that this technique significantly improves processor
performance. However, the efficiency of runahead execution, which directly affects the
dynamic energy consumed by a runahead processor, has not been explored. A runahead
processor executes significantly more instructions than a traditional out-of-order processor …
Runahead execution is a technique that improves processor performance by pre-executing the running application instead of stalling the processor when a long-latency cache miss occurs. Previous research has shown that this technique significantly improves processor performance. However, the efficiency of runahead execution, which directly affects the dynamic energy consumed by a runahead processor, has not been explored. A runahead processor executes significantly more instructions than a traditional out-of-order processor, sometimes without providing any performance benefit, which makes it inefficient. In this paper, we describe the causes of inefficiency in runahead execution and propose techniques to make a runahead processor more efficient, thereby reducing its energy consumption and possibly increasing its performance. Our analyses and results provide two major insights: (1) the efficiency of runahead execution can be greatly improved with simple techniques that reduce the number of short, overlapping, and useless runahead periods, which we identify as the three major causes of inefficiency; (2) simple optimizations targeting the increase of useful prefetches generated in runahead mode can increase both the performance and efficiency of a runahead processor. The techniques we propose reduce the increase in the number of instructions executed due to runahead execution from 26.5% to 6.2%, on average, without significantly affecting the performance improvement provided by runahead execution.
ieeexplore.ieee.org
以上显示的是最相近的搜索结果。 查看全部搜索结果