• DocumentCode
    61522
  • Title

    Post-Silicon Validation of Multiprocessor Memory Consistency

  • Author

    Mammo, Biruk W. ; Bertacco, Valeria ; DeOrio, Andrew ; Wagner, Ilya

  • Author_Institution
    Dept. of Electr. Eng. & Comput. Sci., Univ. of Michigan, Ann Arbor, MI, USA
  • Volume
    34
  • Issue
    6
  • fYear
    2015
  • fDate
    Jun-15
  • Firstpage
    1027
  • Lastpage
    1037
  • Abstract
    Shared-memory chip-multiprocessor (CMP) architectures define memory consistency models that establish the ordering rules for memory operations from multiple threads. Validating the correctness of a CMP´s implementation of its memory consistency model requires extensive monitoring and analysis of memory accesses while multiple threads are executing on the CMP. In this paper, we present a low overhead solution for observing, recording and analyzing shared-memory interactions for use in an emulation and/or post-silicon validation environment. Our approach leverages portions of the CMP´s own data caches, augmented only by a small amount of hardware logic, to log information relevant to memory accesses. After transferring this information to a central memory location, we deploy our own analysis algorithm to detect any possible memory consistency violations. We build on the property that a violation corresponds to a cycle in an appropriately defined graph representing memory interactions. The solution we propose allows a designer to choose where to run the analysis algorithm: 1) on the CMP itself; 2) on a separate processor residing on the validation platform; or 3) off-line on a separate host machine. Our experimental results show an 83% bug detection rate, in our testbed CMP, over three distinct memory consistency models, namely: relaxed-memory order, total-store order, and sequential consistency. Finally, note that our solution can be disabled in the final product, leading to zero performance overhead and a per-core area overhead that is smaller than the size of a physical integer register file in a modern processor.
  • Keywords
    cache storage; elemental semiconductors; flip-flops; microprocessor chips; silicon; CMP; Si; central memory location; data cache; distinct memory consistency; extensive analysis; extensive monitoring; graph representing memory interactions; hardware logic; log information; memory operations; multiple threads; multiprocessor memory consistency; overhead solution; per-core area overhead; physical integer register file; post-silicon validation; sequential consistency; shared-memory chip-multiprocessor; shared-memory interactions; Computational modeling; Instruction sets; Integrated circuit modeling; Load modeling; Memory management; Radiation detectors; Registers; Cache memory; Emulation; Memory architecture; Multiprocessor interconnection; Post-silicon validation; emulation; memory architecture; multiprocessor interconnection; post-silicon validation;
  • fLanguage
    English
  • Journal_Title
    Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0278-0070
  • Type

    jour

  • DOI
    10.1109/TCAD.2015.2402171
  • Filename
    7038211