內容簡介
《多處理器編程的藝術》是荷里希,謝菲特編著的圖書,本書從原理和實踐兩個方面全面闡述了多處理器編程的指導原則,包含編制高效的多處理器程式所必備的算法技術。此外,附錄提供了採用其他程式設計語言包(如C#、C及C++的PThreads庫)進行編程的相關背景知識以及硬體基礎知識。本書適合作為高等院校計算機及相關專業高年級本科生及研究生的教材,同時也可作為相關技術人員的參考書。
循序漸進地講述共享存儲器多執行緒編程的基礎知識;詳細解釋當今多處理器硬體對並發程式設計的支持方式;全面考察主流的並發數據結構及其關鍵設計要素;從簡單的鎖機制到最新的事務記憶體系統,獨立、完整地闡述了同步技術。利用Java並發工具包編寫的可完全執行的Java實例。附錄提供了主要的硬體及採用其他程式設計語言和包(如#、C及C++的PThreads庫)進行編程的相關背景知識。
作者簡介
MauriceHerlihy,哈佛大學的數學學士和麻省理工學院的計算機科學博士,目前為美國布朗大學計算機科學系教授,曾工作於卡內基一梅隆大學和DEC劍橋實驗室。他是美國ACM會士。2003年分散式計算D_jkstra獎獲得者。
NirShavit,以色列希伯來大學的計算機科學博士,自1992年起執教於特拉維夫大學計算機科學系。他曾多年擔任麻省理工學院的客座教授,自1999年以來擔任Sun實驗室的技術人員。
兩位作者是2004年ACM/EATCSGodel獎的共同獲得者,具有40多年一起從事並發程式設計教學的合作經驗。
編輯推薦
工業界稱為多核的多處理器機器正迅速地滲入計算的各個領域。多處理器編程要求理解新型計算原理、算法及編程工具,至今很少有人能夠精通這門編程藝術。
現今,大多數工程技術人員都是通過艱辛的反覆實踐.求助有經驗的朋友來學習多處理器編程技巧。這本最新的權威著作致力於改變這種狀況,作者全面闡述了多處理器編程的指導原則,介紹了編制高效的多處理器程式所必備的算法技術。了解本書所涵蓋的多處理器編程關鍵問題將使在校學生以及相關技術人員受益匪淺。
目錄
Preface
Acknowledgments
ⅠPRINCIPLES
ⅡPRACTICE7SpinLocksandContention
8MonitorsandBlockingSynchronization
9LinkedLists:TheRoleofLocking
10ConcurrentQueuesandtheABAProblem
11ConcurrentStacksandElimination
12Counting,Sorting,andDistributedCoordination
13ConcurrentHashingandNaturalParallelism
14SkiplistsandBalancedSearch
15PriorityQueues
16Futures,Scheduling,andWorkDistribution
17Barriers
18TransactionalMemory
ⅢAPPENDIXBibliography
Index
……