并行程序设计原理(英文版)
作者 : Calvin Lin;Lawrence Snyder
丛书名 : 经典原版书库
出版日期 : 2008-07-26
ISBN : 7-111-24734-0
定价 : 49.00元
教辅资源下载
扩展信息
语种 : 英文
页数 : 338
开本 : 16开
原书名 : Principles of Parallel Programming
原出版社:
属性分类: 教材
包含CD :
绝版 :
图书简介

多核体系结构的出现使得并行程序设计技术对软件工程师和计算机系统设计师变得日益重要。本书着重论述并行计算的基本原理,解释各种现象,并分析为何这些现象是成功进行并行程序设计的机遇或阻碍。
  本书是高等院校计算机专业高年级本科生或低年级研究生的理想教科书,同时也是专业程序员从事并行程序设计的理想入门书。

  本书内容
  以原理第一的原则重点阐述并行计算的基本原理,而不是指导读者“如何”去管理当前商品化的并行计算机。
  以原理为背景讨论流行的程序设计语言并论述当代并行计算机编程所使用的工具。
  使用注释框对书中所提及的内容进行饶有兴趣的扩展。
  使用定义框对书中关键词和概念进行定义。
  每章附有习题,便于读者掌握所论述的概念。
  第10章着重论述可能影响该研究领域未来的当前进展。
  第11章为读者构造实际的并行程序提供第一手的实践经验。

图书特色

封底文字

多核体系结构的出现使得并行程序设计技术对软件工程师和计算机系统设计师变得日益重要。本书着重论述并行计算的基本原理,解释各种现象,并分析为何这些现象是成功进行并行程序设计的机遇或阻碍。
  本书是高等院校计算机专业高年级本科生或低年级研究生的理想教科书,同时也是专业程序员从事并行程序设计的理想入门书。

  本书内容
  以原理第一的原则重点阐述并行计算的基本原理,而不是指导读者“如何”去管理当前商品化的并行计算机。
  以原理为背景讨论流行的程序设计语言并论述当代并行计算机编程所使用的工具。
  使用注释框对书中所提及的内容进行饶有兴趣的扩展。
  使用定义框对书中关键词和概念进行定义。
  每章附有习题,便于读者掌握所论述的概念。
  第10章着重论述可能影响该研究领域未来的当前进展。
  第11章为读者构造实际的并行程序提供第一手的实践经验。

图书目录

Chapter 1 Introduction: Parallelism = Opportunities + Challenges
The Power and Potential of Parallelism
Examining Sequential and Parallel Programs
A Paradigm Shift
Parallelism Using Multiple Instruction Streams
The Goals: Scalable Performance and Portability
Summary
Historical Context
Exercises

Chapter 2 Parallel Computers And Their Model
Balancing Machine Specifics with Portability
A Look at Five Parallel Computers
The RAM: An Abstraction of a Sequential Computer
The PRAM: A Parallel Computer Model
The CTA: A Practical Parallel Computer Model
Memory Reference Mechanisms
A Closer Look at Communication
Applying the CTA Model
Summary
Historical Perspective
Exercises

Chapter 3 Reasoning about Performance
Introduction
Motivation and Some Basic Concepts
Sources of Performance Loss
Parallel Structure
Reasoning about Performance
Performance Trade-Offs
Measuring Performance
What should we measure
Summary
Historical Perspective
Exercises

Chapter 4 First Steps Towards Parallel Programming
Task and Data Parallelism
Peril-L
Count 3s Example
Conceptualizing Parallelism
Alphabetizing Example
Comparison of Three Solutions
Summary
Historical Perspective
Exercises

Chapter 5 Scalable Algorithmic Techniques
The Inevitability of Trees
Blocks of Independent Computation
Schwartz’ Algorithm
Assigning Work To Processes Statically
Assigning Work to Processes Dynamically
The Reduce & Scan Abstractions
Trees
Summary
Historical Context
Exercises

Chapter 6 Programming with Threads
POSIX Threads
Thread Creation and Destruction
Mutual Exclusion
Synchronization
Safety Issues
Performance Issues
Open MP
The Count 3s Example
Semantic Limitations on
Reduction
Thread Behavior and Interaction
Sections
Summary of OpenMP
Java Threads
Summary
Historical Perspectives
Exercises

Chapter 7 Local View Programming Languages
MPI: The Message Passing Interface
Getting Started
Safety Issues
Performance Issues
Co-Array Fortran
Unified Parallel C
Titanium
Summary
Exercises

Chapter 8 Global View Programming Languages
The Z-level Programming Language
Basic Concepts of ZPL
Life, An Example
Design Principles
Manipulating Arrays Of Different Ranks
Reordering Data With Remap
Parallel Execution of ZPL
Performance Model
Summary
NESL
Historical Context
Exercises

Chapter 9 Assessing Our Knowledge
Introduction
Evaluating Existing Approaches
Lessons for the Future
Summary
Historical Perspectives
Exercises

Chapter 10 Future Directions in Parallel Programming
Attached Processors
Grid Computing
Transactional Memory
Summary
Exercises

Chapter 11 Capstone Project: Designing a Parallel Program
Introduction
Motivation
Getting Started
Summary
Historical Perspective
Exercises

教学资源推荐
作者: 汪同庆 张华 杨先娣
作者: Behrouz A. Forouzan;Richard F. Gilberg
作者: 郑阿奇 主编 顾韵华 等编著
参考读物推荐
作者: [美]詹姆斯·W.库珀 著
作者: 袁林 尹皓 陈宁 编著
作者: [英]詹森·奥尔斯(Jason Alls) 著