Program Regularization in Memory Consistency Verification

被引:2
|
作者
Chen, Yunji [1 ,2 ]
Li, Lei [1 ,2 ]
Chen, Tianshi [1 ,2 ]
Li, Ling [1 ,2 ]
Wang, Lei [1 ,2 ]
Feng, Xiaoxue [1 ,2 ]
Hu, Weiwu [1 ,2 ]
机构
[1] Chinese Acad Sci, Inst Comp Technol, State Key Lab Comp Architecture, Beijing 100190, Peoples R China
[2] Loongson Technol Corp Ltd, Beijing 100190, Peoples R China
基金
中国国家自然科学基金;
关键词
Memory consistency verification; frontier graph; parallel program; program regularization; VSC-read; FUNCTIONAL VERIFICATION; MULTIPROCESSOR SYSTEMS; MICROPROCESSOR; COMPUTER;
D O I
10.1109/TPDS.2012.44
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
A widely adopted methodology for verifying the memory subsystem of a Chip Multiprocessor (CMP) is to verify executions of parallel test programs on the CMP against the given memory consistency model, which has been long known to be time consuming in both theory and practice. To accelerate memory consistency verification, previous approaches have to bear the cost of availability (e.g., relying on dedicated hardware supports that have not been offered by many commodity CMPs) or completeness (e.g., missing some bugs). In the meantime, the impact of parallel programs on memory consistency verification has more or less been overlooked. One piece of evidence is that few investigations have been dedicated to finding appropriate test programs enabling more efficient verification From a novel perspective of test program, we devise a practical technique called "program regularization," which can effectively reduce the computation time of memory consistency verification. The key intuition behind program regularization is that any parallel program, if being reformed appropriately, can enable efficient memory consistency verification. More specifically, for an original program, program regularization introduces some auxiliary memory addresses, and periodically inserts load/store operations accessing these addresses to the original program. With the regularized program, memory consistency verification can be accomplished in linear time (with respect to the number of memory operations) when the number of processors is fixed. Experimental results show that program regularization can significantly accelerate memory consistency verification. Last but not least, our technique, which does not rely on concrete verification algorithm or dedicated hardware support, can be smoothly integrated into existing presilicon/postsilicon verification platforms of industrial CMPs to speed up memory consistency verification.
引用
收藏
页码:2163 / 2174
页数:12
相关论文
共 50 条
  • [1] Brief Announcement: Program Regularization in Verifying Memory Consistency
    Li, Lei
    Chen, Tianshi
    Chen, Yunji
    Li, Ling
    Qian, Cheng
    Hu, Weiwu
    [J]. SPAA 11: PROCEEDINGS OF THE TWENTY-THIRD ANNUAL SYMPOSIUM ON PARALLELISM IN ALGORITHMS AND ARCHITECTURES, 2011, : 265 - 266
  • [2] Program Verification Under Weak Memory Consistency Using Separation Logic
    Vafeiadis, Viktor
    [J]. COMPUTER AIDED VERIFICATION, CAV 2017, PT I, 2017, 10426 : 30 - 46
  • [3] Fast Complete Memory Consistency Verification
    Chen, Yunji
    Lv, Yi
    Hu, Weiwu
    Chen, Tianshi
    Shen, Haihua
    Wang, Pengyu
    Pan, Hong
    [J]. HPCA-15 2009: FIFTEENTH INTERNATIONAL SYMPOSIUM ON HIGH-PERFORMANCE COMPUTER ARCHITECTURE, PROCEEDINGS, 2009, : 381 - +
  • [4] Linear Time Memory Consistency Verification
    Hu, Weiwu
    Chen, Yunji
    Chen, Tianshi
    Qian, Cheng
    Li, Lei
    [J]. IEEE TRANSACTIONS ON COMPUTERS, 2012, 61 (04) : 502 - 516
  • [5] On the decidability of shared memory consistency verification
    Sezgin, A
    Gopalakrishnan, G
    [J]. Third ACM & IEEE International Conference on Formal Methods and Models for Co-Design, Proceedings, 2005, : 199 - 208
  • [6] Verification of consistency between concurrent program designs and their requirements
    Chechik, M
    Gannon, J
    [J]. COMPASS '96 - PROCEEDINGS OF THE ELEVENTH ANNUAL CONFERENCE ON COMPUTER ASSURANCE: SYSTEMS INTEGRITY, SOFTWARE SAFETY, PROCESS SECURITY, 1996, : 103 - 116
  • [7] Fractal Consistency: Architecting the Memory System to Facilitate Verification
    Zhang, Meng
    Lebeck, Alvin R.
    Sorin, Daniel J.
    [J]. IEEE COMPUTER ARCHITECTURE LETTERS, 2010, 9 (02) : 61 - 64
  • [8] Verification methods for weaker shared memory consistency models
    Ghughal, RP
    Gopalakrishnan, GC
    [J]. PARALLEL AND DISTRIBUTED PROCESSING, PROCEEDINGS, 2000, 1800 : 985 - 992
  • [9] Fast and generalized polynomial time memory consistency verification
    Roy, Amitabha
    Zeisset, Stephan
    Fleckenstein, Charles J.
    Huang, John C.
    [J]. COMPUTER AIDED VERIFICATION, PROCEEDINGS, 2006, 4144 : 503 - 516
  • [10] Specification and verification of memory consistency models for shared-memory multiprocessor systems
    Takata, S
    Taguchi, K
    Joe, K
    Fukuda, A
    [J]. INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED PROCESSING TECHNIQUES AND APPLICATIONS, VOLS I-IV, PROCEEDINGS, 1998, : 923 - 930