Formal methods applied to high-performance computing software design: a case study of MPI one-sided communication-based locking

被引:2
|
作者
Pervez, Salman [2 ]
Gopalakrishnan, Ganesh [1 ]
Kirby, Robert M. [1 ]
Thakur, Rajeev [3 ]
Gropp, William [4 ]
机构
[1] Univ Utah, Sch Comp, Salt Lake City, UT 84112 USA
[2] Purdue Univ, Dept Comp Sci, W Lafayette, IN 47907 USA
[3] Argonne Natl Lab, Div Math & Comp Sci, Argonne, IL 60439 USA
[4] Univ Illinois, Dept Comp Sci, Urbana, IL 61801 USA
来源
SOFTWARE-PRACTICE & EXPERIENCE | 2010年 / 40卷 / 01期
关键词
concurrent programming; formal verification; model checking; race condition; SPIN; dynamic analysis; high-performance computing (HPC); Message Passing Interface (MPI); one-sided communication; VERIFICATION; CORRECTNESS; PROGRAMS; CHECKING;
D O I
10.1002/spe.946
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
There is a growing need to address the complexity of verifying the numerous concurrent protocols employed in the high-performance Computing software. Today's approaches for verification consist of testing detailed implementations of these protocols. Unfortunately, this approach can seldom show the absence of bugs, and often results in serious bugs escaping into the deployed software. An approach called Model Checking has been demonstrated to be eminently helpful in debugging these protocols early in the software life cycle by offering the ability to represent and exhaustively analyze simplified formal protocol models. The effectiveness of model checking has yet to be adequately demonstrated in high-performance computing. This paper presents a case study of a concurrent protocol that was thought to be sufficiently well tested, but proved to contain two very non-obvious deadlocks in them. These bugs were automatically detected through model checking. The protocol models in which these bugs were detected were also easy to create. Recent work in Our group demonstrates that even this tedium of model creation can be eliminated by employing dynamic source-code-level analysis methods. Our case study comes from the important domain of Message Passing Interface (MPI)-based programming, which is universally employed for simulating and predicting anything from the structural integrity of combustion chambers to the path of hurricanes. We argue that model checking must be taught as well as used widely within HPC, given this and similar success stories. Copyright (C) 2009 John Wiley & Sons, Ltd.
引用
收藏
页码:23 / 43
页数:21
相关论文
共 12 条
  • [1] High performance MPI-2 one-sided communication over InfiniBand
    Jiang, WH
    Liu, JX
    Jin, HW
    Panda, DK
    Gropp, W
    Thakur, R
    [J]. 2004 IEEE INTERNATIONAL SYMPOSIUM ON CLUSTER COMPUTING AND THE GRID - CCGRID 2004, 2004, : 531 - 538
  • [2] Asynchronous progress design for a MPI-based PGAS one-sided communication system
    Zhou, Huan
    Gracia, Jose
    [J]. 2016 IEEE 22ND INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED SYSTEMS (ICPADS), 2016, : 999 - 1006
  • [3] Teaching High-performance Computing Systems - A Case Study with Parallel Programming APIs: MPI, OpenMP and CUDA
    Czarnul, Pawel
    Matuszek, Mariusz
    Krzywaniak, Adam
    [J]. COMPUTATIONAL SCIENCE, ICCS 2024, PT VII, 2024, 14838 : 398 - 412
  • [4] Design of Quantitative Trading System Based on Data Mining Method under Software and High-Performance Computing
    Feng, Shizhou
    Du, Jing
    [J]. MATHEMATICAL PROBLEMS IN ENGINEERING, 2022, 2022
  • [5] FSM-Based Test Case Generation Methods Applied to Test the Communication Software on Board the ITASAT University Satellite: A Case Study
    Pinheiro, Arineiza C.
    Simao, Adenilso
    Ambrosio, Ana Maria
    [J]. JOURNAL OF AEROSPACE TECHNOLOGY AND MANAGEMENT, 2014, 6 (04) : 447 - 461
  • [6] Spin-Based Computing: Device Concepts, Current Status, and a Case Study on a High-Performance Microprocessor
    Kim, Jongyeon
    Paul, Ayan
    Crowell, Paul A.
    Koester, Steven J.
    Sapatnekar, Sachin S.
    Wang, Jian-Ping
    Kim, Chris H.
    [J]. PROCEEDINGS OF THE IEEE, 2015, 103 (01) : 106 - 130
  • [7] Hardware Accelerator Integration Tradeoffs for High-Performance Computing: A Case Study of GEMM Acceleration in N-Body Methods
    Asri, Mochamad
    Malhotra, Dhairya
    Wang, Jiajun
    Biros, George
    John, Lizy K.
    Gerstlauer, Andreas
    [J]. IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2021, 32 (08) : 2035 - 2048
  • [9] Constructing a Fuzzy Logic-Based High Performance Computing Environment: A Case Study of an IC Design House
    Yu, Kun-Ming
    Tseng, Chin-Feng
    Chen, Cheng-Kwan
    [J]. JOURNAL OF INTERNET TECHNOLOGY, 2012, 13 (01): : 27 - 35
  • [10] Developing a Pedagogical Framework for an Integrated and BIM-Based High-Performance Design Studio: Experimental Case Study
    Shahverdi, Amir Farbod
    Mostafavi, Fatemeh
    Roodkoly, Sogand Haghighat
    Zomorodian, Zahra Sadat
    Homayouni, Hoda
    [J]. JOURNAL OF ARCHITECTURAL ENGINEERING, 2024, 30 (01)