| Last Modified On : | October 16, 2007 3:51 PM PDT |
Rate |
|
The Art of Concurrency - A Thread Monkey's Guide to Writing Parallel Applications By Clay Breshears
"The Art of Concurrency" focuses on implementing algorithms in the shared-memory model of multi-core processors and will give you the hands-on experience you need. You'll get detailed explanations and usable samples to help you transform algorithms from serial to parallel code, along with advice and analysis to steer you clear of mistakes.
Intel® Threading Building Blocks: Outfitting C++ for Multi-core Processor Parallelism, by James Reinders
Parallelism for C++ as defined by Intel Threading Building Blocks is being heralded as the key for multi-core programming in C++. In this book, James Reinders explains the library in a way that furnishes novices and experts alike with a clear and accessible discussion of the complexities of concurrency. The book is also packed with illustrative examples.
Patterns for Parallel Programming, by Timothy G. Mattson, Beverly A. Sanders, Berna L. Massingill
This book is designed to help people new to parallel computing “think parallel”. It uses design patterns to present the essence of how experts think about parallel programming. Examples are provided in MPI, OpenMP and Java; though really the book is useful for any parallel programming language you may choose to use.
Principles of Parallel Programming, by Calvin Lin and Larry Snyder.
The book emphasizes the principles underlying parallel computation, explains the various phenomena, and clarifies why these phenomena represent opportunities or barriers to successful parallel programming. Ideal for an advanced upper-level undergraduate course, Principles of Parallel Programming supplies enduring knowledge that will outlive the current hardware and software, aiming to inspire future researchers to build tomorrow’s solutions.
Concurrent Programming on Windows, by Joe Duffy.
This book explains how to design, implement, and maintain large-scale concurrent programs, primarily using C# and C++ for Windows.
Multi-Core Programming Increasing Performance through Software Multi-threading, by Shameem Akhter and Jason Roberts.
Software Development for Embedded Multi-Core Systems, by Max Domeika
A Practical Guide Using Embedded Intel Architecture that provides embedded engineers with solid grounding in the skills required to develop software targeting multicore processors. Within the text, the author undertakes an in-depth exploration of performance analysis, and a close-up look at the tools of the trade.
Real World Haskell, by John Goerzen, Bryan O'Sullivan, Donald Bruce Stewart
This easy-to-use, fast-moving tutorial introduces you to functional programming with Haskell. You'll learn how to use Haskell in a variety of practical ways, from short scripts to large and demanding applications.
Using OpenMP Portable Shared Memory Parallel Programming, by Barbara Chapman, Gabriel Jost and Ruud Van Der Pas
OpenMP is the number one API for shared memory parallel computers. This book discusses OpenMP version 2.5 and is the most up to date text available about this important language and how it is used. The emphasis is on scientific computing, but the algorithms and techniques described are relevant to any class of parallel algorithm.
Programming with POSIX® Threads, by David R. Butenhof
An in-depth description of the IEEE operating system interface standard, POSIX threads, commonly called Pthreads. You will attain a solid understanding of threads and will discover how to put this powerful mode of programming to work in real-world applications. --- Amazon.com
Win32 Multithreaded Programming, by Cohen and Woodring
The book is currently out of print, but still worth noting as a great referance for Win32 Multithreaded Programing.
Java Concurrency in Practice, by Brian Goetz et al.
Brian's book covers the basic concepts of concurrency and thread safety, techniques for building and composing thread-safe classes, and using the concurrency building blocks in java.util.concurrent. It also includes performance optimization dos and don'ts, testing concurrent programs and advanced topics such as atomic variables, nonblocking algorithms, and the Java Memory Model.
Concurrent Programming in Java, by Douglas Lea
The Java platform provides a broad and powerful set of APIs, tools, and technologies. One of its most powerful capabilities is the built-in support for threads. This makes concurrent programming an attractive yet challenging option for programmers using the Java programming language.
The book shows readers how to use the Java platform's threading model more precisely by helping them to understand the patterns and tradeoffs associated with concurrent programming. --- Amazon.com
Buy Now!
Principles of Concurrent Programming, by M. Ben-Ari
Principles of Concurrent and Distributed Programming (2nd edition), by M. Ben-Ari
The book focuses on algorithmic principles rather than language syntax with an emphasis on the use of the Spin model checker for modeling concurrent systems and verifying program correctness and includes and explains the implementation of concurrency in the Java and Ada languages. It also helps to facilitate lab work with software tools for learning concurrent and distributed programming. --- Amazon.com
Parallel Programming in C with MPI and OpenMP, by Michael J. Quinn
This book is a great introduction to parallel computing. It is pragmatic and focuses on what you need to know to be productive with C and MPI or OpenMP.
Twelve Ways to Fool the Masses When giving Performance Results on Parallel Computers, David H. Bailey, Supercomputing Review, Aug. 1991, pp. 54-55
This is one of the most cited papers in the parallel computing literature. Want to know how to manipulate your manager using performance results? This is the paper for you.
| December 22, 2008 1:35 PM PST
Doug Holland (Intel)
|
You might also want to look at Concurrent Programming on Windows by Joe Duffy which is an awesome book. See http://software.intel.com/en-us/blogs/2008/12/04/concurrent-..... n-windows/ |
| January 23, 2009 1:18 PM PST
Aaron Tersteeg (Intel)
|
Doug, Thank you for the recommendation. I have added the book to our list. Please keep the comments coming. Aaron |
| February 3, 2009 4:21 PM PST
Tom Pattson |
Finally, I bought a new book for beginners by Packt Publishing: "C# 2008 and 2005 Threaded Programming: Beginner’s Guide", by Gaston C. Hillar - http://www.packtpub.com/beginners-guide-for-C-sharp-2008-and.....mming/book Amazon: http://www.amazon.com/2008-2005-Threaded-Programming-Beginne....._rhf_p_t_2 The book is for beginner who want to exploit multi-core with C# 2005; 2008 and future 2010. I read the book in one week and it has great exercises to help developers run in the multi-core jungle. Highly recommended. I must also recommend Joe Duffy's book. However, it is already shown in the list. |
| March 3, 2009 6:11 AM PST
Phool Chandra
| these book is valuable for a develope |
| October 29, 2009 5:29 PM PDT
Jed Wesley-Smith |
Definitely recommend Maurice Herlihy and Nir Shavit's The Art of Multiprocessor Programming. It explains in great detail low level implementation of concurrency primitives and algorithms. Amazon: http://www.amazon.com/Art-Multiprocessor-Programming-Maurice..... 0123705916 |
| October 30, 2009 12:38 AM PDT
Vladimir Sedach |
The one book on parallel programming that remains essential is Carriero and Gelernter's _How to write parallel programs_: http://www.amazon.com/gp/product/026203171X?ie=UTF8&tag=vlad.....026203171X It's a shame that it's not more widely known. |
| November 2, 2009 12:24 AM PST
Eggy | I second the recommendation to add "The Art of Multiprocessor Programming" to this list. It is an awesome book for Java programmers who want to exploit the multicore architecture for performance. |
| November 2, 2009 7:35 PM PST
alex kamil | "Parallel Programming: Techniques and Applications Using Networked Workstations and Parallel Computers" (2nd Edition) by Barry Wilkinson and Michael Allen - this is one of the best books I've read on this topic, highly recommended |
| December 19, 2009 2:42 AM PST
thiamchunkoh
| The books being display on this webpage is a very good source for students, professionals, academias, and professors to learn, research and applied the concept of high performance computing, GRIDS, CLUSTERS and parallel programming, multicore programming as well as further research on the latest HPC virtualization and supercomputing architecture and programming theory and applied programming concept for pattern based analysis design technique in high performance computing model driven software engineering with both Linear and parallel programming paradigm with scalable computing theory and applied concept as well as concurrent processing with MIPLS high throughput in the TCP/IP Network with systolic array network for example..... |

English | 中文 | Русский | Français
Aaron Tersteeg (Intel)
|
سبزه
Professional Multicore Programming: Design and Implementation for C++ Developers
Wrox | 2008-09-09 | ISBN: 0470289627 | 648 pages | PDF