Introduction to Concurrency in Programming Languages Contributor(s): Sottile, Matthew J. (Author), Mattson, Timothy G. (Author), Rasmussen, Craig E. (Author) |
|
ISBN: 1420072137 ISBN-13: 9781420072136 Publisher: CRC Press OUR PRICE: $109.25 Product Type: Hardcover - Other Formats Published: September 2009 Annotation: High-performance parallel architectures have been available for many years, but now for the fist time, parallel computers can be found on the desktop and are available to everyday users. Designed specifically for application developers, Introduction to Concurrency in Programming Languages provides a survey of high-level programming constructs that make parallel programming more accessible. The book covers the history of parallel languages and explains the relation of hardware developments that motivated these languages to modern systems. It also describes the current state of the art in parallel languages, with a focus on the PGAS and HPCS language families. Each chapter is accompanied by a set of exercises. |
Additional Information |
BISAC Categories: - Mathematics - Computers | Programming - Games - Computers | Programming Languages - General |
Dewey: 005.275 |
LCCN: 2009031462 |
Series: Chapman & Hall/CRC Computational Science |
Physical Information: 0.9" H x 6.2" W x 9.4" (1.40 lbs) 344 pages |
Descriptions, Reviews, Etc. |
Publisher Description: Exploring how concurrent programming can be assisted by language-level techniques, Introduction to Concurrency in Programming Languages presents high-level language techniques for dealing with concurrency in a general context. It provides an understanding of programming languages that offer concurrency features as part of the language definition. The book supplies a conceptual framework for different aspects of parallel algorithm design and implementation. It first addresses the limitations of traditional programming techniques and models when dealing with concurrency. The book then explores the current state of the art in concurrent programming and describes high-level language constructs for concurrency. It also discusses the historical evolution of hardware, corresponding high-level techniques that were developed, and the connection to modern systems, such as multicore and manycore processors. The remainder of the text focuses on common high-level programming techniques and their application to a range of algorithms. The authors offer case studies on genetic algorithms, fractal generation, cellular automata, game logic for solving Sudoku puzzles, pipelined algorithms, and more. Illustrating the effect of concurrency on programs written in familiar languages, this text focuses on novel language abstractions that truly bring concurrency into the language and aid analysis and compilation tools in generating efficient, correct programs. It also explains the complexity involved in taking advantage of concurrency with regard to program correctness and performance. |