ABSTRACT
CS2013 brings parallel and distributed computing (PDC) into the CS curricular mainstream. The Message Passing Interface (MPI) is a platform independent, industry-standard library for parallel and distributed computing. The MPI standard includes support for C, C++, and Fortran; third parties have created implementations for Python and Java. This hands-on workshop introduces MPI basics and applications in C/C++ using Raspberry Pi single-board computers, as an inexpensive and engaging hardware platform for studying PDC. The workshop includes: (i) personal experience with the Raspberry Pi (units provided) accessed via participant laptops (Windows, Mac, or Linux); (ii) assembly of Beowulf clusters of Raspberry Pis quickly in the classroom; (iii) self-paced hands-on experimentation with the working MPI programs; and (iv) a discussion of how such clusters can be used to engage students in and out of the classroom. Participants will experience how to teach distributed computing essentials with MPI by means of reusable, effective "parallel programming patterns," including single program multiple data (SPMD) execution, send-receive message passing, the master-worker, parallel loop, and other common patterns. Participants will then explore more in-depth "exemplar" applications, such as drug design and epidemiology. All materials including the Raspberry Pi software system setup from this workshop will be freely available from CSinParallel.org. No prior experience with MPI, PDC, or the Raspberry Pi is required. Windows, Mac, or Linux laptop required.
Index Terms
- Teaching Parallel and Distributed Computing with MPI on Raspberry Pi Clusters: (Abstract Only)
Recommendations
Teaching Distributed Computing Fundamentals using Raspberry Pi Clusters
SIGCSE 2022: Proceedings of the 53rd ACM Technical Symposium on Computer Science Education V. 2The 2019 ABET computer science criteria requires that all computing students learn parallel and distributed computing (PDC) as undergraduates, and CS2013 recommends at least fifteen hours of PDC in the undergraduate curriculum. Consequently, many ...
Introducing Beginners to Distributed Computing using Raspberry Pi Clusters
SIGCSE '20: Proceedings of the 51st ACM Technical Symposium on Computer Science EducationThe 2019 ABET computer science criteria requires that all computing students learn parallel and distributed computing (PDC) as undergraduates, and CS2013 recommends at least fifteen hours of PDC in the undergraduate curriculum. Consequently, many ...
Teaching Parallel Computing with OpenMP on the Raspberry Pi (Abstract Only)
SIGCSE '17: Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science EducationParallel computing is one of the new knowledge units in the ACM/IEEE CS 2013 curriculum recommendations. This workshop will present the Raspberry Pi as an inexpensive hardware platform for providing each student with her own parallel processor. The ...
Comments