This appendix contains an annotated reading list of books and papers of interest to builders and users of Beowulf clusters.
Jack Dongarra, Ian Foster, Geoffrey Fox, William Gropp, Ken Kennedy, Linda Torczon, and Andy White, editors. Sourcebook of Parallel Computing. Morgan Kaufmann, 2003. A collection of chapters written by many of the leaders in the field of parallel computing, including overviews of parallel computer architecture, programming models, algorithms. Also included are descriptions of applications that have successfully used parallel computing.
Addison-Wesley, 1995. Also at: http://www.mcs.anl.gov/dbpp/. A general introduction to the process of creating parallel applications. It includes short sections on MPI and HPF.
Designing and Building Parallel Programs.MIT Press, Cambridge, MA, 1998. An annotated version of the MPI Standard; this contains additional examples and discussion about MPI-2.
MPI—The Complete Reference: Volume 2, The MPI-2 Extensions.2nd edition. MIT Press, 1999. A tutorial introduction to the MPI Standard, with examples in C and Fortran.
Using MPI: Portable Parallel Programming with the Message Passing Interface,MIT Press, Cambridge, MA, 1999. A tutorial introduction to the MPI-2 Standard, with examples in C and Fortran. This is the best place to find information on using MPI I/O in applications.
Using MPI-2: Advanced Features of the Message-Passing Interface.PTR Prentice Hall, 2nd edition, 1988. The original book describing the C programming language.
The C Programming Language.Morgan Kaufmann, 2001. A thorough introduction to parallel I/O including MPI I/O and higher-level libraries such as HDF.
Parallel I/O for High Performance Computing.Prentice Hall PTR, 3rd edition, 2001. A comprehensive and practical book on Unix system administration, it covers all major varieties of Unix, not just Linux.
Unix System Administration Handbook.Morgan Kaufman, 1997. A good introductory text on parallel programming using MPI.
Parallel Programming with MPI.Prentice Hall, Englewood Cliffs, NJ, 1995 edition, 1998. A delightful book advocating clusters for many problems, including for commercial computing. It has nice sections on parallel programming and (as part of his argument for clusters) a good discussion of shared-memory systems and the issues of correctness and performance that are often brushed under the rug. See Pfister's annotated bibliography for more books and articles on clusters.
In Search of Clusters: The Ongoing Battle in Lowly Parallel Computing, 2nd ed.2nd edition. MIT Press, Cambridge, MA, 1998. An annotated version of the MPI-1 Standard, it contains more examples than the official copy and is a good reference on MPI.
MPI—The Complete Reference: Volume 1, The MPI Core,MIT Press, 1999. The original and best-selling Beowulf book. Includes a discussion of building and testing Beowulf node hardware.
How to Build a Beowulf.Addison-Wesley, Reading, MA, USA, 1992. A thorough and highly readable reference on programming under Unix.
Advanced Programming in the UNIX Environment.Prentice-Hall, Upper Saddle River, NJ 07458, USA, second edition, 1998. A companion to Stevens' excellent book on sockets and XTI, this book covers POSIX and System V interprocess communication mechanisms including shared memory, remote procedure calls, and semaphores.
UNIX Network Programming: Interprocess Communications,Prentice-Hall PTR, Upper Saddle River, NJ 07458, USA, second edition, 1998. An excellent reference for network programming under Unix; it provides a highly readable and detailed description of all aspects of Unix socket programming.
UNIX Network Programming: Networking APIs: Sockets and XTI,David Wright, editor. Beowulf. Penguin Classics, 1957. A highly regarded translation (into prose) of the Beowulf Epic.