skip to main content
10.1145/1122971.1123007acmconferencesArticle/Chapter ViewAbstractPublication PagesppoppConference Proceedingsconference-collections
Article

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

Published:29 March 2006Publication History

ABSTRACT

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).

References

  1. Apon, A. Cluster Computing in the Classroom and Integrations for Computing Curricula 2001. IEEE Transactions on Education, Vol. 47, No. 2, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Avison, D., Lau, F., Myers, M., and Nielson, P. A. Action Research: To make academic research relevant, researchers should try out their theories with practitioners in real situations and real organizations.Communications of the ACM, Vol. 42, No. 1, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Bernstein, F. C., Koetzle, T. F., Williams, G. J., Meyer, E. F. Jr., Brice, M. D., Rodgers, J. R., Kennard, O., Shimanouchi, T., Tasumi, M. The Protein Data Bank. A computer-based archival file for macromolecular structures. European Journal of Biochemistry. Vol. 80, No.2, 1997, Pages 319--24.Google ScholarGoogle ScholarCross RefCross Ref
  4. Des Ligneris, B., Scott, S., Naughton, T., and Gorsuch, N. Open Source Cluster Application Resources (OSCAR): Design, implementation, and interest for the scientific community. In Proceedings of the First OSCAR Symposium, 2003.Google ScholarGoogle Scholar
  5. Diesburg, S., Gray, P., and Joiner, D. High Performance Computing Without the Fuss: The Bootable Cluster CD. In Proceedings of the 6th International Workshop on Parallel and Distributed Scientific and Engineering Computing. (PDSEC 2005) (Denver, CO, 2005). Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Dongarra, J. London, K. Moore, S. Mucci, P. and Terptra, D. Using PAPI for hardware performance monitoring on Linux systems. (LCI 2001) (Urbana, IL, June 26-27, 2001).Google ScholarGoogle Scholar
  7. Duke, R., Salzman, E., Burmeister, J., Poon, J., and Murray, L. 2000. Teaching programming to beginners - choosing the language is just the first step. In Proceedings of the Australasian Conference on Computing Education (Melbourne, Australia). A. E. Ellis, Ed. ACSE '00, vol. 8. ACM Press, New York, NY, 79-86. DOI= http://doi.acm.org/10.1145/359369.359381 Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Fisher, A. L. and Gross, T. 1991. Teaching the programming of parallel computers. SIGCSE Bull. 23, 1 (Mar. 1991), 102-107. DOI= http://doi.acm.org/10.1145/107005.107024 Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Fisher, A. L. and Gross, T. 1992. Teaching empirical performance analysis of parallel programs. In Proceedings of the Twenty-Third SIGCSE Technical Symposium on Computer Science Education (Kansas City, Missouri, United States, March 05 - 06, 1992). SIGCSE '92. ACM Press, New York, NY, 309-313. DOI= http://doi.acm.org/10.1145/134510.134571 Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Krishna, P. C., Madhavan, S. G., and Bertoline, G. R. Talk Xanga: Capturing Gen-Z's Computaitonal Imagination. HPCWire, Vol. 14, No. 37, 2005.Google ScholarGoogle Scholar
  11. Lindahl, E., Hess, B., and van der Spoel, D. GROMACS 3.0: a package for molecular simulation and trajectory analysis. Journal of Molecular Modeling, Volume 7, Issue 8, Aug 2001, Pages 306--317.Google ScholarGoogle ScholarCross RefCross Ref
  12. Murphy, T. Gray, P., Peck, C., and Joiner, D. New Directions for Computational Science Education. HPCWire Vol. 14, No. 34, 2005.Google ScholarGoogle Scholar
  13. Neeman, H., Mullan, J., Lee, L., and Newman, G. K. Supercomputing in Plan English: Teaching High Performance Computing to Inexperienced Programmers. (LCI 2002) (St. Petersburg, FL, October 23-25, 2002).Google ScholarGoogle Scholar
  14. President's Information Technology Advisory Committee. Computational Science: Ensuring Americas's Competitiveness. 72 pages.Google ScholarGoogle Scholar
  15. Searcy, Mary E. and Richie, Jill T. The Notion of Community in United States Computational Science Education Initiatives. In Lecture Notes in Computer Science, Vol. 3037, 2004, Pages 726--729.Google ScholarGoogle Scholar
  16. Whaley, R. Petitet, A. and Dongarra, J. Automated Empirical Optimization of Software and the ATLAS Project. Parallel Computing, 27 (1-2):3--35, 2001.Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Yasar, O., Landau, R. H. Elements of Computational Science and Engineering Education. SIAM Review, Vol 45, No. 4, 2003.Google ScholarGoogle Scholar

Index Terms

  1. Teaching parallel computing to science faculty: best practices and common pitfalls

                Recommendations

                Comments

                Login options

                Check if you have access through your login credentials or your institution to get full access on this article.

                Sign in

                PDF Format

                View or Download as a PDF file.

                PDF

                eReader

                View online with eReader.

                eReader