A list of book releases compiled by Dr. Dobb's to keep you up-to-date on parallel programming and multicore technology.
Patterns for Parallel Software Design
by Jorge Luis Ortega-Arjona
Software patterns have revolutionized the way we think about how software is designed, built, and documented, and the design of parallel software requires you to consider other particular design aspects and special skills. From clusters to supercomputers, success heavily depends on the design skills of software developers.This book presents a pattern-oriented software architecture approach to parallel software design. This approach is not a design method in the classic sense, but a new way of managing and exploiting existing design knowledge for designing parallel programs. Moreover, such approaches enhance not only build-time properties of parallel systems, but also, and particularly, their run-time properties. It features known solutions in concurrent and distributed programming, applied to the development of parallel programs; provides architectural patterns that describe how to divide an algorithm and/or data to find a suitable partition and link it with a programming structure that allows for such a division; and presents an architectural point of view and explains the development of parallel software.
Programming Language Pragmatics: Third Edition
by Michael L. Scott
The author is currently a professor at the University of Rochester, NY, where is research has primarily addressed the design and implementation of systems software for parallel and distributed computing. He is best known for work in synchronization mechanisms for multithreaded systems, with a recent emphasis on transactional memory. Programming Language Pragmatics takes the perspective that language design and language implementation are tightly interconnected and that neither can be fully understood in isolation, this book has been thoroughly updated to cover the most recent developments in programming language design. With a new chapter on run-time program management and expanded coverage of concurrency, this new edition provides a solid understanding of the most important issues driving software development today.