2006 Canadian Conference on Electrical and Computer Engineering 2006
DOI: 10.1109/ccece.2006.277495
|View full text |Cite
|
Sign up to set email alerts
|

A Formal CSP Framework for Message-Passing HPC Programming

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, … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
5
0

Year Published

2009
2009
2019
2019

Publication Types

Select...
3
2
2

Relationship

1
6

Authors

Journals

citations
Cited by 8 publications
(5 citation statements)
references
References 3 publications
0
5
0
Order By: Relevance
“…In contrast, Pilot is aimed at novice HPC programmers who could be intimidated by introducing a formal method too explicitly; however, the Pilot library approach does belong to this family. CSP4MPI [7] also aimed to help programmers avoid communication-related errors by introducing an abstraction layer over MPI. This approach was inspired by the CSP++ [8] software synthesis tool, which generates C++ from a formal CSP specification.…”
Section: Related Workmentioning
confidence: 99%
“…In contrast, Pilot is aimed at novice HPC programmers who could be intimidated by introducing a formal method too explicitly; however, the Pilot library approach does belong to this family. CSP4MPI [7] also aimed to help programmers avoid communication-related errors by introducing an abstraction layer over MPI. This approach was inspired by the CSP++ [8] software synthesis tool, which generates C++ from a formal CSP specification.…”
Section: Related Workmentioning
confidence: 99%
“…We use Λ to denote the empty chain. 9 We let Pos(t) denote the specification position of a term t. Each (parameterized) process definition N = P or N (x n ) = P of a CSP specification is labeled with specification positions. The specification position of its left-hand side is respectively Pos(N ) = (N, 0) or Pos(N (x n )) = (N (x n ), 0).…”
Section: Tracking Computationsmentioning
confidence: 99%
“…CSP has been used in research, teaching, and industry [1,4,29,42], and is nowadays applied to many different industrial problems such as medical simulations [35,20], modeling web services choreographies [34], hardware simulation and verification [38,19], cloud computing models [23], widespread concurrent languages (e.g. MPI [9], Go [53] and Verilog [48]), testing [10], and social networks modeling [24,41].…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation
“…fault-tolerance [46]), (2) Addressing specific shortcomings and development needs (e.g. reusability [47] and verifiability [48]), or (3) Providing complete solutions for specific applications (e.g. neural simulation using NEST [49]).…”
Section: A Related Models and Abstractionsmentioning
confidence: 99%