Free Computer, Mathematics, Technical Books and Lecture Notes, etc.
- Title The Practice of Parallel Programming
- Author(s) Sergey A. Babkin
- Publisher: CreateSpace (March 29, 2010)
- Paperback 422 pages
- 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 Zipped Text
- Draft with Examples (in HTML)
- Posts for the Book