DocumentCode :
233639
Title :
Using the Pilot Library to Teach Message-Passing Programming
Author :
Gardner, William B. ; Carter, John D.
Author_Institution :
Sch. of Comput. Sci., Univ. of Guelph, Guelph, ON, Canada
fYear :
2014
fDate :
16-16 Nov. 2014
Firstpage :
1
Lastpage :
8
Abstract :
Message-passing is the staple of HPC codes, and MPI has long occupied the place of HPC´s default programming paradigm, thus it would seem to be the natural choice for instructing undergraduates. Nonetheless, MPI is a low-level API, complex and tricky to use, with many pitfalls awaiting the inexperienced. The Pilot library was invented as an alternative HPC programming model for C and Fortran. Pilot-based codes, using a process/channel application architecture borrowed from Communicating Sequential Processes (CSP), can avoid some categories of errors, and the Pilot library with its integrated deadlock detector provides extensive checking and diagnosis of usage problems, which is especially important for students running cluster programs in their typical low-visibility environment with limited debugging tools. This paper gives an overview of programming in Pilot, with its compact API of point-to-point and collective operations. It explains reasons for preferring it as an introductory message-passing technique, describes free resources available to the instructor, and relates experiences of using Pilot with undergraduates over five years, including student reactions. Pilot is now available as free and open source.
Keywords :
C language; FORTRAN; application program interfaces; computer aided instruction; computer science education; concurrency control; message passing; parallel programming; program debugging; software libraries; C language; CSP; Fortran language; HPC codes; HPC default-programming paradigm; HPC programming model; MPI; Pilot library; Pilot-based codes; channel application architecture; cluster programs; collective operations; communicating sequential processes; debugging tools; error avoidance; free resources; free-open source software; integrated deadlock detector; low-level API; low-visibility environment; message-passing programming teaching; point-to-point operations; process application architecture; student reactions; undergraduates; usage problem checking; usage problem diagnosis; Arrays; Debugging; Detectors; Libraries; Programming profession; Parallel programming; MPI; high-performance computing; CSP; deadlock detection; novice programmers;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Education for High Performance Computing (EduHPC), 2014 Workshop on
Conference_Location :
New Orleans, LA
Type :
conf
DOI :
10.1109/EduHPC.2014.14
Filename :
7016351
Link To Document :
بازگشت