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 . . . . .
...
智能图像检索关键技术研究 本书特色 《智能图像检索关键技术研究》是毛金莲老师多年从事多媒体信息检索研究工作的系统性总结,包含了她对当前国际、国内在智能图像检索关...
本书是目前市面上少见的实战类Bootstrap图书,全书通过5个真实、具体、鲜活,又有代表性的项目实例,讲解了Bootstrap的各种特性和
《用地图看懂世界格局》内容简介:美国大选、英国脱欧、俄罗斯出兵叙利亚、在韩国建立萨德反导……所有这些问题,如果只通过新闻报
《发展党员工作方法与实务》内容简介:本书融入了党的十八大以来加强党建工作的新成果,既有理论研究深度,又有典型案例分析,既反
《RPA智能机器人》内容简介:这是一部为企业应用RPA智能机器人提供实施方法论和解决方案的著作。作者团队RPA技术、产品和实践方面有
《OpenCV 4.5计算机视觉开发实战:基于Python》内容简介:OpenCV是一个跨平台计算机视觉和机器学习软件库,也是计算机视觉领域的开
CreatingBreakthroughProductsidentifieskeyfactorsassociatedwithsuccessfulinnovati...
《我陪女儿学英语》内容简介:马丁·路德·金有一篇著名的英文演讲“我有一个梦想”。这段演讲的录音我听过一遍又一遍,一次又一次
中学物理课件制作四合一:Flash MX/Authorware 7.0/PowerPoint XP/几何画板 本书特色 多媒体CAI课件制作是每一位教师**的一...
网络科学视角下的推荐系统研究 内容简介 本书在对协同过滤为主的推荐系统、网络科学理论进行系统综述的基础上, 考虑社交网络发展以及用户信任的网络关系特征, 主要运...
《醉鲨》内容简介:★“荣获挪威最重要的文学奖——伯瑞格文学奖 (The Brage Prize),至今在挪威畅销不衰。★一部精彩绝伦的北欧探
《幻想即现实(十周年珍藏版)》内容简介:幻想是内心的现实,你的世界是什么样子,与你有关,与世界无关。本书源于治疗过程,是作
《百年雀巢》将带领读者纵览雀巢的百年风雨历史,从它的产品、创新、品牌、管理、文化五大方面揭秘了全球食品工业巨人长盛不衰的
《小红书达人实操攻略》内容简介:小红书以其操作简单、界面简约、阅读轻松的特点吸引了不少年轻人,是当下流行的分享和发现世界精
《迟到的挽歌(插图本)》内容简介:本书是吉狄马加创作的诗、文、画集,收录了他近年来创作的多首长诗和包括演讲、致辞、序言、评
FigureitsabouttimethatyouhopontheRubyonRailsbandwagon?Youveheardthatitllincrease...
VB-MAPP语言行为里程碑评估及安置程序-(全2册) 本书特色 这套《语言行为里程碑及安置程序》为教育人员和家长对孤独症和其他发展性障碍孩子的学习、语言和社会...
VisualBasic程序设计实验教程 本书特色 吴昊编著的《Visual Basic程序设计实验教程》是《Visual Basic程序设计》配套的实验教材,帮...
CG进阶-SAI+Photoshop女性动漫角色绘制技法-含DVD 本书特色 吴博编著的《CG进阶(SAI+Photoshop女性动漫角色绘制技法)》详细介绍了...
《对比Excel,轻松学习SQL数据分析》内容简介:本书是《对比Excel,轻松学习Python数据分析》的姊妹篇,同样采用对比的方法,降低学