并行程序设计原理(英文版)
分類: 图书,计算机/网络,程序设计,其他,
作者: (美)林(Lin,C.),(美)斯奈德(Snyder,L.)著
出 版 社: 机械工业出版社
出版时间: 2008-8-1字数:版次: 1页数: 338印刷时间: 2008/08/01开本: 16开印次: 1纸张: 胶版纸I S B N : 9787111247340包装: 平装编辑推荐
`
内容简介
多核体系结构的出现使得并行程序设计技术对软件工程师和计算机系统设计师变得日益重要。本书着重论述并行计算的基本原理,解释各种现象,并分析为何这些现象是成功进行并行程序设计的机遇或阻碍。
本书是高等院校计算机专业高年级本科生或低年级研究生的理想教科书,同时也是专业程序员从事并行程序设计的理想入门书。
本书内容
以原理第一的原则重点阐述并行计算的基本原理,而不是指导读者“如何”去管理当前商品化的并行计算机。
以原理为背景讨论流行的程序设计语言并论述当代并行计算机编程所使用的工具。..
使用注释框对书中所提及的内容进行饶有兴趣的扩展。
使用定义框对书中关键词和概念进行定义。
每章附有习题,便于读者掌握所论述的概念。
第10章着重论述可能影响该研究领域未来的当前进展。
第11章为读者构造实际的并行程序提供第一手的实践经验。
目录
PART 1 Foundations
Chapter 1 Introduction
The Power and Potential of Parallelism
Examining Sequential and Parallel Programs
Parallelism Using Multiple Instruction Streams
The Goals: Scalability and Performance Portability
Chapter Summary
Chapter 2 Understanding Parallel Computers
Balancing Machine Specifics With Portability
A Look at Six Parallel Computers
An Abstraction of Sequential Computer
The PRAM: A Parallel Computer Model
The CTA: A Practical ParallelComputer Model
Memory Reference Mechanisms
A Closer Look at Communication
Applying the CTA model
Chapter Summary
Chapter 3 Reasoning about Performance
PART 2 Parallel Abstractions
Chapter 4 First Steps Toward Parallel Programming
Chapter 5 Scalable Algorithmic Techniques
PART 3 Parallel Programming Languages
Chapter 6 Programming With Threads
Chapter 7 MPL and Other Local View Languages
Chapter 8 ZPL and Other Global View Languages
Chapter 9 Assessing the State of the Art
RART 4 Looking Forward
Chapter 10 Future Directions In Parallel Programming
Chapter 11 Writing Parallel Programs
Glossary
References
Index
书摘插图
Foundations 1
We begin our study of parallel programming by building a solid foundation, The most important goal is to clarify the difference between the sequential and parallel programming worlds. In sequential computing, operations are performed one at a time, making it straightforward to reason about the correctness and performance characteristics of a programming. In parallel computing many operations take place at once, complicating our reasoning about correctness and performance, and as a result, modifying our reasoning about correctness and performance, and as a result, modifying our programming approach. This part explains the main consequences of this distinction.
……