| Home Page |
| Course Page |
Textbook Online
Supplementary Textbook Online
Java Tutorials
Java Documentation
Parallel Programming Books -- General
Parallel Programming Books -- Domain Specific
OpenMP
Message Passing Interface (MPI)
Tuple Spaces
Cellular Automata
Older Books
Alan Kaminsky. Building Parallel Programs: SMPs, Clusters, and Java. Draft in progress, 2006.
An online version of the draft textbook is available at http://www.cs.rit.edu/~ark/bpp/. The draft textbook is free of charge, but with restrictions on copying.
Barry Wilkinson and Michael Allen. Parallel Programming: Techniques and Applications Using Networked Workstations and Parallel Computers, Second Edition. Prentice-Hall, 2005.
An online version of the textbook is available at SafariX Textbooks Online. Paying a subscription fee allows you full access to the textbook for a limited time. For further information, see http://www.safarix.com/0131405632.
The author's companion website for the textbook is http://www.cs.uncc.edu/par_prog/.
The Java Tutorial. http://java.sun.com/docs/books/tutorial
Java I/O Tutorial (including object serialization). http://java.sun.com/docs/books/tutorial/essential/io/index.html
Java Threads Tutorial. http://java.sun.com/docs/books/tutorial/essential/threads/index.html
Java Exceptions Tutorial. http://java.sun.com/docs/books/tutorial/essential/exceptions/index.html
Java Networking Tutorial. http://java.sun.com/docs/books/tutorial/networking/index.html
Java RMI Tutorial. http://java.sun.com/docs/books/tutorial/rmi/index.html
Java 2 Standard Edition Software Development Kit Version 1.5.0 Documentation. http://java.sun.com/j2se/1.5.0/docs/index.html
Java 2 Standard Edition Software Development Kit Version 1.5.0 API Specification. http://java.sun.com/j2se/1.5.0/docs/api/index.html
Bruce P. Lester. The Art of Parallel Programming, Second Edition. 1st World Publishing, 2006.
Kenneth A. Berman and Jerome L. Paul. Algorithms: Sequential, Parallel, and Distributed. Thomson Course Technology, 2005.
Timothy G. Mattson, Beverly A. Sanders, and Berna L. Massingill. Patterns for Parallel Programming. Addison-Wesley, 2005.
Barry Wilkinson and Michael Allen. Parallel Programming: Techniques and Applications Using Networked Workstations and Parallel Computers, Second Edition. Prentice-Hall, 2005.
Michael J. Quinn. Parallel Programming in C with MPI and OpenMP. McGraw-Hill, 2004.
Ananth Grama, Anshul Gupta, George Karypis, and Vipin Kumar. Introduction to Parallel Computing, Second Edition. Addison-Wesley, 2003.
Harry F. Jordan and Gita Alaghband. Fundamentals of Parallel Processing. Prentice-Hall, 2003.
Russ Miller and Laurence Boxer. Algorithms Sequential & Parallel: A Unified Approach. Prentice-Hall, 2000.
Behrooz Parhami. Introduction to Parallel Processing: Algorithms and Architectures. Plenum Press, 1999.
Kai Hwang and Zhiwei Xu. Scalable Parallel Computing: Technology, Architecture, Programming. McGraw-Hill, 1998.
C. Xavier and S. S. Iyengar. Introduction to Parallel Algorithms. John Wiley & Sons, 1998.
Selim G. Akl. Parallel Computation: Models and Methods. Prentice-Hall, 1997.
El-Ghazali Talbi, editor. Parallel Combinatorial Optimization. John Wiley & Sons, 2006.
Albert Y. Zomaya, editor. Parallel Computing for Bioinformatics and Computational Biology. John Wiley & Sons, 2006.
Joseph Felsenstein. Inferring Phylogenies. Sinauer Associates, 2004.
Sverre J. Aarseth. Gravitational N-Body Simulations: Tools and Algorithms. Cambridge University Press, 2003.
George Em Karniadakis and Robert M. Kirby II. Parallel Scientific Computing in C++ and MPI: A Seamless Approach to Parallel Algorithms and Their Implementation. Cambridge University Press, 2003.
William H. Press, Saul A. Teukolsky, William T. Vetterling, and Brian P. Flannery. Numerical Recipes in Fortran 90: The Art of Parallel Scientific Computing, Second Edition. Cambridge University Press, 1996.
Numerical Recipes Online. http://www.nr.com.
OpenMP Home Page. http://www.openmp.org/
Barry Wilkinson and Michael Allen. Parallel Programming: Techniques and Applications Using Networked Workstations and Parallel Computers, Second Edition. Prentice-Hall, 2005.
Michael J. Quinn. Parallel Programming in C with MPI and OpenMP. McGraw-Hill, 2004.
Rohit Chandra, Leonardo Dagum, Dave Kohr, Dror Maydan, Jeff McDonald, and Ramesh Menon. Parallel Programming in OpenMP. Academic Press, 2001.
MPI Forum Home Page. http://www.mpi-forum.org/
Michael J. Quinn. Parallel Programming in C with MPI and OpenMP. McGraw-Hill, 2004.
George Em Karniadakis and Robert M. Kirby II. Parallel Scientific Computing in C++ and MPI: A Seamless Approach to Parallel Algorithms and Their Implementation. Cambridge University Press, 2003.
William Gropp, Ewing Lusk, and Anthony Skjellum. Using MPI: Portable Parallel Programming with the Message Passing Interface, Second Edition. MIT Press, 1999.
Peter S. Pacheco. A User’s Guide to MPI. March 30, 1998. ftp://math.usfca.edu/pub/MPI/mpi.guide.ps.Z
Peter S. Pacheco. Parallel Programming with MPI. Morgan Kaufmann, 1997.
JavaSpaces Service Specification, v1.2.1.
http://wwws.sun.com/software/jini/specs/jini1.2html/js-title.html
(PDF:
http://wwws.sun.com/software/jini/specs/js1_2_1.pdf)
Commercial implementations of the JavaSpaces specification:
IBM's TSpaces, an alternative tuple space implementation in Java. http://www.alphaworks.ibm.com/tech/tspaces
Philip Bishop and Nigel Warren. JavaSpaces in Practice. Addison-Wesley, 2003.
Eric Freeman, Susanne Hupfer, and Ken Arnold. JavaSpaces Principles, Patterns, and Practice. Addison-Wesley, 1999.
David Gerlernter. Mirror Worlds. Oxford University Press, 1991.
Nicholas Carriero and David Gelernter. How to Write Parallel Programs: A First Course. MIT Press, 1990.
Nicholas Carriero and David Gelernter. How to write parallel programs: A guide to the perplexed. ACM Computing Surveys, 21(3)323-357, September 1989. (Available from the ACM Digital Library, http://doi.acm.org/10.1145/72551.72553)
David Gelernter. Generative communication in Linda. ACM Transactions on Programming Languages and Systems, 7(1)80-112, January 1985. (Available online from the ACM Digital Library, http://doi.acm.org/10.1145/2363.2433)
Stephen Wolfram. A New Kind of Science. Stephen Wolfram, LLC, 2002.
A New Kind of Science Online. http://www.wolframscience.com/
Michel Cosnard and Denis Trystram. Parallel Algorithms and Architectures. International Thomson Computer Press, 1995.
Ian East. Parallel Processing with Communicating Process Architecture. UCL Press, 1995.
Ian T. Foster. Designing and Building Parallel Programs: Concepts and Tools for Parallel Software Engineering. Addison-Wesley, 1995. (Online version: http://www-unix.mcs.anl.gov/dbpp/)
Daniel E. Lenoski and Wolf-Dietrich Weber. Scalable Shared-Memory Multiprocessing. Morgan Kaufmann Publishers, 1995.
Gregory V. Wilson. Practical Parallel Programming. MIT Press, 1995.
George S. Almasi and Allan Gottlieb. Highly Parallel Computing, Second Edition. Benjamin/Cummings Publishing Company, 1994.
Michael J. Quinn. Parallel Computing: Theory and Practice, Second Edition. McGraw-Hill, 1994.
Bruce P. Lester. The Art of Parallel Programming. Prentice-Hall, 1993.
Ted G. Lewis. Foundations of Parallel Programming: A Machine-Independent Approach. IEEE Computer Society Press, 1993.
K. Mani Chandy and Stephen Taylor. An Introduction to Parallel Programming. Jones and Bartlett Publishers, 1992.
T. L. Freeman and C. Phillips. Parallel Numerical Algorithms. Prentice-Hall, 1992.
Harold W. Lawson. Parallel Processing in Industrial Real-Time Applications. Prentice-Hall, 1992.
Ted G. Lewis, Hesham El-Rewini, and In-Kyu Kim. Introduction to Parallel Computing. Prentice-Hall, 1992.
U. do Carlini and U. Villano. Transputers and Parallel Architectures: Message-Passing Distributed Systems. Ellis Horwood, 1991.
Nicholas Carriero and David Gelernter. How to Write Parallel Programs: A First Course. MIT Press, 1990.
S. Lakshmivarahan and Sudarshan K. Dhall. Analysis and Design of Parallel Algorithms: Arithmetic and Matrix Problems. McGraw-Hill, 1990.
Dimitri P. Bertsekas and John N. Tsitsiklis. Parallel and Distributed Computation: Numerical Methods. Prentice-Hall, 1989.
Nicholas Carriero and David Gelernter. How to write parallel programs: A guide to the perplexed. ACM Computing Surveys, 21(3)323-357, September 1989. (Available from the ACM Digital Library.)
Geoffrey C. Fox, Mark A. Johnson, Gregory A. Lyzenga, Steve W. Otto, John K. Salmon, and David W. Walker. Solving Problems on Concurrent Processors, Volume I: General Techniques and Regular Problems. Prentice-Hall, 1988.
Michael J. Quinn. Designing Efficient Algorithms for Parallel Computers. McGraw-Hill, 1987.
W. Daniel Hillis. The Connection Machine. MIT Press, 1985.
U. Schendel. Introduction to Numerical Methods for Parallel Computers. Ellis Horwood Limited, 1984.
| Course Page |
| Home Page |