Faculty Publications


Teaching parallel computing to science faculty: Best practices and common pitfalls

Document Type



Diskless clusters, High performance computing education, Parallel computing education, Parallel computing environments, Performance analysis of parallel or distributed software, Tools for developing parallel or distributed software

Journal/Book/Conference Title

Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP



First Page


Last Page



In 2002, we first brought High Performance Computing (HPC) methods to the college classroom as a way to enrich Computational Science education. Through the years, we have continued to facilitate college faculty in science, technology, engineering, and mathematics (STEM) disciplines to stay current with HPC methodologies. We have accomplished this by designing and delivering faculty workshops, hosted in a variety of lab settings, as well as by developing tools supporting the technical infrastructure necessary for HPC education, all this without requiring access to traditional HPC computing platforms. In all, we have so far presented 16 professional development workshops for close to 400 predominantly undergraduate STEM faculty. This paper presents the result of internal formative evaluation by workshop instructors and the materials and tools developed during that process. We did this work as part of the National Computational Science Institute (NCSI) and in collaboration with the following groups: The Minority Serving Institutions - High Performance Computing (MSI-HPC) program of the National Computational Science Alliance The Consortium for Computing Sciences in Colleges (CCSC) The Center for Excellence in High Performance Computing The Oklahoma University Supercomputing Symposium series The Super Computing (SC) conference series education program We presented learners with a sequence of interactive, "run it, modify it, build it" open-ended lab exercises drawn from a variety of disciplines. Interactivity means having the ability to change parallel and algorithmic parameters, e.g. running software on more than one machine, using different models, refining the model, changing the problem scale, using different parallel algorithms. There is a lack of scientific parallel curricula suitable for illustrating Computational Science principles in the classroom. We addressed this need by locating, and where necessary creating, suitable open source software, data-sets, and curricular support materials related to typical problems in STEM disciplines. We use two methods to address the lack of educational HPC infrastructure of most institutions. Via a workstation reboot, the Bootable Cluster CD (BCCD) temporarily transforms a pre-existing Windows or Macintosh laboratory into a computational cluster in under five minutes. Second, we have prototyped an easily portable, airline checkable, under $3000, 8 node cluster for delivering HPC education anywhere with a standard electrical outlet. All the described curriculum materials and software are available through the Shodor Foundation's Computational Science Education Reference Desk (CSERD), one of the pathway projects of the National Science Foundation's National Science Digital Library (NSDL). Copyright © 2006 ACM.

Original Publication Date


This document is currently not available here.