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 . . . . .
...
《数据化网站运营深度剖析》内容简介:近些年,互联网促进经济迅速发展,越来越多的企业把互联网当作产品营销的重要渠道。网络营销
《如厕书》内容简介:31个发生在厕所的神奇小故事,一部充满想象力的短篇小说集! 家庭主妇销毁偷吃证据,职员被困马桶尴尬时刻,甚
《进步的回退》内容简介:本书分为演讲、对话、记谈录三部分。主要内容包括:进步的回退;冷战后:文学写作新的处境;现代汉语再认
图书简介:这部具有开创性的著作为设计师、艺术指导和学生,无论他们的经验如何,提供了通向成功的设计的独特方法。在他对使视觉
《网页设计与配色经典案例解析(第2版)(全彩)》以介绍色彩知识为主线,从色彩原理入手,辅以大量优秀网页便于读者对色彩搭配的理解
《中国领先企业管理思想研究(珍藏版)》内容简介:在改革开放30年多的企业经营实践中,中国涌现了一批知名企业,许多企业保持了长
《淞滨漫话》内容简介:地处黄浦江和长江交汇点的宝山,是长江第一门户、浦江风景第一线,上海的“水路门户”。宝山历史悠久,文化
MichaelKircher德国慕尼黑西门子研究院高级软件工程师,MichaelKircherSoftwareUG(haftungsbeschränkt)公司总...
《Linux大棚命令百篇(上)》内容简介:《Linux大棚命令百篇(上):文件和文本篇》打破了市面上主流Linux命令书籍的写作风格,创新
《我国企业科技人才吸引力研究》内容简介:本书综合运用技术经济学、企业管理学等学科的相关理论,围绕企业吸引和集聚高层次科技人
中学物理课件制作四合一:Flash MX/Authorware 7.0/PowerPoint XP/几何画板 本书特色 多媒体CAI课件制作是每一位教师**的一...
阿列克西的著作探讨的主要问题是如法律裁决之类的规范性陈述如何以理性的方式证立。阿列克西将规范性陈述的证立过程看作实践商谈
本书是讲述Intel微处理器的国外经典教材,已经多次再版,经过长期教学使用,吐故纳新,不断完善,内容丰富,体系完整。第6版中包
PKPM结构设计程序应用 内容简介 本书是为高等院校土木工程专业建筑结构设计程序应用课程编写的教科书,重点介绍了中国建筑科学研究院pkpm系列程序(200...
《手把手教你学C语言》内容简介:本书是学习C语言的入门书籍,内容非常全面,包含C语言基础知识、流程控制、数组、函数、指针、字符
《剪发技术专业图解教程》内容简介:本书以发型层次为线索,通过4种层次分别在颈部、后脑区、侧发区、顶发区、脸周围的不同表现,详
《全能网页设计师精炼手册》内容简介:本书通过对网页设计的核心基础进行讲解,使读者全面了解和掌握作为一个网页设计师应掌握的排
《推开红酒的门》内容简介:葡萄酒的世界很有趣,但是初学者往往遇上麻烦:在餐厅,看着酒单上密密麻麻的字一脸懵;面对货架上琳琅
《Turbo与LDPC编解码及其应用》结合国际工业技术标准和国内工业技术标准中的Turbo码和LDPC码,系统、深入地给出了Turbo码和LDPC码
Progressiveenhancementisanapproachtowebdevelopmentthataimstodeliverthebestpossib...