
FreeComputerBooks.com
Links to Free Computer, Mathematics, Technical Books all over the World
|
|
- Title: The Practice of Parallel Programming
- Author(s) Sergey A. Babkin
- Publisher: CreateSpace (March 29, 2010); eBook (Online Edition, September 2021)
- Paperback: 422 pages
- eBook: Zipped PDF
- Language: English
- ISBN-10: 1451536615
- ISBN-13: 978-1451536614
- Share This:
![]() |
This book provides an advanced guide to the issues of the parallel and multithreaded programming. It goes beyond the high-level design of the applications, into the details that are often overlooked but vital to make the programs work. The content is oriented towards the programming of the operating systems, servers and business applications.
The parallel programming has three aspects to it: the theory of parallelism, a specific API you plan to use, and the details of how to make it all work together. Many books cover the first two aspects but at the moment this is the only book about the third one.
This craft of parallel programming is not widely known, and because of this the parallel programming has gained the reputation of complexity. Surprisingly few programs and libraries do the multithreading quite right. This book leads the readers into the understanding of the craft, using many examples based on POSIX and Microsoft Windows APIs, with occasional Java or C#.
Most of the algorithms discussed are general and may be implemented in any language. How to stop a multithreaded program correctly? Or how to stop only a single connection in a multi-user server? What if the program receives a signal? How are the scalable data structures built? What synchronization primitives are more appropriate in which usage patterns, and how are they related to each other? A whole lot of questions about the queues and topologies built with them. When are the fashionable paradigms of lock-free synchronization, transactional memory and actors hot and when not? How to multiplex with threads and without them? This book answers all these questions and more.
About the Authors-
Sergey Babkin is a software engineer and consultant. He has been employed as a software engineer for over 20 years. He has worked on the multithreaded programs for over 10 years, and even longer if the co-programs and the classic Unix in-kernel synchronization are included. Sergey worked on multiple varieties of Unix and Linux internals, complex event processing systems and the stock market data distribution systems. Sergey's employers and clients include SCO, Caldera, Interactive Data, Microsoft and Aleri/Sybase.
- Parallel Computing and Programming
- Algorithms and Data Structures
- Computational Complexity
- Computational and Algorithmic Mathematics

- The Practice of Parallel Programming (Sergey A. Babkin)
- The Mirror Site (1) - PDF
- The Mirror Site (2) - PDF
- The Mirror Site (3) - PDF (Python)
-
Is Parallel Programming Hard? If So, What Can You Do About It?
It examines what makes parallel programming hard, and describes design techniques that can help you avoid many parallel-programming pitfalls. It is primarily intended for low-level C/C++ code, but offers valuable lessons for other environments as well.
-
Programming on Parallel Machines: GPU, Multicore, Clusters, etc.
The main goal of the book is to present parallel programming techniques that can be used in many situations for many application areas and which enable the reader to develop correct and efficient parallel programs.
-
Data Parallel C++: Mastering DPC++ Programming
Learn how to accelerate C++ programs using Data Parallelism. This book enables C++ programmers to be at the forefront of this exciting and important new development that is helping to push computing to new levels.
-
Pro TBB: C++ Parallel Programming with Threading Building Blocks
This book is a modern guide for all C++ programmers to learn Threading Building Blocks (TBB). It presents numerous examples and best practices to help you become an effective TBB programmer and leverage the power of parallel systems.
-
Introduction to Parallel Computing (Blaise Barney)
This book explains how to design, debug, and evaluate the performance of distributed and shared-memory programs. It teaches students how to compile, run and modify example programs. It is a complete end-to-end source of information on almost all aspects.
:
|
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |