Slipstream Memory Hierarchies
Slipstream Memory Hierarchies
复制标题
滑流内存层次结构
DOI:
--
复制
发表时间:
2002
期刊:
影响因子:
--
通讯作者:
E. Rotenberg
中科院分区:
文献类型:
--
作者:
Zachary Purser;K. Sundaramoorthy;E. Rotenberg
A slipstream processor harnesses an otherwise unused processing element in a chip multipro-cessor (CMP) to speed up a single program. It does this by running two redundant copies of the program. Predicted-non-essential computation is speculatively removed from one of the programs , speeding it up. The second program checks the forward progress of the first and is also sped up in the process. Both program copies finish sooner than either can alone. The redundant programs are architecturally independent and this leads to a simple execution model. Physical memory pages are duplicated by the operating system, sparing the processor from explicitly managing a fixed amount of transparent rename storage. Unfortunately, doubling memory usage partially negates performance gains. We observe that 1) the already-replicated L1 caches in a CMP provide enough implicit rename storage and 2) this storage does not need to be explicitly managed because the slipstream paradigm is tolerant of slightly inaccurate memory renaming. Leveraging unmodified cache actions within a typical private-L1/shared-L2 memory hierarchy, we develop an efficient hardware-based memory duplication approach that significantly outperforms software-based duplication, yet does not require any explicit hardware management. Furthermore, the new duplication approach enables much simpler state recovery when the speculative program diverges. Simple cache flushing eliminates a previously-required slipstream recovery component. And the performance impact of flush-induced compulsory misses is reduced by exploiting preserved data within flushed cache lines as highly-accurate value predictions.