Classification of Computing System Architecture.- Topologies of Computer Networks.- Fundamentals of Parallel Computing.- MPI Technology.- OpenMP Technology.- Implementation of Parallel Algorithms.- App. A, Algorithm Efficiency Estimation Methods.- App. B, Using the Linux Shell for Running Parallel Programs.- App. C, Introduction to the Fourier Transform.- App. D, Answers, Hints, Solutions to Problems.- Bibliography.- Name Index.- Index.
Sergei Kurgalin and Sergei Borzunov have taught related courses such as Parallel Programming, Technologies of Parallel Computing, Parallel and Grid Technologies, and Parallel Data Processing Algorithms at bachelor's and master's level over many years at Voronezh State University.
The book discusses the fundamentals of high-performance computing. The authors combine visualization, comprehensibility, and strictness in their material presentation, and thus influence the reader towards practical application and learning how to solve real computing problems. They address both key approaches to programming modern computing systems: multithreading-based parallelizing in shared memory systems, and applying message-passing technologies in distributed systems.
The book is suitable for undergraduate and graduate students, and for researchers and practitioners engaged with high-performance computing systems. Each chapter begins with a theoretical part, where the relevant terminology is introduced along with the basic theoretical results and methods of parallel programming, and concludes with a list of test questions and problems of varying difficulty. The authors include many solutions and hints, and often sample code.