Decoupled store completion/silent deterministic replay: Enabling scalable data memory for CPR/CFP processors


Conference Paper

CPR/CFP (Checkpoint Processing and Recovery/Continual Flow Pipeline) support an adaptive instruction window that scales to tolerate last-level cache misses. CPR/CFP scale the register file by aggressively reclaiming the destination registers of many in-flight instructions. However, an analogous mechanism does not exist for stores and loads. As the window expands, CPR/CFP processors must track all in-flight stores and loads to support forwarding and detect memory ordering violations. The previously-described SVW (Store Vulnerability Window) and SQIP (Store Queue Index Prediction) schemes provide scalable, non-associative load and store queues, respectively. However, they don't work smoothly in a CPR/CFP context. SVW/SQIP rely on the ability to dynamically stall some loads until a specific older store writes to the cache. Enforcing this serialization in CPR/CFP is expensive if the load and store are in the same checkpoint. We introduce two complementary procedures that implement this serialization efficiently. Decoupled Store Completion (DSC) allows stores to write to the cache before the enclosing checkpoint completes execution. Silent Deterministic Replay (SDR) supports mis-speculation recovery in the presence of DSC by replaying loads older than completed stores using values from the load queue. The combination of DSC and SDR enables an SVW/SQIP based CPR/CFP memory system that outperforms previous designs while occupying less area. Copyright 2009 ACM.

Full Text

Duke Authors

Cited Authors

  • Hilton, A; Roth, A

Published Date

  • November 30, 2009

Published In

Start / End Page

  • 245 - 254

International Standard Serial Number (ISSN)

  • 1063-6897

International Standard Book Number 13 (ISBN-13)

  • 9781605585260

Digital Object Identifier (DOI)

  • 10.1145/1555754.1555786

Citation Source

  • Scopus