并行程序设计原理
分類: 图书,计算机/网络,程序设计,其他,
作者: (美)林,(美)斯奈德著,陆鑫达等译
出 版 社: 机械工业出版社
出版时间: 2009-7-1字数:版次: 1页数: 235印刷时间:开本: 16开印次: 1纸张:I S B N : 9787111270751包装: 平装编辑推荐
本书特色
以原理第一的原则重点阐述并行计算的基本原理,而不是指导读者“如何”去管理当前商品化的并行计算机。
以原理为背景讨论流行的程序设计语言并论述当代并行计算机编程所使用的工具。
使用注释框对书中所提及的内容进行饶有兴趣的扩展。
使用定义框对书中关键词和概念进行定义。
每章附有习题,便于读者掌握所论述的概念。
第10章着重论述可能影响该研究领域未来的当前进展。
第11章为读者构造实际的并行程序提供第一手的实践经验。
内容简介
本书内容新颖,涉及现代并行硬件和软件技术,包括多核体系结构及其并行程序设计技术。本书侧重论述并行程序设计的原理,并论述了并行程序设计中一些深层次问题,如可扩展性、可移植性以及并行程序设计应遵循的方法学等。
本书是高等院校计算机专业高年级本科生或低年级研究生的理想教科书,同时也是专业程序员从事并行程序设计的理想入门书。
多核体系结构的出现使得并行程序设计技术对软件工程师和计算机系统设计师变得日益重要。本书着重论述并行计算的基本原理,解释各种现象,并分析为何这些现象是成功进行并行程序设计的机遇或阻碍。
本书是高等院校计算机专业高年级本科生或低年级研究生的理想教科书,同时也是专业程序员从事并行程序设计的理想入门书。
目录
出版者的话
推荐序
译者序
第一部分基础
第1章导论
1.1 并行的威力和潜能
1.2 考察顺序程序和并行程序
1.3 使用多指令流实现并行
1.4 目标:可扩展性和性能可移植性
1.5 小结
历史回顾
习题
第2章认识并行计算机
2.1 用可移植性衡量机器特征
2.2 6种并行机介绍
2.3 顺序计算机的抽象
2.4 PRAM:一种并行计算机模型
2.5 CTA:一种实际的并行计算机模型
2.6 存储器访问机制
2.7 进一步研究通信
2.8 CTA模型的应用
2.9 小结
历史回顾
习题
第3章性能分析
3.1 动机和基本概念
3.2 性能损失的原因
3.3 并行结构
3.4 性能协调
3.5 性能度量
3.6 可扩展性能
3.7 小结
历史回顾
习题
第二部分并行抽象
第4章并行程序设计起步
第5章可扩展算法技术
第三部分并行程序设计语言
第6章线程程序设计
第7章MPI和其他局部视图语言
第8章ZPL和其他全局视图语言
第9章对并行程序设计现状的评价
第四部分展望
第10章并行程序设计的未来方向
第11章编写并行程序
术语表
参考文献
书摘插图
第一部分基础
第1章导论
并行计算是一种能加速计算的基本技术,因此不断增长的并行硬件可用性隐含着巨大的机遇。但是实现一个并行求解意味着对某些概念和程序设计的挑战,这正是本书试图要解决的。为了正确地权衡机遇和挑战,本章将提出与并行程序有关的问题并介绍基本概念。
1.1并行的威力和潜能
并行在日常生活中时常碰到。更为重要的是,在过去的几十年中并行以各种方式为计算机性能的稳定提高做出了贡献。现在新的机遇正在出现。下面让我们来详细论述这一点。
1.1.1并行,一个熟悉的概念
并行是我们熟悉的一个概念。杂耍(juggling)是人类能完成的一个并行任务。房屋建造是一种并行活动,因为几个工人能同时完成不同的工作,如电线配线、水管安置、锅炉管道安装等等。大多数的工业产品如汽车、吹风器、速冻食品,都以流水线方式进行生产,在流水线上正在建造的许多单件产品是同时进行加工或装配的。呼叫中心则是另一种应用并行的结构,其中有许多雇员在同时为顾客服务。
虽然熟悉,但应注意这些并行形式是不同的。例如呼叫中心在本质上与房屋建造有所不同:呼叫通常是独立的,因此能以任意次序提供服务,而且工作人员之间几乎没有交互。而在建房时,某些任务能同时完成,如电线配线和水管安置,而另外一些任务则必须依次进行,例如配线架必须在配线之前进行安装。……