This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
August 2008 (vol. 9 no. 8)
pp. 1
Ami Marowka, Shenkar College of Engineering and Design
Parallel computing is rapidly entering mainstream computing, and multicore processors can now be found in the heart of supercomputers, desktop computers, and laptops. Consequently, applications will increasingly need to be parallelized to fully exploit the multicore processor throughput gains that are becoming available. Unfortunately, writing parallel code is more complex than writing serial code. An introductory parallel computing course aims to introduce students to this technology shift and to explain that parallelism calls for a different way of thinking and new programming skills. The course covers theoretical topics and offers practical experience in writing parallel algorithms on state-of-the-art parallel computers, parallel programming environments, and tools.

1. A. Marowka, "Parallel Computing on Any Desktop," Comm. ACM, vol. 50, no. 9, 2007, pp. 74-78.
2. M. Paprzycki, "Integrating Parallel and Distributed Computing in Computer Science Curricula," IEEE Distributed Systems Online, vol. 7, no. 2, 2006, http://doi.ieeecomputersociety.org/10.1109 MDSO.2006.9.
3. I. Foster, Designing and Building Parallel Programs, Addison-Wesley, 1995, www-unix.mcs.anl.gov/dbpp/textbook.html.
4. M.J. Quinn, Parallel Programming in C with MPI and OpenMP, McGraw-Hill, 2004.
5. B. Wilkinson and M. Allen,Parallel Programming: Techniques and Applications Using Networked Workstations and Parallel Computers, 2nd ed. Prentice Hall, 2005.
6. A. Grama et al., An Introduction to Parallel Computing, Design and Analysis of Algorithms, 2nd ed., Addison-Wesley, 2003.
7. W. Gropp, E. Lusk, and A. Skjellum, Using MPI: Portable Parallel Programming with the Message Passing Interface, MIT Press, 1999.
8. B. Chapman, G. Jost, and R. van der Pas, Using OpenMP Portable Shared Memory Parallel Programming, MIT Press, 2007.
9. R.H. Bisseling, Parallel Scientific Computation: A Structured Approach using BSP and MPI, Oxford Univ. Press, 2004.

Index Terms:
Concurrent Programming, Computer Science Education, Algorithms, Languages, Theory, Parallel Computing, Parallel Programming, OpenMP
Citation:
Ami Marowka, "Think Parallel: Teaching Parallel Programming Today," IEEE Distributed Systems Online, vol. 9, no. 8, pp. 1, Aug. 2008, doi:10.1109/MDSO.2008.24
Usage of this product signifies your acceptance of the Terms of Use.