DocumentCode
3140779
Title
A Formal CSP Framework for Message-Passing HPC Programming
Author
Carter, J. ; Gardner, W.B.
Author_Institution
Dept. of Comput. & Inf. Sci., Guelph Univ., Ont.
fYear
2006
fDate
38838
Firstpage
1466
Lastpage
1470
Abstract
To help programmers of high-performance computing (HPC) systems avoid communication-related errors, we employ a formal process algebra, communicating sequential processes (CSP), which has a strict semantics for interprocess communication and synchronization. Verification tools are available for CSP-specified programs to prove the absence of failures such as deadlock, and to explore potential multiprocess interactions. By introducing a CSP abstraction layer on top of the popular MPI message-passing primitives, we create a framework, called CSP4MPI, designed to largely hide the complexity of parallel programming for HPC. CSP4MPI is comprised of a C++ class library that provides a CSP-based process model, and a "cookbook" of candidate solutions for HPC programmers not trained in CSP. Developers can prototype their systems using CSP, and use verification tools to examine possible points of failure before implementing via the CSP4MPI library. Alternatively, they may choose an existing, verified solution from a number of common parallel application archetypes. By using CSP4MPI, HPC developers leverage the benefits of formal specification and verification in their work, in addition to obtaining an alternate method to developing HPC applications
Keywords
C++ language; communicating sequential processes; formal specification; formal verification; message passing; parallel programming; software libraries; synchronisation; C++ class library; MPI; communicating sequential process; formal process algebra; formal specification; formal verification; high-performance computing; interprocess communication; message passing; parallel programming; synchronization; Algebra; Application software; Communication system control; Concurrent computing; Information science; Libraries; Parallel programming; Programming profession; Prototypes; System recovery; CSP; HPC; MPI; parallel patterns; selective formalism;
fLanguage
English
Publisher
ieee
Conference_Titel
Electrical and Computer Engineering, 2006. CCECE '06. Canadian Conference on
Conference_Location
Ottawa, Ont.
Print_ISBN
1-4244-0038-4
Electronic_ISBN
1-4244-0038-4
Type
conf
DOI
10.1109/CCECE.2006.277495
Filename
4054886
Link To Document