出版社:东南大学出版社
年代:2009
定价:48.0
如果您想利用并发程序设计充分发挥多核心处理器的性能,本书为提供了您所需要的实践知识和亲身体验。《并行开发艺术》是一份难得的材料,专注于多核心处理器的共享内存模型,而不只是理论模型或分布式内存架构。本书提供了详尽的解释和可用的示例,帮助您将算法从串行转化为并行代码,此外还包括建议和分析,避免程序员的典型错误。
PREFACE
1WANTTOGOFASTER?RAISEYOURHANDSIFYOUWANTTOGOFASTER!
SomeQuestionsYouMayHave
FourStepsofaThreadingMethodology
BackgroundofParallelAlgorithms
Shared-MemoryProgrammingVersusDistributed-MemoryProgramming
ThisBook’sApproachtoConcurrentProgramming
2CONCURRENTORNOTCONCURRENT?
DesignModelsforConcurrentAlgorithms
What’sNotParallel
3PROVINGCORRECTNESSANDMEASURINGPERFORMANCE
VerificationofParallelAlgorithms
Example:TheCriticalSectionProblem
PerformanceMetrics(HowAmIDoing?)
ReviewoftheEvolutionforSupportingParallelisminHardware
4EIGHTSIMPLERULESFORDESIGNINGMULTITHREADEDAPPLICATIONS
Rule1:IdentifyTrulyIndependentComputations
Rule2:ImplementConcurrencyattheHighestLevelPossible
Rule3:PlanEarlyforScalabilitytoTakeAdvantageofIncreasingNumbersofCores
Rule4:MakeUseofThread-SafeLibrariesWhereverPossible
Rule5:UsetheRightThreadingModel
Rule6:NeverAssumeaParticularOrderofExecution
Rule7:UseThread-LocalStorageWheneverPossibleorAssociateLockstoSpecificData
Rule8:DaretoChangetheAlgorithmforaBetterChanceofConcurrency
Summary
5THREADINGLIBRARIES
ImplicitThreading
ExplicitThreading
WhatElseIsOutThere?
Domain-SpecificLibraries
6PARALLELSUMANDPREFIXSCAN
ParallelSum
PrefixScan
Selection
AFinalThought
7MAPREDUCE
MapAsaConcurrentOperation
ReduceAsaConcurrentOperation
ApplyingMapReduce
MapReduceAsGenericConcurrency
8SORTING
Bubblesort
Odd-EvenTranspositionSort
Shellsort
Quicksort
RadixSort
9SEARCHING
UnsortedSequence
BinarySearch
10GRAPHALGORITHMS
Depth-FirstSearch
All-PairsShortestPath
MinimumSpanningTree
11THREADINGTOOLS
Debuggers
PerformanceTools
AnythingElseOutThere?
GoForthandConquer
GLOSSARY
PHOTOCREDITS
INDEX
如果你想利用并发程序设计充分发挥多核心处理器的性能,本书就为你提供了所需要的实践知识和亲身体验。《并行开发艺术》是一份难得的材料,专注于多核心处理器的共享内存模型,而不只是理论模型或分布式内存架构。本书提供了详尽的解释和可用的示例,帮助你将算法从串行代码转化为并行代码,此外还包括建议和分析,避免程序员的典型错误。 作者为Intel资深工程师,拥有超过20年的并行和并发编程经验,本书将会帮助你: 探索共享内存与分布式内存编程间的区别 学习设计多线程程序的指导方针,包括测试和调整 研究如何善用不同的线程库,包括Windows线程、POSIX线程、OpenMP和IntelThreadingBuildingBlocks 研究如何实现排序、查找、图形和其他实用计算的并行算法 《并行开发艺术》向你展示如何扩展算法,以从新型的多核处理器中获益。对于开发并行算法和并发编程来说,本书不可或缺。ClayBreshears博士是Intel公司的课程架构师,专攻多核心及多线程程序设计与培训。
辛立志, 著
(芬) 科斯科拉 (Koskela,L.) , 著
(美) 西尔 (Shore,J.) 等, 著
李彤等, 著
(美) 希布斯 (Hibbs,C.) , (美) 朱 (Jewett,J.) , (美) 沙利文 (Sullivan,M.) , 著
苏格兰学历管理委员会, 著
(美) 斯特尔曼 (Stellman,A.) , (美) 格林 (Greene,J.) , 著
(美) 贝克, 著
(美) 贝克 (Beck,K.) , 著