The purpose of this book is to help you understand how to program shared-memory parallel machines without risking your sanity.1 By describing the algorithms and designs that have worked well in the past, we hope to help you avoid at least some of the pitfalls that have beset parallel projects. But you should think of this book as a foundation on which to build, rather than as a completed cathedral. Your mission, if you choose to accept, is to help make further progress in the exciting field of parallel programming, progress that should in time render this book obsolete. Parallel programming is not as hard as it is reputed, and it is hoped that this book makes it even
easier for you.
1
Introduction
1.1 Historic Parallel Programming Difficulties . . . . . . . . . . . . . . . . .
1.2 Parallel Programming Goals . . . . . . . . . . . . . . . . . . . . . . . .
1.2.1 Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.2 Productivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.3 Generality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 Alternatives to Parallel Programming . . . . . . . . . . . . . . . . . . . .
1.3.1 Multiple Instances of a Sequential Application . . . . . . . . . .
1.3.2 Make Use of Existing Parallel Software . . . . . . . . . . . . . .
1.3.3 Performance Optimization . . . . . . . . . . . . . . . . . . . . .
1.4 What Makes Parallel Programming Hard? . . . . . . . . . . . . . . . . .
1.4.1 Work Partitioning . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.2 Parallel Access Control . . . . . . . . . . . . . . . . . . . . . . .
1.4.3 Resource Partitioning and Replication . . . . . . . . . . . . . . .
1.4.4 Interacting With Hardware . . . . . . . . . . . . . . . . . . . . .
1.4.5 Composite Capabilities . . . . . . . . . . . . . . . . . . . . . . .
1.4.6 How Do Languages and Environments Assist With These Tasks? .
1.5 Guide to This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5.1 Quick Quizzes . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5.2 Sample Source Code . . . . . . . . . . . . . . . . . . . . . . . .
2 Hardware and its Habits
2.1 Overview . . . . . . . . . . . . . . .
2.1.1 Pipelined CPUs . . . . . . . .
2.1.2 Memory References . . . . .
2.1.3 Atomic Operations . . . . . .
2.1.4 Memory Barriers . . . . . . .
2.1.5 Cache Misses . . . . . . . . .
2.1.6 I/O Operations . . . . . . . .
2.2 Overheads . . . . . . . . . . . . . . .
2.2.1 Hardware System Architecture
2.2.2 Costs of Operations . . . . . .
2.3 Hardware Free Lunch? . . . . . . . .
2.3.1 3D Integration . . . . . . . .
2.3.2 Novel Materials and Processes
2.3.3 Special-Purpose Accelerators
2.3.4 Existing Parallel Software . .
2.4 Software Design Implications . . . . .
...
《风景园林设计要素》一书用通俗易懂的语言和简练、明确的图面,全面、系统地阐述了园林规划设计的要理。译者忠于原著的构思和论
《工地社会》内容简介:在科技水平、现代设备和经济条件都十分有限的集体化时代,大型水利工程何以成为可能?本书以1958~1962年甘
ThisisanupdatedrevisionofTennisons"BeginningXSLT",updatedforthenewrevisionoftheX...
本书讲述如何用Python框架Django构建出强大的Web解决方案,本书讲解了使用新的Django1.0版的各种主要特性所需要的技术、工具以及
《画说作文(上)》内容简介:本书充满了趣味性,让孩子在轻松有趣的阅读中掌握写作的要点,通过漫画和故事帮助孩子建立良好的作文
《编码:隐匿在计算机软硬件背后的语言》内容简介:这是一本讲述计算机工作原理的书。不过,你千万不要因为“工作原理”之类的字眼
《企业资本运营:投融资实战操作指南》内容简介:受到新冠肺炎疫情等的影响,全球经济形势较为严峻,中小型企业的生存压力日渐增大
支持向量机鲁棒性模型与算法研究 本书特色 支持向量机是基于统计学习理论,以结构风险*小化为原则的一种针对小样本情况的新型机器学习方法,具有结构简单、全局*解和泛...
《商业预测》内容简介:本书提供了一套完整的商业预测模型,该模型吸收了国外优秀预测机构的理念,如为谷歌、英特尔、微软等公司提
《通信线路维护实用手册》是专门介绍通信线路维护知识的实用技术书籍,书中重点介绍了光电缆基本知识、光电缆接续与测试技术以及
精通Git-第2版 本书特色 Git仅用了几年时间就一跃成为了几乎一统商业及开源领域的版本控制系统。本书全面介绍Git进行版本管理的基础和进阶知识。全书共10章...
《实战GAN:TensorFlow与Keras生成对抗网络构建》内容简介:《实战GAN:TensorFlow与Keras生成对抗网络构建》通过多个不同的生成对
本书以机器学习与计算统计为主题背景,专门讲述如何挖掘和分析Web上的数据和资源,如何分析用户体验、市场营销、个人品味等诸多信
《中国当代音乐家访谈录》内容简介:《中国当代音乐家访谈录》共分“闻香起舞”“挥洒精彩”“情动乐思”“咏声叹韵”“弄弦抚键”
《科学的极致:漫谈人工智能》内容简介:集智俱乐部是一个从事学术研究、享受科学乐趣的探索者组成的团体,倡导以平等开放的态度、
《OpenCV 4计算机视觉:Python语言实现(原书第3版)》内容简介:本书首先介绍OpenCV 4以及如何基于Python 3在各种平台上安装OpenC
《吉狄马加的诗》内容简介:本书汇集作者自创作以来诗歌作品的精华,充分展现了迄今作者诗歌创作的全貌,同时因其代表性位置,展现
《拿笔就画!色铅笔绘画从入门到精通》内容简介:拿笔就画!许多人都期望能够随心所欲地勾画我们看到的世界和想象的世界,《拿笔就
《Photoshop CS5实战从入门到精通(超值版)》内容简介:《Photoshop CS5实战从入门到精通(超值版)》通过精选案例引导读者深入学
《马云商道真经》内容简介:《马云商道真经》从马云对人生的认识、以及他超出常人的"狂妄",创业精神、团队合作、经营理念、企业管