P. Pacheco, An Introduction to Parallel Programming, 2011.

F. T. Leighton, Introduction to Parallel Algorithm and Architectures: Arrays, Trees, and Hypercubes, 1991.

T. G. Lewis and H. El-rewini, Introduction to Parallel Computing, 1992.

G. Hager and G. Wellein, Introduction to High Performance Computing for Scientists and Engineers, 2010.
DOI : 10.1201/EBK1439811924

M. Herlihy and N. Shavit, The art of multiprocessor programming, Proceedings of the twenty-fifth annual ACM symposium on Principles of distributed computing , PODC '06, 2008.
DOI : 10.1145/1146381.1146382

T. Rauber and G. Rnger, Parallel Programming: for Multicore and Cluster Systems, 2010.

D. B. Kirk and W. W. Hwu, Programming Massively Parallel Processors: A Hands-on Approach, 2010.

B. Chapman, G. Jost, and R. Van-van-der-pas, Using OpenMP: Portable Shared Memory Parallel Programming, 2007.

P. Pacheco, Parallel Programming with MPI, 1996.

M. J. Quinn, Parallel Programming in C with MPI and OpenMP, 2008.

G. E. Karniadakis, R. M. Kirby, and I. , Parallel Scientific Computing in C++ and MPI: A Seamless Approach to Parallel Algorithms and their Implementation, 2003.
DOI : 10.1017/CBO9780511812583

F. Gebali, [15] J. JaJa, Introduction to Parallel Algorithms, Algorithms and Parallel Computing, 1992.

S. H. Roosta, Parallel Processing and Parallel Algorithms: Theory and Computation, 1999.
DOI : 10.1007/978-1-4612-1220-1

F. T. Leighton, Introduction to Parallel Algorithms and Architectures: Arrays, Trees, Hypercubes, 1991.

J. Dongarra, I. Foster, G. C. Fox, W. Gropp, and K. , The Sourcebook of Parallel Computing, 2002.