出版時間:2009-7 出版社:機械工業(yè)出版社 作者:[美] Calvin Lin,[美] Lawrence Snyder 頁數(shù):235 譯者:陸鑫達,林新華
Tag標(biāo)簽:無
前言
隨著多核體系結(jié)構(gòu)的出現(xiàn)和快速發(fā)展,使得并行計算科學(xué)的硬件基礎(chǔ)設(shè)施發(fā)生了很大變化,如果把并行硬件基礎(chǔ)設(shè)施看成是“經(jīng)濟基礎(chǔ)”,則其相應(yīng)的上層并行軟件就可以視為“上層建筑”。由于“經(jīng)濟基礎(chǔ)”的變化,作為其中重要的“上層建筑”之一的并行程序設(shè)計技術(shù),必須進行相應(yīng)的變化以適應(yīng)新的“經(jīng)濟基礎(chǔ)”。因此如何在多核體系結(jié)構(gòu)上進行高效的并行程序設(shè)計以充分利用多核所提供的硬件并行性,從而大幅度地提升并行計算性能指標(biāo)就顯得非常重要。本書的主要論題之一便是環(huán)繞這一問題展開的。并行程序設(shè)計比順序程序設(shè)計要困難得多,一是因為并行程序設(shè)計的平臺不是唯一的,存在多種不同的并行體系結(jié)構(gòu),而順序程序設(shè)計只有唯一的馮·諾依曼體系結(jié)構(gòu);二是因為并行程序有多個進程或線程在同時運行,它們之往往需要進行通信和同步,這就使并行程序設(shè)計變得復(fù)雜,特別是在要獲得線性加速比時尤為如此;三是因為并行程序設(shè)計沒有順序程序設(shè)計中如C及Java那樣通用和普及的并行程序設(shè)計語言,因此只能針對不同的體系結(jié)構(gòu)選擇使用不同的并行語言或例程庫,例如對于共享地址空間的體系結(jié)構(gòu)就必須選擇如OpenMP、Java Threads或POSIX Threads那樣的語言,而對于分布地址空間的體系結(jié)構(gòu)就不得不選擇如MPI或PVM那樣的例程庫語言。此外若要開發(fā)數(shù)據(jù)并行性,則就需要選用高性能的如Fortran(HPF)那樣的語言。本書另一個主要論題便是環(huán)繞這一問題展開的。本書側(cè)重論述并行程序設(shè)計的基本原理,解釋各種現(xiàn)象,并分析為何這些現(xiàn)象意味著成功進行并行程序設(shè)計的機遇或是阻礙。并行的硬件基礎(chǔ)設(shè)施和并行的軟件設(shè)計環(huán)境隨著時間的變遷會不斷發(fā)生變化,但原理則永遠不會過時。以原理作為第一要素進行論述是本書的特色之一。本書的另一個特色是,它側(cè)重可擴展性和可移植性,即所設(shè)計的并行程序具有在任何數(shù)目處理器系統(tǒng)上和在任何并行體系結(jié)構(gòu)平臺上運行良好的能力。這一概念在多核時代是非常關(guān)鍵的,這是因為:首先,使得并行計算具有可擴展能力的大多數(shù)技術(shù)與在多核芯片上生成高效求解的技術(shù)是相同的;其次,雖然目前的多核芯片所具有的處理器數(shù)目還比較小,通常是2~8個,但今后每個芯片上的核數(shù)將會急劇增加,這就使得可擴展并行概念與之直接相關(guān);最后,顯然我們應(yīng)該側(cè)重研究和開發(fā)那些在現(xiàn)在和將來都能很好工作的方法。內(nèi)容非常實用是本書的又一特色。這是因為本書在介紹并行程序設(shè)計系統(tǒng)的同時,還敘述如何在這些系統(tǒng)中應(yīng)用并行程序的設(shè)計原理。作者通過自身豐富的實踐經(jīng)驗為讀者介紹了在從事并行程序設(shè)計時應(yīng)遵循的方法學(xué)。譯者認(rèn)為從事并行程序設(shè)計者應(yīng)注重對并行程序設(shè)計方法學(xué)的了解、掌握,以及有關(guān)素質(zhì)的培養(yǎng),唯此才能開發(fā)出性能良好以及生命力持久的并行程序,并提高編制并行程序的能力和生產(chǎn)率。翻譯本書的原因有兩個:一是本書的內(nèi)容相當(dāng)新,涉及現(xiàn)代的并行硬件和軟件技術(shù),包括多核體系結(jié)構(gòu)及其并行程序設(shè)計技術(shù);二是本書論述了并行程序設(shè)計中的一些深層次問題,如可擴展性、可移植性以及并行程序設(shè)計應(yīng)遵的方法學(xué)等。本書的不足之處在于對一些性能問題的定量分析不夠充實,此外所介紹的并行機抽象模型也不夠全面,只有一個CTA模型。但這些瑕疵并不會影響本書的閱讀價值。本書是計算機科學(xué)專業(yè)本科高年級學(xué)生或一年級碩士生的理想教科書,對專業(yè)程序員來講則是從事并行程序設(shè)計的一本理想入門書。本書對軟件工程師和計算機系統(tǒng)設(shè)計師也是非常值得一讀的參考書。本書的翻譯工作由陸鑫達教授負(fù)責(zé)和組織。陸鑫達教授翻譯了目錄、前言、第1~4章以及第10~11 章,林新華老師翻譯了第5~9章。譯稿全文由陸鑫達教授統(tǒng)稿審校。原書只分章不分節(jié),為方便讀者閱讀,我們統(tǒng)一進行了分節(jié)。值此中譯本出版之際,譯者特向機械工業(yè)出版社華章公司的策劃和編輯人員表示深切的謝意。書中的術(shù)語翻譯,我們盡量采用已公布的計算機科學(xué)技術(shù)名詞(第二版),對于一些未公布的術(shù)語(包括一些新出現(xiàn)的術(shù)語)我們盡量采用行的譯法。由于時間較為倉促,翻譯中的錯誤或不妥之處在所難免,敬請廣大讀者不吝指正。
內(nèi)容概要
本書內(nèi)容新穎,涉及現(xiàn)代并行硬件和軟件技術(shù),包括多核體系結(jié)構(gòu)及其并行程序設(shè)計技術(shù)。本書側(cè)重論述并行程序設(shè)計的原理,并論述了并行程序設(shè)計中一些深層次問題,如可擴展性、可移植性以及并行程序設(shè)計應(yīng)遵循的方法學(xué)等?! ”緯歉叩仍盒S嬎銠C專業(yè)高年級本科生或低年級研究生的理想教科書,同時也是專業(yè)程序員從事并行程序設(shè)計的理想入門書?! 《嗪梭w系結(jié)構(gòu)的出現(xiàn)使得并行程序設(shè)計技術(shù)對軟件工程師和計算機系統(tǒng)設(shè)計師變得日益重要。本書著重論述并行計算的基本原理,解釋各種現(xiàn)象,并分析為何這些現(xiàn)象是成功進行并行程序設(shè)計的機遇或阻礙。 本書是高等院校計算機專業(yè)高年級本科生或低年級研究生的理想教科書,同時也是專業(yè)程序員從事并行程序設(shè)計的理想入門書。
作者簡介
作者:(美國)Calvin Lin (美國)Lawrence Snyder 譯者:陸鑫達 林新華
書籍目錄
出版者的話推薦序譯者序第一部分 基礎(chǔ) 第1章 導(dǎo)論 1.1 并行的威力和潛能 1.2 考察順序程序和并行程序 1.3 使用多指令流實現(xiàn)并行 1.4 目標(biāo):可擴展性和性能可移植性 1.5 小結(jié) 歷史回顧 習(xí)題 第2章 認(rèn)識并行計算機 2.1 用可移植性衡量機器特征 2.2 6種并行機介紹 2.3 順序計算機的抽象 2.4 PRAM:一種并行計算機模型 2.5 CTA:一種實際的并行計算機模型 2.6 存儲器訪問機制 2.7 進一步研究通信 2.8 CTA模型的應(yīng)用 2.9 小結(jié) 歷史回顧 習(xí)題 第3章 性能分析 3.1 動機和基本概念 3.2 性能損失的原因 3.3 并行結(jié)構(gòu) 3.4 性能協(xié)調(diào) 3.5 性能度量 3.6 可擴展性能 3.7 小結(jié) 歷史回顧 習(xí)題第二部分 并行抽象 第4章 并行程序設(shè)計起步 第5章 可擴展算法技術(shù)第三部分 并行程序設(shè)計語言 第6章 線程程序設(shè)計 第7章 MPI和其他局部視圖語言 第8章 ZPL和其他全局視圖語言 第9章 對并行程序設(shè)計現(xiàn)狀的評價第四部分 展望 第10章 并行程序設(shè)計的未來方向 第11章 編寫并行程序術(shù)語表參考文獻
章節(jié)摘錄
插圖:并行是我們熟悉的一個概念。雜耍(juggling)是人類能完成的一個并行任務(wù)。房屋建造是一種并行活動,因為幾個工人能同時完成不同的工作,如電線配線、水管安置、鍋爐管道安裝等等。大多數(shù)的工業(yè)產(chǎn)品如汽車、吹風(fēng)器、速凍食品,都以流水線方式進行生產(chǎn),在流水線上正在建造的許多單件產(chǎn)品是同時進行加工或裝配的。呼叫中心則是另一種應(yīng)用并行的結(jié)構(gòu),其中有許多雇員在同時為顧客服務(wù)。雖然熟悉,但應(yīng)注意這些并行形式是不同的。例如呼叫中心在本質(zhì)上與房屋建造有所不同:呼叫通常是獨立的,因此能以任意次序提供服務(wù),而且工作人員之間幾乎沒有交互。而在建房時,某些任務(wù)能同時完成,如電線配線和水管安置,而另外一些任務(wù)則必須依次進行,例如配線架必須在配線之前進行安裝。這種順序限制了能同時進行的并行量,從而也就限制了一個建設(shè)項目完成的進度。順序性也增加了工人之間的交互程度。制造業(yè)的流水線與前兩者又有所不同,因為它們有嚴(yán)格的順序約束,制造產(chǎn)品的各個階段通常以順序方式進行,并行性來自干流水線上同時在生產(chǎn)許多單件產(chǎn)品。雜耍則屬于事件驅(qū)動的并行,當(dāng)一個事件(一個落下的球)發(fā)生時將引起有關(guān)操作的執(zhí)行(抓球、拋球)以響應(yīng)該事件。這些熟悉的并行形式也將出現(xiàn)在我們要討論的并行計算中。
編輯推薦
《并行程序設(shè)計原理》由機械工業(yè)出版社出版。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載