Barry Wilkinson, Michael Allen:
Parallel Programming: Techniques and Applications Using Networked Workstations and Parallel Computers
Prentice-Hall, 2005
Seyed H. Roosta:
Parallel processing and Parallel Algorithms - Theory and Computation
Springer, 2000
Thomas Rauber, Gudula Rünger:
Parallele und verteilte Programmierung
Springer, 2000
Gregory R. Fister:
In Search of Clusters (2nd edition)
Prentice Hall, 1998
Programming
http://www.mpi-forum.org/
http://www.openmp.org/
Michael J. Quinn:
Parallel Programming in C with MPI and OpenMP
McGraw Hill, 2003
Peter S. Pacheco:
Parallel Programming with MPI
Morgan Kaufman Publishers, Inc.,1997
Rohit Chandra et.al:
Parallel Programming in OpenMP
Morgan Kaufmann, 2001
Gregory R. Andrews:
Foundations of Multithreaded, Parallel, and Distributed Programming
Addison-Wesley, 2000
Barbara Chapman, Gabriele Jost, Ruud van der Pas:
Using OpenMP
The MIT Press, 2008
Parallel Systems
David E.Culler, Jaswinder Pal Singh:
Parallel Computer Architecture: A Hardware/Software Approach
Morgan Kaufmann Publishers, Inc., San Francisco, 1999
John L. Hennessy, David A. Patterson:
Computer Architecture - A Quantitative Approach
3rd edition, Morgan Kaufmann, 2003
Memory
Ulrich Drepper:
What Every Programmer Should Know About Memory
http://www.akkadia.org/drepper/cpumemory.pdf, 2007
Synchronization
Gadi Taubenfeld:
Synchronization Algorithms and Concurrent Programming
Pearson Prentice Hall, Harlow, 2006