《並行程式設計》

《並行程式設計》

《並行程式設計》是由美.威爾金森 / 美.艾倫 譯者:陸鑫達所著,2002年1月1日,由機械工業出版社出版。

基本信息

簡介

本書的主要內容是使用連網工作站和並行計算機並行編程的技術及套用。書中介紹了流水線、分治、同步、工作池等並行技術以及經典的排序、矩陣相乘、線性方程組求解、圖像處理、搜尋和最佳化算法的並行實現,並提供了大量的PVM和MPI偽代碼及例程。  

本書是計算機專業本科生、研究生並行程式設計課程的較好教材。

作者

BarryWilkinson是北卡卡羅來納大學夏洛特分校計算機科學系教授。在此之前他曾在英格蘭布賴頓大學(1984-1987)、紐約州立大學紐帕爾茲學院(1983-1984)、威爾斯加的夫大學學院(1976-1983)以及英格蘭阿斯頓大學(1973-1976)任職。從1969到1970年,他曾在Ferranti有限公司從事過程控制計算機系統工作。他是《ComputerPeripherals》(同D.Horrocks,Hodder和Stoughton合作,1980,1987年第2版)、《DigitalSystemDesign》(PrenticeHall,1987,第2版1992年)、《ComputerArchitectureDesignandPerformance》(PrenticeHall,1991,第2版1996年)和《TheEssenceofDigitalDesign》(PrenticeHall,1997年)的作者。除了上述的著作之外,他在主要的計算機刊物上發表了許多論文。1969年他在英格蘭索爾福德大學獲得電氣工程學士學位(優等成績),1971和1974年在英格蘭的曼徹斯特大學(計算機科學系)分別獲得碩士和博士學位。自1983年起,他一直是IEEE的資深會員。

MichaelAllen是北卡羅來納大學夏洛特分校計算機科學系教授。在此之前他曾是北卡羅來納大學夏洛特分校電氣工程系的副教授和教授(1974-1985),並曾是紐約州大學布法羅分校的講師和助理教授。在1985到1987年他離開了北卡羅來納大學夏洛特分校,在DataSpan公司任董事長。其他的工業界經歷還包括在EastmanKodak,slyvaniaElectronics,賓夕法尼亞的Bell,WachoviaBank以及許多其他公司中從事電子設計和軟體系統開發工作。他於1964和1965年分別在卡納基-梅隆大學獲得電氣工程的學士和碩士學位,並於1968年在紐約州立大學布法羅分校獲得博士學位。
陸鑫達,現為上海交通大學計算機科學與工程系教授、博士生導師、高性能計算研究室主任,中國計算機學會體系結構委會副主任,中國計算機學會開放系統專委會高級委員,貴州大學兼職教授。1961年和1964年分別獲哈爾濱大學計算機專業學士。1979-1981年為英國紐卡舍爾大學計算機系統訪問學者,主要從事高度並行計算技術、VLSI晶片設計技術和處理機互連等技術研究。1987-1990年為德國GMD-FIRST柏林計算機研究所和柏林工業大學(TUB)的客座首席科學家,主要從事新型數據結構高性能計算機系統研究,並負責國家自然科學基金會重大項目中的中德國際合作項目。曾任《中國大百科全書》“自動控制和系統工程”卷“信息處理”分卷副主編。主編教材《計算機系統結構。(高等教育出版社,1996年3月)。教材譯著:《可擴展並行計算:技術、結構與編程》(機械工業出版社,2000年5月)。

目前主要研究方向為高性能計算及套用、異構及元計算(包括Grid計算)、網路計算及其編程環境、機群計算(包括體系結構及中國件)、遺傳和進化算法在映射和調度中的套用、分布計算及移動計算、智慧型代理等。

書評

當你望著單位里大量的舊計算機逐漸被新的機器所取代,往日裡的尊貴成了無人問津的垃圾。你是否曾想過,遍布灰塵的他們還是否有利用價值?美國的一些物理學家不僅想到了,還動手做了出來。他們利用實驗室里大量淘汰的、過時的計算機,構成了一套具有並行計算能力的計算機集群,命名為"石頭湯"。這套以486和奔騰為主的"石頭湯"竟能與專為科學運算設計的大型機性能媲美,很好的完成了他們當前正急待解決的計算密集型物理實驗,而花費卻接近於零。"石頭湯"的網路架構與一般的計算機網路拓撲並無太大的差異,分別在於其並行化的程式設計和運算方法。而本文所談到的這本《並行程式設計》正是一本講授如何使用並行技術解決大規模計算問題的好書。  

當你激動萬分正躍躍欲試之前,先考察一下自己的知識基礎是否準備充分。從《並行程式設計》一書的寫作手法上看,是易於學習和理解的。但並行化計算本身卻需要讀者具有較完備的計算機科學背景。第一章中的並行計算機體系結構與計算機網路拓撲聯繫緊密,線網、環網、格線、樹、超立方體涉及到了圖論、拓撲學和計算機體系結構的知識;第二章"訊息傳遞"建立在作業系統理論中進程、執行緒的知識基礎上,並行化運算依賴於處理器間進程、執行緒的通信,訊息的傳遞、廣播和匯集;第三章"易並行計算"又以與分形理論、計算機圖形學為基礎的Mandelbrot集和需機率統計基礎的蒙特卡羅法為實例,講授問題的分解與合併;第四章則牽涉到劃分、分治、遞歸、桶排序和積分學;第五章將CPU結構設計中的流水線技術運用於並行程式設計,實例為質數生成和線性方程組求解;第六章的深度與難度徒增--競爭、同步、死鎖,實例更涉及前綴運算、熱分布和細胞自動機。後繼諸章的內容更是豐富:負載平衡、集中與分散式工作池、分散式終止算法、矩陣、數值逼近、紅黑排序、像素處理、邊緣檢測、霍夫變換、傅立葉級數與變換、分枝限界、進化算法與遺傳算法、爬山法,異彩紛呈、不一而足。一本書下來,大約計算機科學本科階段的主要課程全都會涉及到。試想如果基礎知識掌握得不牢靠的話,很難順暢的讀完這本文筆看似淺顯的著作。  

最末一章"搜尋與最佳化"講授了以自然界物種演化為藍本的計算機模擬算法--遺傳算法。複雜問題的求解歸結於大規模可能解的競爭。遺傳算法模擬種群的自然進化過程,通過競爭確立優勝者以繁衍下一代,並適當引入某些隨機性突變。通過多代的繁衍生息,不良的遭到淘汰,優秀的存活下來,最後通過檢測終止條件,確定一個"最佳化解"。而遺傳算法的並行化則是將可能解劃分為隔離的子種群或算法步驟的一部分。因為解的數量可能是巨大的,某些問題本身複雜性是無法用計算機解決的,在人類未發現新的理論與算法之前(或許根本就不存在),計算機集群的並行化處理是唯一的手段。

不過,最吸引讀者眼球的卻是本書的習題設計。從CIA僱傭你設計圖像識別間諜軟體到政治家接受"軟錢"開展競選活動的決策;從企業家繁殖貴族狗到教授森林迷路向你求救;從青蛙過河到世界銀行統計消費信貸;從外星人求解多維遞歸到筆跡模式匹配鑑定疑兇證據;從檢測恐怖主義者散布的可疑孢子到野兔與狐狸的種群密度;從多米諾骨牌排列到月球表面的機器人探測。單單就如此富有生趣的習題設計,就足以使人傾倒。不需要深入去思索也很清楚,這些豐富多彩而又與現實生活密切相關的題例無論其理論深度和設計難度均相當大。只要你肯花功夫嘗試去解決它,無論成功與否,從中肯定會獲得巨大的收益。而這是其他任何學習方法所無法替代的。計算機科學是一門講求科學性與工程性相結合的學科。而社會現實的要求必然會偏向如何利用計算機解決現實問題,工程化的設計與實踐既鞏固了當前所學到的理論知識,又強化了科學理性思維,同時還為將來的具體實踐作好了直接準備。如果你因為這些僅僅是習題而輕視它,可以隨意的忽略。那么就結果而言,其實你並沒有真切掌握到多少有價值的知識,或者即使知道一點皮毛,也難以深入領會其精髓。真可謂:蜻蜓點水,淺嘗即止;得其形,而失其神矣。  

並行化的計算技術前景是非常廣闊的,其強大的計算能力彌補了高性能單處理機的不足。不過其套用的複雜性卻極大的阻礙並行計算的向普通計算機的滲透。未來的計算機應該不僅僅是一大堆只能進行一些簡單通信的孤立個體,計算機的未來或許將會成為一個自適應的、分布的、交融的、智慧型的、自我修復甚至具有自我意識能夠自學習、自我發展的、和諧的有機體。並行化僅僅為我們揭開其冰山之一角而已。未來本不可知,一切皆在於人的努力。我堅信,這種以研究人的智慧型為手段,創造出拓展人的智慧型的機器,甚至衍生出超越人的新的智慧型與生命,將會不斷吸引新的年輕科學家為其窮盡心力。

盤點有關算法書籍

算法可以理解為有基本運算及規定的運算順序所構成的完整的解題步驟。或者看成按照要求設計好的有限的確切的計算序列,並且這樣的步驟和序列可以解決一類問題。
《算法之道》
《妙趣橫生的算法》
《機器學習》
《光線跟蹤算法技術》
《遊戲核心算法編程內幕》
《植物的算法美》
《計算智慧型》
《組合數學教程》
《套用組合數學》
《大話數據結構》
《蟻群算法原理及其套用》
《數學建模》
《支持向量機導論》
《國際大學生程式設計競賽例題解》
《數據挖掘原理與算法》
《MATLAB函式速查手冊》
《大學算法教程》
《算法設計》
《多任務下的數據結構與算法》
《集體智慧編程》
《最最佳化理論與方法》
《深入淺出數據分析》
《群智慧型算法及其套用》
《高效程式的奧秘》
《近似算法》
《生物信息學算法導論》
《C數值算法》
《計算數論》
《ACM程式設計競賽基礎教程》
《算法引論》
《STL源碼剖析》
《新編實用算法分析與程式設計》
《並行程式設計》
《信息檢索》
《數據壓縮導論》
《多處理器編程的藝術》
《程式設計中常用的解題策略》
《圖論導引》
《算法設計與分析導論》
《分散式算法導論》
《面向千萬億次計算的算法與套用》
《分散式算法》
《數據結構與算法分析》
《具體數學》
《實時碰撞檢測算法技術》
《世界大學生程式設計競賽》
《算法設計與分析基礎》
《柔性字元串匹配》
《程式設計師實用算法》
《圖論簡明教程》
《現代最佳化計算方法》
《現代密碼學理論與實踐》
《MATLAB語言常用算法程式集》
《編程的本質》
《算法藝術與信息學競賽》

相關詞條

相關搜尋

熱門詞條

聯絡我們