Saturday, March 21, 2009

2009-03-21 Saturday - Parallel Computing



Blaise Barney, Lawrence Livermore National Laboratory
Introduction to Parallel Computing:
Part 1: The basics of parallel computing

Part 2: Designing and implementing parallel programs


Principles of Parallel Programming
by Calvin Lin, Larry Snyder
With the rise of multi-core architecture, parallel programming is an increasingly important topic for software engineers and computer system designers. Written by well-known researchers Larry Snyder and Calvin Lin, this highly anticipated first edition 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, Parallel Programming supplies enduring knowledge that will outlive the current hardware and software, aiming to inspire future researchers to build tomorrow's solutions. "...the first basic book on the subject that I've ever seen that seems to have the pulse on the true issues of parallelism that are relevant for students." --Alan Edelman, MIT "Principles of Parallel Programming is a wonderful book and I plan to use it in our new parallel programming course..."---Peiyi Tang, University of Arkansas, Little Rock "I like [Principles of Parallel Programming] very much for a few specific reasons: it's concise, covers the most relevant topics but does not take thousand pages to do it, it is hands on and it covers. ..recent developments with multi-core and GPGPU." --Edin Hodzic, Santa Clara University






Patterns for Parallel Programming
by Timothy G. Mattson, Beverly A. Sanders, Berna L. Massingill
The Parallel Programming Guide for Every Software Developer From grids and clusters to next-generation game consoles, parallel computing is going mainstream. Innovations such as Hyper-Threading Technology, HyperTransport Technology, and multicore microprocessors from IBM, Intel, and Sun are accelerating the movement's growth. Only one thing is missing: programmers with the skills to meet the soaring demand for parallel software. That's where Patterns for Parallel Programming comes in. It's the first parallel programming guide written specifically to serve working software developers, not just computer scientists. The authors introduce a complete, highly accessible pattern language that will help any experienced developer "think parallel"-and start writing effective parallel code almost immediately. Instead of formal theory, they deliver proven solutions to the challenges faced by parallel programmers, and pragmatic guidance for using today's parallel APIs in the real world.Coverage includes: *Understanding the parallel computing landscape and the challenges faced by parallel developers*Finding the concurrency in a software design problem and decomposing it into concurrent tasks*Managing the use of data across tasks*Creating an algorithm structure that effectively exploits the concurrency you've identified*Connecting your algorithmic structures to the APIs needed to implement them*Specific software constructs for implementing parallel programs*Working with today's leading parallel programming environments: OpenMP, MPI, and Java Patterns have helped thousands of programmers master object-oriented development and other complex programming technologies. With this book, you will learn that they're the best way to master parallel programming too.





Distributed and Parallel Systems: From Cluster to Grid Computing
by Peter Kacsuk, Thomas Fahringer, Zsolt Nemeth
Distributed and Parallel Systems: From Cluster to Grid Computing is an edited volume based on DAPSYS 2006, the 6th Austrian-Hungarian Workshop on Distributed and Parallel Systems, which is dedicated to all aspects of distributed and parallel computing. The workshop was held in conjunction with the 2nd Austrian Grid Symposium in Innsbruck, Austria in September 2006.






Introduction to Parallel Computing (2nd Edition)
by Ananth Grama, George Karypis, Vipin Kumar, Anshul Gupta
This book provides a basic, in-depth look at techniques for the design and analysis of parallel algorithms and for programming them on commercially available parallel platforms. Principles of parallel algorithms design and different parallel programming models are both discussed, with extensive coverage of MPI, POSIX threads, and Open MP. This second edition includes two new chapters on the principles of parallel programming and programming paradigms, as well as new information on portability. For programmers wanting to gain proficiency in all aspects of parallel programming.





The Art of Multiprocessor Programming
by Maurice Herlihy, Nir Shavit





The Sourcebook of Parallel Computing (The Morgan Kaufmann Series in Computer Architecture and Design)
by Jack Dongarra, Geoffrey Fox, Ken Kennedy, Linda Torczon, William Gropp, Ian Foster, Andy White
Sourcebook of Parallel Computing is an indispensable reference for parallel-computing consultants, scientists, and researchers, and a valuable addition to any computer science library. -Distributed Systems Online "The Sourcebook for Parallel Computing gives a thorough introduction to parallel applications, software technologies, enabling technologies, and algorithms. This is a great book that I highly recommend to anyone interested in a comprehensive and thoughtful treatment of the most important issues in parallel computing. " -Horst Simon, Director, Director, NERSC, Berkeley "The Sourcebook builds on the important work done at the Center for Research on Parallel Computation and within the academic community for over a decade. It is a definitive text on Parallel Computing and should be a key reference for students, researchers and practitioners in the field." -Francine Berman, Director, San Diego Supercomputer Center and the National Partnership for Advanced Computational Infrastructure





Parallel Scientific Computing in C++ and MPI: A Seamless Approach to Parallel Algorithms and their Implementation
by George Em Karniadakis, Robert M. Kirby II


No comments: