并行程序設計原理

出版時間:2009-7  出版社:機械工業(yè)出版社  作者:[美] Calvin Lin,[美] Lawrence Snyder  頁數:235  譯者:陸鑫達,林新華  
Tag標簽:無  

前言

隨著多核體系結構的出現和快速發(fā)展,使得并行計算科學的硬件基礎設施發(fā)生了很大變化,如果把并行硬件基礎設施看成是“經濟基礎”,則其相應的上層并行軟件就可以視為“上層建筑”。由于“經濟基礎”的變化,作為其中重要的“上層建筑”之一的并行程序設計技術,必須進行相應的變化以適應新的“經濟基礎”。因此如何在多核體系結構上進行高效的并行程序設計以充分利用多核所提供的硬件并行性,從而大幅度地提升并行計算性能指標就顯得非常重要。本書的主要論題之一便是環(huán)繞這一問題展開的。并行程序設計比順序程序設計要困難得多,一是因為并行程序設計的平臺不是唯一的,存在多種不同的并行體系結構,而順序程序設計只有唯一的馮·諾依曼體系結構;二是因為并行程序有多個進程或線程在同時運行,它們之往往需要進行通信和同步,這就使并行程序設計變得復雜,特別是在要獲得線性加速比時尤為如此;三是因為并行程序設計沒有順序程序設計中如C及Java那樣通用和普及的并行程序設計語言,因此只能針對不同的體系結構選擇使用不同的并行語言或例程庫,例如對于共享地址空間的體系結構就必須選擇如OpenMP、Java Threads或POSIX Threads那樣的語言,而對于分布地址空間的體系結構就不得不選擇如MPI或PVM那樣的例程庫語言。此外若要開發(fā)數據并行性,則就需要選用高性能的如Fortran(HPF)那樣的語言。本書另一個主要論題便是環(huán)繞這一問題展開的。本書側重論述并行程序設計的基本原理,解釋各種現象,并分析為何這些現象意味著成功進行并行程序設計的機遇或是阻礙。并行的硬件基礎設施和并行的軟件設計環(huán)境隨著時間的變遷會不斷發(fā)生變化,但原理則永遠不會過時。以原理作為第一要素進行論述是本書的特色之一。本書的另一個特色是,它側重可擴展性和可移植性,即所設計的并行程序具有在任何數目處理器系統上和在任何并行體系結構平臺上運行良好的能力。這一概念在多核時代是非常關鍵的,這是因為:首先,使得并行計算具有可擴展能力的大多數技術與在多核芯片上生成高效求解的技術是相同的;其次,雖然目前的多核芯片所具有的處理器數目還比較小,通常是2~8個,但今后每個芯片上的核數將會急劇增加,這就使得可擴展并行概念與之直接相關;最后,顯然我們應該側重研究和開發(fā)那些在現在和將來都能很好工作的方法。內容非常實用是本書的又一特色。這是因為本書在介紹并行程序設計系統的同時,還敘述如何在這些系統中應用并行程序的設計原理。作者通過自身豐富的實踐經驗為讀者介紹了在從事并行程序設計時應遵循的方法學。譯者認為從事并行程序設計者應注重對并行程序設計方法學的了解、掌握,以及有關素質的培養(yǎng),唯此才能開發(fā)出性能良好以及生命力持久的并行程序,并提高編制并行程序的能力和生產率。翻譯本書的原因有兩個:一是本書的內容相當新,涉及現代的并行硬件和軟件技術,包括多核體系結構及其并行程序設計技術;二是本書論述了并行程序設計中的一些深層次問題,如可擴展性、可移植性以及并行程序設計應遵的方法學等。本書的不足之處在于對一些性能問題的定量分析不夠充實,此外所介紹的并行機抽象模型也不夠全面,只有一個CTA模型。但這些瑕疵并不會影響本書的閱讀價值。本書是計算機科學專業(yè)本科高年級學生或一年級碩士生的理想教科書,對專業(yè)程序員來講則是從事并行程序設計的一本理想入門書。本書對軟件工程師和計算機系統設計師也是非常值得一讀的參考書。本書的翻譯工作由陸鑫達教授負責和組織。陸鑫達教授翻譯了目錄、前言、第1~4章以及第10~11 章,林新華老師翻譯了第5~9章。譯稿全文由陸鑫達教授統稿審校。原書只分章不分節(jié),為方便讀者閱讀,我們統一進行了分節(jié)。值此中譯本出版之際,譯者特向機械工業(yè)出版社華章公司的策劃和編輯人員表示深切的謝意。書中的術語翻譯,我們盡量采用已公布的計算機科學技術名詞(第二版),對于一些未公布的術語(包括一些新出現的術語)我們盡量采用行的譯法。由于時間較為倉促,翻譯中的錯誤或不妥之處在所難免,敬請廣大讀者不吝指正。

內容概要

本書內容新穎,涉及現代并行硬件和軟件技術,包括多核體系結構及其并行程序設計技術。本書側重論述并行程序設計的原理,并論述了并行程序設計中一些深層次問題,如可擴展性、可移植性以及并行程序設計應遵循的方法學等?! ”緯歉叩仍盒S嬎銠C專業(yè)高年級本科生或低年級研究生的理想教科書,同時也是專業(yè)程序員從事并行程序設計的理想入門書?! 《嗪梭w系結構的出現使得并行程序設計技術對軟件工程師和計算機系統設計師變得日益重要。本書著重論述并行計算的基本原理,解釋各種現象,并分析為何這些現象是成功進行并行程序設計的機遇或阻礙?! ”緯歉叩仍盒S嬎銠C專業(yè)高年級本科生或低年級研究生的理想教科書,同時也是專業(yè)程序員從事并行程序設計的理想入門書。

作者簡介

作者:(美國)Calvin Lin (美國)Lawrence Snyder 譯者:陸鑫達 林新華

書籍目錄

出版者的話推薦序譯者序第一部分 基礎 第1章 導論  1.1 并行的威力和潛能  1.2 考察順序程序和并行程序  1.3 使用多指令流實現并行  1.4 目標:可擴展性和性能可移植性  1.5 小結  歷史回顧  習題 第2章 認識并行計算機  2.1 用可移植性衡量機器特征  2.2 6種并行機介紹  2.3 順序計算機的抽象  2.4 PRAM:一種并行計算機模型  2.5 CTA:一種實際的并行計算機模型  2.6 存儲器訪問機制  2.7 進一步研究通信  2.8 CTA模型的應用  2.9 小結  歷史回顧  習題 第3章 性能分析  3.1 動機和基本概念  3.2 性能損失的原因  3.3 并行結構  3.4 性能協調  3.5 性能度量  3.6 可擴展性能  3.7 小結  歷史回顧  習題第二部分 并行抽象 第4章 并行程序設計起步 第5章 可擴展算法技術第三部分 并行程序設計語言 第6章 線程程序設計 第7章 MPI和其他局部視圖語言 第8章 ZPL和其他全局視圖語言 第9章 對并行程序設計現狀的評價第四部分 展望 第10章 并行程序設計的未來方向 第11章 編寫并行程序術語表參考文獻

章節(jié)摘錄

插圖:并行是我們熟悉的一個概念。雜耍(juggling)是人類能完成的一個并行任務。房屋建造是一種并行活動,因為幾個工人能同時完成不同的工作,如電線配線、水管安置、鍋爐管道安裝等等。大多數的工業(yè)產品如汽車、吹風器、速凍食品,都以流水線方式進行生產,在流水線上正在建造的許多單件產品是同時進行加工或裝配的。呼叫中心則是另一種應用并行的結構,其中有許多雇員在同時為顧客服務。雖然熟悉,但應注意這些并行形式是不同的。例如呼叫中心在本質上與房屋建造有所不同:呼叫通常是獨立的,因此能以任意次序提供服務,而且工作人員之間幾乎沒有交互。而在建房時,某些任務能同時完成,如電線配線和水管安置,而另外一些任務則必須依次進行,例如配線架必須在配線之前進行安裝。這種順序限制了能同時進行的并行量,從而也就限制了一個建設項目完成的進度。順序性也增加了工人之間的交互程度。制造業(yè)的流水線與前兩者又有所不同,因為它們有嚴格的順序約束,制造產品的各個階段通常以順序方式進行,并行性來自干流水線上同時在生產許多單件產品。雜耍則屬于事件驅動的并行,當一個事件(一個落下的球)發(fā)生時將引起有關操作的執(zhí)行(抓球、拋球)以響應該事件。這些熟悉的并行形式也將出現在我們要討論的并行計算中。

編輯推薦

《并行程序設計原理》由機械工業(yè)出版社出版。

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    并行程序設計原理 PDF格式下載


用戶評論 (總計11條)

 
 

  •   還不錯,可以哦
  •   質量不錯,就是感覺有點薄
  •   還沒有時間仔細閱讀,幾個點看了看,好像并行計算沒有什么特殊的。
  •   書不錯,還是可以的,可以作為入門教材!
  •   書里大多介紹思想,理論,一些實踐的東西少了些
  •   書還不錯,適合初級者學習,正在閱讀中。
  •   書不錯不過送貨付款方式明確說了刷卡結果每次都讓付現金臥槽幾毛幾毛你們拿著爽我不爽??!
  •   從理論上把并行程序設計進行了抽象,對開拓思維非常有用的
  •   內容還是不錯,講的不深,但還是足夠。只是翻譯。。。。。。不少術語翻譯都不得勁讀著有點費勁本來挺適合初學者的被翻譯得不怎么適合初學者看了應該是外行學生翻譯的反正這翻譯的書,就沒見幾本翻譯得好的。
  •   一本不錯的書,不錯的服務,按時的郵寄。贊美~
  •   書的印刷質量很好,字跡清楚,快遞也很好
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網 手機版

京ICP備13047387號-7