當前位置:首頁 » 操作系統 » 並行化演算法

並行化演算法

發布時間: 2022-05-22 05:54:42

A. 微分方程組並行化求解

幾種富有代表性的演算法做了介紹,並比較了各自的優勢和不足,包括矩量法、有限元法、時域有限差分方法以及復射線方法等。
關鍵詞:矩量法;有限元法;時域有限差分方法;復射線方法
1 引 言
1864年Maxwell在前人的理論(高斯定律、安培定律、法拉第定律和自由磁極不存在)和實驗的基礎上建立了統一的電磁場理論,並用數學模型揭示了自然界一切宏觀電磁現象所遵循的普遍規律,這就是著名的Maxwell方程。在11種可分離變數坐標系求解Maxwell方程組或者其退化形式,最後得到解析解。這種方法可以得到問題的准確解,而且效率也比較高,但是適用范圍太窄,只能求解具有規則邊界的簡單問題。對於不規則形狀或者任意形狀邊界則需要比較高的數學技巧,甚至無法求得解析解。20世紀60年代以來,隨著電子計算機技術的發展,一些電磁場的數值計算方法發展起來,並得到廣泛地應用,相對於經典電磁理論而言,數值方法受邊界形狀的約束大為減少,可以解決各種類型的復雜問題。但各種數值計算方法都有優缺點,一個復雜的問題往往難以依靠一種單一方法解決,常需要將多種方法結合起來,互相取長補短,因此混和方法日益受到人們的重視。
本文綜述了國內外計算電磁學的發展狀況,對常用的電磁計算方法做了分類。
2 電磁場數值方法的分類
電磁學問題的數值求解方法可分為時域和頻域2大類。頻域技術主要有矩量法、有限差分方法等,頻域技術發展得比較早,也比較成熟。時域法主要有時域差分技術。時域法的引入是基於計算效率的考慮,某些問題在時域中討論起來計算量要小。例如求解目標對沖激脈沖的早期響應時,頻域法必須在很大的帶寬內進行多次采樣計算,然後做傅里葉反變換才能求得解答,計算精度受到采樣點的影響。若有非線性部分隨時間變化,採用時域法更加直接。另外還有一些高頻方法,如GTD,UTD和射線理論。
從求解方程的形式看,可以分為積分方程法(IE)和微分方程法(DE)。IE和DE相比,有如下特點:IE法的求解區域維數比DE法少一維,誤差限於求解區域的邊界,故精度高;IE法適合求無限域問題,DE法此時會遇到網格截斷問題;IE法產生的矩陣是滿的,階數小,DE法所產生的是稀疏矩陣,但階數大;IE法難以處理非均勻、非線性和時變媒質問題,DE法可直接用於這類問題〔1〕。
3 幾種典型方法的介紹
有限元方法是在20世紀40年代被提出,在50年代用於飛機設計。後來這種方法得到發展並被非常廣泛地應用於結構分析問題中。目前,作為廣泛應用於工程和數學問題的一種通用方法,有限元法已非常著名。
有限元法是以變分原理為基礎的一種數值計算方法。其定解問題為:

應用變分原理,把所要求解的邊值問題轉化為相應的變分問題,利用對區域D的剖分、插值,離散化變分問題為普通多元函數的極值問題,進而得到一組多元的代數方程組,求解代數方程組就可以得到所求邊值問題的數值解。一般要經過如下步驟:
①給出與待求邊值問題相應的泛函及其變分問題。
②剖分場域D,並選出相應的插值函數。
③將變分問題離散化為一種多元函數的極值問題,得到如下一組代數方程組:

其中:Kij為系數(剛度)矩陣;Xi為離散點的插值。
④選擇合適的代數解法解式(2),即可得到待求邊值問題的數值解Xi(i=1,2,…,N)
(2)矩量法
很多電磁場問題的分析都歸結為這樣一個運算元方程〔2〕:
L(f)=g(3)其中:L是線性運算元,f是未知的場或其他響應,g是已知的源或激勵。
在通常的情況下,這個方程是矢量方程(二維或三維的)。如果f能有方程解出,則是一個精確的解析解,大多數情況下,不能得到f的解析形式,只能通過數值方法進行預估。令f在L的定義域內被展開為某基函數系f1,f2,f3,…,fn的線性組合:

其中:an是展開系數,fn為展開函數或基函數。
對於精確解式(2)通暢是無限項之和,且形成一個基函數的完備集,對近似解,將式 (2)帶入式(1),再應用運算元L的線性,便可以得到:

m=1,2,3,…
此方程組可寫成矩陣形式f,以解出f。矩量法就是這樣一種將運算元方程轉化為矩陣方程的一種離散方法。
在電磁散射問題中,散射體的特徵尺度與波長之比是一個很重要的參數。他決定了具體應用矩量法的途徑。如果目標特徵尺度可以與波長比較,則可以採用一般的矩量法;如果目標很大而特徵尺度又包括了一個很大的范圍,那麼就需要選擇一個合適的離散方式和離散基函數。受計算機內存和計算速度影響,有些二維和三維問題用矩量法求解是非常困難的,因為計算的存儲量通常與N2或者N3成正比(N為離散點數),而且離散後出現病態矩陣也是一個難以解決的問題。這時需要較高的數學技巧,如採用小波展開,選取合適的小波基函數來降維等〔3〕。
(3)時域有限差分方法
時域有限差分(FDTD)是電磁場的一種時域計算方法。傳統上電磁場的計算主要是在頻域上進行的,這些年以來,時域計算方法也越來越受到重視。他已在很多方面顯示出獨特的優越性,尤其是在解決有關非均勻介質、任意形狀和復雜結構的散射體以及輻射系統的電磁問題中更加突出。FDTD法直接求解依賴時間變數的麥克斯韋旋度方程,利用二階精度的中心差分近似把旋度方程中的微分算符直接轉換為差分形式,這樣達到在一定體積內和一段時間上對連續電磁場的數據取樣壓縮。電場和磁場分量在空間被交叉放置,這樣保證在介質邊界處切向場分量的連續條件自然得到滿足。在笛卡兒坐標系電場和磁場分量在網格單元中的位置是每一磁場分量由4個電場分量包圍著,反之亦然。
這種電磁場的空間放置方法符合法拉第定律和安培定律的自然幾何結構。因此FDTD演算法是計算機在數據存儲空間中對連續的實際電磁波的傳播過程在時間進程上進行數字模擬。而在每一個網格點上各場分量的新值均僅依賴於該點在同一時間步的值及在該點周圍鄰近點其他場前半個時間步的值。這正是電磁場的感應原理。這些關系構成FDTD法的基本算式,通過逐個時間步對模擬區域各網格點的計算,在執行到適當的時間步數後,即可獲得所需要的結果。
在上述演算法中,時間增量Δt和空間增量Δx,Δy和Δz不是相互獨立的,他們的取值必須滿足一定的關系,以避免數值不穩定。這種不穩定表現為在解顯式 差分方程時隨著時間步的繼續計算結果也將無限制的67增加。為了保證數值穩定性必須滿足數值穩定條件:

其中:(對非均勻區域,應選c的最大值)〔4〕。
用差分方法對麥克斯韋方程的數值計算還會在網格中引起所模擬波模的色散,即在FDTD網格中數字波模的傳播速度將隨波長、在網格中的傳播方向以及離散化的情況而改變。這種色散將導致非物理原因引起的脈沖波形的畸變、人為的各向異性及虛擬的繞射等,因此必須考慮數值色散問題。如果在模擬空間中採用大小不同的網格或包含不同的介質區域,這時網格尺寸與波長之比將是位置的函數,在不同網格或介質的交界面處將出現非物理的繞射和反射現象,對此也應該進行定量的研究,以保證正確估計FDTD演算法的精度。在開放問題中電磁場將占據無限大空間,而由於計算機內存總是有限的,只能模擬有限空間,因此差分網格在某處必將截斷,這就要求在網格截斷處不引起波的明顯反射,使對外傳播的波就像在無限大空間中傳播一樣。這就是在截斷處設置吸收邊界條件,使傳播到截斷處的波被邊界吸收而不產生反射,當然不可能達到完全沒有反射,目前已創立的一些吸收邊界條件可達到精度上的要求,如Mur所導出的吸收邊界條件。
(4)復射線方法
復射線是用於求解波場傳播和散射問題的一種高頻近似方法。他根據幾何光學理論和幾何繞射理論的分析方法和計算公式,在解析延拓的復空間中求解復射線軌跡和場的振幅和相位,從而直接得出局部不均勻波(凋落波)的傳播和散射規律〔5〕。復射線方法是包括復射線追蹤、復射線近軸近似、復射線展開以及復繞射線等處理技術在內的一系列處理方法的統稱。其共同特點在於:通過將射線參考點坐標延拓到復空間而建立了一個簡單而統一的實空間中波束/射線束(Bundle ofrays)分析模型;通過費馬原理及其延拓,由基於復射線追蹤或復射線近軸近似的處理技術,構造了射線光學架構下有效的鞍點場描述方法等。例如,復射線追蹤法將射線光學中使用的射線追蹤方法和場強計算公式直接地解析延拓到復空間,利用延拓後的復費馬原理進行復射線搜索,從而求出復射線軌跡和復射線場。這一方法的特點在於可以基於射線光學方法有效地描述空間中波束的傳播,因此,提供了一類分析波束傳播的簡便方法。其不足之處是對每一個給定的觀察點必須進行一次二維或四維的復射線軌跡搜索,這是一個十分花費時間的計算機迭代過程。
4 幾種方法的比較和進展
將有限元法移植到電磁工程領域還是二十世紀六七十年代的事情,他比較新穎。有限元法的優點是適用於具有復雜邊界形狀或邊界條件、含有復雜媒質的定解問題。這種方法的各個環節可以實現標准化,得到通用的計算程序,而且有較高的計算精度。但是這種方法的計算程序復雜冗長,由於他是區域性解法,分割的元素數和節點數較多,導致需要的初始數據復雜繁多,最終得到的方程組的元數很大,這使得計算時間長,而且對計算機本身的存儲也提出了要求。對電磁學中的許多問題,有限元產生的是帶狀(如果適當地給節點編號的話)、稀疏陣(許多矩陣元素是0)。但是單獨採用有限元法只能解決開域問題。用有限元法進行數值分析的第一步是對目標的離散,多年來人們一直在研究這個問題,試圖找到一種有效、方便的離散方法,但由於電磁場領域的特殊性,這個問題一直沒有得到很好的解決。問題的關鍵在於一方面對復雜的結構,一般的剖分方法難於適用;另一方面,由於剖分的疏密與最終所形成的系數矩陣的存貯量密切相關,因而人們採用了許多方法來減少存儲量,如多重網格法,但這些方法的實現較為困難〔6〕。
網格剖分與加密是有限元方法發展的瓶頸之一,採用自適應網格剖分和加密技術相對來說可以較好地解決這一問題。自適應網格剖分根據對場量分布求解後的結果對網格進行增加剖分密度的調整,在網格密集區採用高階插值函數,以進一步提高精度,在場域分布變化劇烈區域,進行多次加密。
這些年有限元方法的發展日益加快,與其他理論相結合方面也有了新的進展,並取得了相當應用范圍的成果,如自適應網格剖分、三維場建模求解、耦合問題、開域問題、高磁性材料及具有磁滯飽和非線性特性介質的處理等,還包括一些尚處於探索階段的工作,如擬問題、人工智慧和專家系統在電磁裝置優化設計中的應用、邊基有限元法等,這些都使得有限元方法的發展有了質的飛躍。
矩量法將連續方程離散化為代數方程組,既適用於求解微分方程,又適用於求解積分方程。他的求解過程簡單,求解步驟統一,應用起來比較方便。然而 77他需要一定的數學技巧,如離散化的程度、基函數與權函數的選取,矩陣求解過程等。另外必須指出的是,矩量法可以達到所需要的精確度,解析部分簡單,可計算量很大,即使用高速大容量計算機,計算任務也很繁重。矩量法在天線分析和電磁場散射問題中有比較廣泛地應用,已成功用於天線和天線陣的輻射、散射問題、微帶和有耗結構分析、非均勻地球上的傳播及人體中電磁吸收等。
FDTD用有限差分式替代時域麥克斯韋旋度方程中的微分式,得到關於場分量的有限差分式,針對不同的研究對象,可在不同的坐標系中建模,因而具有這幾個優點,容易對復雜媒體建模,通過一次時域分析計算,藉助傅里葉變換可以得到整個同帶范圍內的頻率響應;能夠實時在現場的空間分布,精確模擬各種輻射體和散射體的輻射特性和散射特性;計算時間短。但是FDTD分析方法由於受到計算機存儲容量的限制,其網格空間不能無限制的增加,造成FDTD方法不能適用於較大尺寸,也不能適用於細薄結構的媒質。因為這種細薄結構的最小尺寸比FDTD網格尺寸小很多,若用網格擬和這類細薄結構只能減小網格尺寸,而這必然導致計算機存儲容量的加大。因此需要將FDTD與其他技術相結合,目前這種技術正蓬勃發展,如時域積分方程/FDTD方法,FDTD/MOM等。FDTD的應用范圍也很廣闊,諸如手持機輻射、天線、不同建築物結構室內的電磁干擾特性研究、微帶線等〔7〕。
復射線技術具有物理模型簡單、數學處理方便、計算效率高等特點,在復雜目標散射特性分析等應用領域中有重要的研究價值。典型的處理方式是首先將入射平面波離散化為一組波束指向平行的復源點場,通過特定目標情形下的射線追蹤、場強計算和疊加各射線場的貢獻,可以得到特定觀察位置處散射場的高頻漸進解。目前已運用復射線分析方法對飛行器天線和天線罩(雷達艙)、(加吸波塗層)翼身結合部和進氣道以及塗層的金屬平板、角形反射器等典型目標散射特性進行了成功的分析。盡管復射線技術的計算誤差可以通過參數調整得到控制,但其本身是一種高頻近似計算方法,由於入射波場的離散和只引入鞍點貢獻,帶來了不可避免的計算誤差。總的來說復射線方法在目標電磁散射領域還是具有獨特的優勢,尤其是對復
雜目標的處理。
5 結 語
電磁學的數值計算方法遠遠不止以上所舉,還有邊界元素法、格林函數法等,在具體問題中,應該採用不同的方法,而不應拘泥於這些方法,還可以把這些方法加以綜合應用,以達到最佳效果。
電磁學的數值計算是一門計算的藝術,他橫跨了多個學科,是數學理論、電磁理論和計算機的有機結合。原則上講,從直流到光的寬頻帶范圍都屬於他的研究范圍。為了跟上世界科技發展的需要,應大力進行電磁場的並行計算方法的研究,不斷拓廣他的應用領域,如生物電磁學、復雜媒質中的電磁正問題和逆問題、醫學應用、微波遙感應用、非線性電磁學中的混沌與分叉、微電子學和納米電子學等。

參考文獻

〔1〕 文舸一.計算電磁學的進展與展望〔J〕.電子學報,1995,23(10):62-69.
〔2〕 劉聖民.電磁場的數值方法〔M〕.武漢:華中理工大學出版社,1991.
〔3〕 張成,鄭宏興.小波矩量法求解電磁場積分方程〔J〕.寧夏大學學報(自然科學版),2000,21(1):76-79.
〔4〕 王長清.時域有限差分(FD-TD)法〔J〕.微波學報,1989,(4):8-18.
〔5〕 阮穎諍.復射線理論及其應用〔M〕.成都:電子工業出版社,1991.
〔6〕 方靜,汪文秉.有限元法和矩量法結合分析背腔天線的輻射特性〔J〕.微波學報,2000,16(2):139-143.
〔7〕 楊永俠,王翠玲.電磁場的FDTD分析方法〔J〕.現代電子技術,2001,(11):73-74.
〔8〕 洪偉.計算電磁學研究進展〔J〕.東南大學學RB (自然科學版),2002,32(3):335-339.
〔9〕 王長清,祝西里.電磁場計算中的時域有限差分法〔M〕.北京:北京大學出版社,1994.
〔10〕 樓仁海,符果行,袁敬閎.電磁理論〔M〕.成都:電子科技大學出版社,1996.

B. 有哪些經典的演算法或者輕量應用適合並行化

反對,不會顯示你的姓名
知乎用戶 計算機博士生,做生物信息
6 人贊同
挖個坑,說幾個生物信息領域的經典演算法吧。 1. Smith-Waterman 和 Needleman-Wunsch,倆生物信息最經典的動態規劃演算法, 並行演算法的論文不知道發了多少篇了,Xeon,Xeon Phi, CUDA,SIMD的,一般並行先從這個演算法開始講 2. 基因組拼接的演算法 de brijin Gra… 顯示全部
挖個坑,說幾個生物信息領域的經典演算法吧。
1. Smith-Waterman 和 Needleman-Wunsch,倆生物信息最經典的動態規劃演算法, 並行演算法的論文不知道發了多少篇了,Xeon,Xeon Phi, CUDA,SIMD的,一般並行先從這個演算法開始講

2. 基因組拼接的演算法 de brijin Graph 的構建和查詢的並行演算法

3. 序列比對,BWT 構建的並行演算法

以後慢慢補充

最後來一發,之前給物理學裡面的QMC演算法(一種MCMC演算法,用來計算分子結構的)做Xeon Phi上並行的優化,題主有興趣可以看看,已經有現成的軟體包QMCPACK,可以支持Xeon和GPU並行了。

C. 並行處理技術的策略及定義

在並行處理技術中所使用的演算法主要遵循三種策略:
1.分而治之法:也就是把多個任務分解到多個處理器或多個計算機中,然後再按照一定的拓撲結構來進行求解。
2.重新排序法:分別採用靜態或動態的指令詞度方式。
3.顯式/隱式並行性結合:顯式指的是並行語言通過編譯形成並行程序,隱式指的是串列語言通過編譯形成並行程序,顯式/隱式並行性結合的關鍵就在於並行編譯,而並行編譯涉及到語句、程序段、進程以及各級程序的並行性。 利用計算機語言進行並行性描述的時候主要有三種方案:
1.語言擴展方案:也就是利用各種語言的庫函數來進行並行性功能的擴展。
2.編譯制導法:也稱為智能編譯,它是隱式並行策略的體現,主要是由並行編譯系統進行程序表示、控制流的分析、相關分析、優化分析和並行化劃分,由相關分析得到方法庫管理方案,由優化分析得到知識庫管理方案,由並行化劃分得到程序重構,從而形成並行程序。
3.新的語言結構法:這是顯式並行策略的體現。也就是建立一種全新的並行語言的體系,而這種並行語言通過編譯就能直接形成並行程序。

D. 串列演算法並行化方法

先驗演算法一般是拿來做並行化的,先驗估計串列演算法下一部分需要的值,同時生成演算法每個步驟的結果,如果預測失敗選擇回退

E. c語言如何串列演算法並行化

你好,C的並行方法為擴展並行。即使用第三方C語擴展來實現,現在基於C的並行擴展有openMP、CUDA等,如果需要推薦書發消息給我。補充:你現在的想法跟AMD的差不多,但是實際用途只在部分代碼上有用,具體大的工程實踐還是需要相關人員自己進行並行設計,你可以通過很多書上的並行方法通過自己設計解析軟體把程序代碼分解為openMP代碼並作為預處理代碼。

F. 並行處理的並行演算法的基本策略

在並行處理技術中所使用的演算法主要遵循三種策略:
1.分而治之法:也就是把多個任務分解到多個處理器或多個計算機中,然後再按照一定的拓撲結構來進行求解。
2.重新排序法:分別採用靜態或動態的指令詞度方式。
3.顯式/隱式並行性結合:顯式指的是並行語言通過編譯形成並行程序,隱式指的是串列語言通過編譯形成並行程序,顯式/隱式並行性結合的關鍵就在於並行編譯,而並行編譯涉及到語句、程序段、進程以及各級程序的並行性。
二、並行性描述定義
利用計算機語言進行並行性描述的時候主要有三種方案:
1.語言擴展方案:也就是利用各種語言的庫函數來進行並行性功能的擴展。
2.編譯制導法:也稱為智能編譯,它是隱式並行策略的體現,主要是由並行編譯系統進行程序表示、控制流的分析、相關分析、優化分析和並行化劃分,由相關分析得到方法庫管理方案,由優化分析得到知識庫管理方案,由並行化劃分得到程序重構,從而形成並行程序。
3.新的語言結構法:這是顯式並行策略的體現。也就是建立一種全新的並行語言的體系,而這種並行語言通過編譯就能直接形成並行程序。
三、並行軟體
並行軟體可分成並行系統軟體和並行應用軟體兩大類,並行系統軟體主要指並行編譯系統和並行操作系統,並行應用軟體主要指各種軟體工具和應用軟體包。在軟體中所牽涉到的程序的並行性主要是指程序的相關性和網路互連兩方面。
1.程序的相關性:程序的相關性主要分為數據相關、控制相關和資源相關三類。
數據相關說明的是語句之間的有序關系,主要有流相關、反相關、輸出相關、I/O相關和求知相關等,這種關系在程序運行前就可以通過分析程序確定下來。數據相關是一種偏序關系,程序中並不是每一對語句的成員都是相關聯的。可以通過分析程序的數據相關,把程序中一些不存在相關性的指令並行地執行,以提高程序運行的速度。
控制相關指的是語句執行次序在運行前不能確定的情況。它一般是由轉移指令引起的,只有在程序執行到一定的語句時才能判斷出語句的相關性。控制相關常使正在開發的並行性中止,為了開發更多的並行性,必須用編譯技術克服控制相關。
而資源相關則與系統進行的工作無關,而與並行事件利用整數部件、浮點部件、寄存器和存儲區等共享資源時發生的沖突有關。軟體的並行性主要是由程序的控制相關和數據相關性決定的。在並行性開發時往往把程序劃分成許多的程序段——顆粒。顆粒的規模也稱為粒度,它是衡量軟體進程所含計算量的尺度,一般用細、中、粗來描述。劃分的粒度越細,各子系統間的通信時延也越低,並行性就越高,但系統開銷也越大。因此,我們在進行程序組合優化的時候應該選擇適當的粒度,並且把通訊時延盡可能放在程序段中進行,還可以通過軟硬體適配和編譯優化的手段來提高程序的並行度。
2.網路互連:將計算機子系統互連在一起或構造多處理機或多計算機時可使用靜態或動態拓撲結構的網路。靜態網路由點一點直接相連而成,這種連接方式在程序執行過程中不會改變,常用來實現集中式系統的子系統之間或分布式系統的多個計算結點之間的固定連接。動態網路是用開關通道實現的,它可動態地改變結構,使之與用戶程序中的通信要求匹配。動態網路包括匯流排、交叉開關和多級網路,常用於共享存儲型多處理機中。在網路上的消息傳遞主要通過尋徑來實現。常見的尋徑方式有存儲轉發尋徑和蟲蝕尋徑等。在存儲轉發網路中以長度固定的包作為信息流的基本單位,每個結點有一個包緩沖區,包從源結點經過一系列中間結點到達目的結點。存儲轉發網路的時延與源和目的之間的距離(段數)成正比。而在新型的計算機系統中採用蟲蝕尋徑,把包進一步分成一些固定長度的片,與結點相連的硬體尋徑器中有片緩沖區。消息從源傳送到目的結點要經過一系列尋徑器。同一個包中所有的片以流水方式順序傳送,不同的包可交替地傳送,但不同包的片不能交叉,以免被送到錯誤的目的地。蟲蝕尋徑的時延幾乎與源和目的之間的距離無關。在尋徑中產生的死鎖問題可以由虛擬通道來解決。虛擬通道是兩個結點間的邏輯鏈,它由源結點的片緩沖區、結點間的物理通道以及接收結點的片緩沖區組成。物理通道由所有的虛擬通道分時地共享。虛擬通道雖然可以避免死鎖,但可能會使每個請求可用的有效通道頻寬降低。因此,在確定虛擬通道數目時,需要對網路吞吐量和通信時延折衷考慮。
四、硬體技術在硬體技術方面主要從處理機、存儲器和流水線三個方面來實現並行。
1.處理機:主要的處理機系列包括CISC、RISC、超標量、VL1W、超流水線、向量以及符號處理機。
傳統的處理機屬於復雜指令系統計算(CISC)結構。指令系統大,指令格式可變,通用寄存器個數較少,基本上使用合一的指令與數據高速緩存,時鍾頻率較低,CPI較高,大多數利用ROM 實現微碼控制CPU,而當今的精簡指令系統計算(RISC)處理機指令格式簡單規范,面向寄存器堆,採用重疊寄存器窗口技術,具有多級Cache,多種流水線結構,強調編譯優化技術,時鍾頻率快,CPI低,大多數用硬連線控制CPU。
CISC或RISC標量處理機都可以採用超標量或向量結構來改善性能。標量處理機在每個周期內只發射一條指令並要求周期只完成從流水線來的一條指令。而在超標量處理機中,使用了多指令流水線,每個周期要發射多條指令並產生多個結果。由於希望程序中有許多的指令級並行性,因此超標量處理機更要依靠優化編譯器去開發並行性。
VL1W 結構是將水平微碼和超標量處理這兩種普遍採用的概念結合起來產生的。典型的超長指令字VL1W 機器指令字長度有數百位。在VLlW 處理機中,多個功能部件是並發工作的,所有的功能部件共享使用公用大型寄存器堆,由功能部件同時執行的各種操作是用VL1W 指令來同步的,每條指令可指定多個操作。VL1W 指令解碼比超標量指令容易,但在開發不同數量的並行性時總是需要不同的指令系統。VL1W 主要是開發標量操作之間的並行性,它的成功與否很大程度取決於代碼壓縮的效率,其結構和任何傳統的通用處理機完全不兼容。即使同一結構的不同實現也不大可能做到彼此二進制兼容。VL1W 的主要優點在於它的硬體結構和指令系統簡單,在科學應用領域可以發揮良好作用,但在一般應用場合可能並不很好用。
向量處理機對數組執行向量指令,每條指令都包含一串重復的操作。它是專門設計用來完成向量運算的協處理機,通常用於多流水線超級計算機中。向量處理機可以利用循環級展開所得的並行性,它可以附屬於任何標量處理機。專用的向量流水線可以在循環控制中消除某些軟體開銷,它的效果與優化編譯器將順序代碼向量化的性能很有關系。從理論上說,向量機可以具有和超標量處理機同樣的性能,因此可以說向量機的並行性與超標量機相同。
符號處理機是為AI應用而研製的,已用於定理證明、模式識別、專家系統、知識工程、文本檢索、科學以及機器智能等許多應用領域。在這些應用中,數據和知識表達式、原語操作、演算法特性、存儲器、I/0和通信以及專用的結構特性與數值計算是不一樣的,符號處理機也稱為邏輯程序設計語言處理機、表處理語言處理機或符號變換器。符號處理並不和數值數據打交道,它處理的是邏輯程序、符號表、對象、劇本、黑板、產生式系統、語義網路、框架以及人工神經網路等問題。這些操作需要專門的指令系統,通常不使用浮點操作。
2.存儲器:存儲設備按容量和存取時間從低到高可分為寄存器、高速緩存、主存儲器、磁碟設備和磁帶機五個層次。較低層存儲設備與較高層的相比,存取速度較快、容量較小,每位元組成本較高、帶寬較寬、傳輸單位較小。
存放在存儲器層次結構中的信息滿足三個重要特性:包含性、一致性和局部性。所謂包含性,指的是一個信息字的復製品可以在比它高的所有層中找到,而如果在高層中丟失了一個信息,則在比它低的所有層中此信息也將丟失。CPU 和高速緩存之間的信息傳送是按字進行的,高速緩存和主存儲器間用塊作為數據傳送的基本單位,主存和磁碟之間又是以頁面為基本單位來傳送信息的,而在磁碟和磁帶機之間的數據傳送則是按文件級處理的。所謂一致性要求的是同一個信息項與後繼存儲器層次上的副本是一致的。也就是說,如果在高速緩存中的一個字被修改過,那麼在所有更高層上該字的副本也必須立即或最後加以修改。為了盡量減少存儲器層次結構的有效存取時間,通常把頻繁使用的信息放在較低層次。維護存儲器層次結構一致性一般有兩種策略,一種是寫直達策略,也就是如果,則立即在所有高層存儲器中進行同樣的修改;另一種是寫回策略,也就是在較低層中對信息進行修改後並不立即在高層存儲器中進行相應的修改,而是等到該信息將被替換或將從低層中消失時才在所有高層存儲器中進行同樣的修改。甚至可以將寫直達和寫回策略的優點結合起來,形成寫一次協議來維護存儲器的一致性。
存儲器的層次結構是在一種程序行為——訪問的局部性基礎上開發出來的。主要有時間局部性、空間局部性和順序局部性。時間局部性指的是最近的訪問項很可能在不久的將來再次被訪問。它往往會引起對最近使用區域的集中訪問。空間局部性表示一種趨勢,指的是一個進程訪問的各項其地址彼此很近。順序局部性指的是在典型程序中,除非是轉移指令,一般指令都是順序執行的。
在多處理機系統中一般使用共享存儲器。對共享存儲器的組織一般採用低位交叉、高位交叉、高低位交叉三種方法。低位交叉又稱並發存取,它是把相鄰的地址放在相鄰的存儲器模塊中,在訪問時不容易產生沖突,並行性較好,但可靠性容錯能力和擴展性均較差。高位交叉又稱允許同時存取,它是把相鄰地址分配到同一個存儲器模塊中,可靠性、容錯能力和擴展性均較強,但訪問時易產生沖突,帶寬較窄,並行性較差。高低位交叉存取又稱C—s存取,它是結合了高位交叉和低位交叉兩種方法的優點,既解決了沖突問題,又能有效地提高容錯能力和並行性,最適合於向量處理機結構。
3.流水線:流水線技術主要有指令流水線技術和運算流水線技術兩種。
指令流水線技術主要目的是要提高計算機的運行效率和吞吐率。它主要通過設置預取指令緩沖區、設置多功能部件、進行內部數據定向、採取適當的指令調度策略來實現。指令調度的策略主要有靜態和動態兩種,靜態詞度是基於軟體的,主要由編譯器完成,動態詞度是基於硬體的,主要是通過硬體技術進行。
運算流水線主要有單功能流水線和多功能流水線兩種。其中多功能流水線又可分為靜態流水線和動態流水線。靜態流水線技術只用來實現確定的功能,而動態流水線可以在不同時間重新組合,實現不同的功能,它除流線連接外,還允許前饋和反饋連接,因此也稱為非線性流水線。這些前饋和反饋連接使得進入流水線的相繼事件的詞度變得很不簡單。由於這些連接,流水線不一定從最後一段輸出。根據不同的數據流動模式,人們可以用同一條流水線求得不同功能的值。
並行計算機發展簡述
40 年代開始的現代計算機發展歷程可以分為兩個明顯的發展時代:串列計算時代、並行計算時代。每一個計算時代都從體系結構發展開始,接著是系統軟體(特別是編譯器與操作系統)、應用軟體,最後隨著問題求解環境的發展而達到頂峰。創建和使用並行計算機的主要原因是因為並行計算機是解決單處理器速度瓶頸的最好方法之一。
並行計算機是由一組處理單元組成的,這組處理單元通過相互之間的通信與協作,以更快的速度共同完成一項大規模的計算任務。因此,並行計算機的兩個最主要的組成部分是計算節點和節點間的通信與協作機制。並行計算機體系結構的發展也主要體現在計算節點性能的提高以及節點間通信技術的改進兩方面。
60 年代初期,由於晶體管以及磁芯存儲器的出現,處理單元變得越來越小,存儲器也更加小巧和廉價。這些技術發展的結果導致了並行計算機的出現,這一時期的並行計算機多是規模不大的共享存儲多處理器系統,即所謂大型主機(Mainframe)。IBM360 是這一時期的典型代表。
到了60 年代末期,同一個處理器開始設置多個功能相同的功能單元,流水線技術也出現了。與單純提高時鍾頻率相比,這些並行特性在處理器內部的應用大大提高了並行計算機系統的性能。伊利諾依大學和Burroughs 公司此時開始實施IlliacIV 計劃,研製一台64 個CPU 的SIMD 主機系統,它涉及到硬體技術、體系結構、I/O 設備、操作系統、程序設計語言直至應用程序在內的眾多研究課題。不過,當一台規模大大縮小了的16CPU 系統終於在1975 年面世時,整個計算機界已經發生了巨大變化。
首先是存儲系統概念的革新,提出虛擬存儲和緩存的思想。IBM360/85 系統與360/91是屬於同一系列的兩個機型,360/91 的主頻高於360/85,所選用的內存速度也較快,並且採用了動態調度的指令流水線;但是,360/85 的整體性能卻高於360/91,唯一的原因就是前者採用了緩存技術,而後者則沒有。
其次是半導體存儲器開始代替磁芯存儲器。最初,半導體存儲器只是在某些機器被用作緩存,而CDC7600 則率先全面採用這種體積更小、速度更快、可以直接定址的半導體存儲器,磁芯存儲器從此退出了歷史舞台。與此同時,集成電路也出現了,並迅速應用到了計算機中。元器件技術的這兩大革命性突破,使得IlliacIV 的設計者們在底層硬體以及並行體系結構方面提出的種種改進都大為遜色。
1976 年CRAY-1 問世以後,向量計算機從此牢牢地控制著整個高性能計算機市場15 年。CRAY-1 對所使用的邏輯電路進行了精心的設計,採用了我們如今稱為RISC 的精簡指令集,還引入了向量寄存器,以完成向量運算。這一系列全新技術手段的使用,使CRAY-1 的主頻達到了80MHz。
微處理器隨著機器的字長從4 位、8 位、16 位一直增加到32 位,其性能也隨之顯著提高。正是因為看到了微處理器的這種潛力,卡內基- 梅隆大學開始在當時流行的DECPDP11 小型計算機的基礎上研製成功一台由16 個PDP11/40 處理機通過交叉開關與16 個共享存儲器模塊相連接而成的共享存儲多處理器系統C.mmp。
從80 年代開始,微處理器技術一直在高速前進。稍後又出現了非常適合於SMP 方式的匯流排協議,而伯克利加州大學則對匯流排協議進行了擴展,提出了Cache 一致性問題的處理方案。從此,C.mmp 開創出的共享存儲多處理器之路越走越寬;現在,這種體系結構已經基本上統治了伺服器和桌面工作站市場。
同一時期,基於消息傳遞機制的並行計算機也開始不斷涌現。80 年代中期,加州理工成功地將64 個i8086/i8087 處理器通過超立方體互連結構連結起來。此後,便先後出現了Intel iPSC 系列、INMOS Transputer 系列,Intel Paragon 以及IBM SP 的前身Vulcan 等基於消息傳遞機制的並行計算機。
80 年代末到90 年代初,共享存儲器方式的大規模並行計算機又獲得了新的發展。IBM將大量早期RISC 微處理器通過蝶形互連網路連結起來。人們開始考慮如何才能在實現共享存儲器緩存一致的同時,使系統具有一定的可擴展性(Scalability)。90 年代初期,斯坦福大學提出了DASH 計劃,它通過維護一個保存有每一緩存塊位置信息的目錄結構來實現分布式共享存儲器的緩存一致性。後來,IEEE 在此基礎上提出了緩存一致性協議的標准。
90 年代以來,主要的幾種體系結構開始走向融合。屬於數據並行類型的CM-5 除大量採用商品化的微處理器以外,也允許用戶層的程序傳遞一些簡單的消息;CRAY T3D是一台NUMA 結構的共享存儲型並行計算機,但是它也提供了全局同步機制、消息隊列機制,並採取了一些減少消息傳遞延遲的技術。
隨著商品化微處理器、網路設備的發展,以及MPI/PVM 等並行編程標準的發布,機群架構的並行計算機出現。IBM SP2 系列機群系統就是其中的典型代表。在這些系統中,各個節點採用的都是標準的商品化計算機,它們之間通過高速網路連接起來。
今天,越來越多的並行計算機系統採用商品化的微處理器加上商品化的互連網路構造,這種分布存儲的並行計算機系統稱為機群。國內幾乎所有的高性能計算機廠商都生產這種具有極高性能價格比的高性能計算機,並行計算機就進入了一個新的時代,並行計算的應用達到了前所未有的廣度和深度。
並行計算機隨著微處理晶元的發展,已經進入了一個新時代。目前並行計算機的性能已經突破20PFLOPS,正在向百億億次發展。我國並行計算機的研製已經走在世界前列。2003年由聯想公司生產的深騰6800 在2003 年11 月世界TOP500 排名中位列第14 名,2004 年曙光公司生產的曙光4000A 在2004 年6 月的世界TOP500 排名中位列第10 名,這是我國公開發布的高性能計算機在世界TOP500 中首次進入前十名,這標志著我國在並行計算機系統的研製和生產中已經趕上了國際先進水平,為提高我國的科學研究水平奠定了物質基礎。2013年國際超級計算機大會最新發布的世界超級計算機500強排名中,國防科技大學研製的天河二號超級計算機系統,以峰值計算速度每秒5.49億億次、持續計算速度每秒3.39億億次雙精度浮點運算的優異性能位居榜首。
從TOP500 的前10 名來看,美國仍然是超級計算機的最大擁有者。按照世界TOP500 的統計數據來分析,美國在計算能力上佔有近全世界的一半,在TOP500 中的所有計算機中擁有的數量超過50%。

G. pso的並行演算法

與大多數隨機優化演算法相似,當適應值評價函數的計算量比較大時,PSO演算法的計算量會很大。為了解決該問題,研究者提出了並行PSO演算法。與並行遺傳演算法類似,並行PSO演算法也可以有三種並行群體模型:主從並行模型、島嶼群體模型和鄰接模型。
Schutte採用同步實現方式,在計算完一代中所有點的適應值之後才進入下一代。這種並行方法雖然實現簡單,但常常會導致並行效率很差。故而有人提出非同步方式的並行演算法,可以在對數值精度影響不大的條件下提高PSO演算法的並行性能。這兩種方式採用的都是主從並行模型,其中非同步方式在求解上耦合性更高,更容易產生通信瓶頸。
Baskar提出一種兩個子種群並行演化的並發PSO演算法,其中一個子種群採用原始的PSO演算法,另一個子種群採用基於適應值距離比的PSO演算法(FDR-PSO);兩個子種群之間頻繁地進行信息交換。而El-Abd研究了在子種群中採用局部鄰域版本的協作PSO演算法,並研究了多種信息交換的方式及其對演算法性能的影響。黃芳提出一種基於島嶼群體模型的並行PSO演算法,並引入一種集中式遷移策略,提高了求解效率,同時改善了早收斂現象。
Li提出延遲交換信息的並行演算法屬於鄰接模型,該演算法可以提高速度,但可能使得解的質量變差。

H. 演算法並行化後它的時間復雜度會增加么

有些會,有些不會,有些演算法並發處理後需要同步會增加時間復雜度,但是有些演算法不需要同步,所以不會。

I. 如何把一個串列演算法在hadoop中並行化

你需要了解這個演算法的具體現實,將可以並行的挑出來放到不同的任務裡面。要不然的話,你就只能用任務管道。用上一個任務的輸出做為下一個任務的輸入,順序執行兩個並行計算任務。

J. 一直分不清並行計算和分布式計算的區別,望大蝦指點。。。

1、並行計算(Parallel Computing)是指同時使用多種計算資源解決計算問題的過程。為執行並行計算,計算資源應包括一台配有多處理機(並行處理)的計算機、一個與網路相連的計算機專有編號,或者兩者結合使用。並行計算的主要目的是快速解決大型且復雜的計算問題。

2、分布式計算是一門計算機科學,它研究如何把一個需要非常巨大的計算能力才能解決的問題分成許多小的部分,然後把這些部分分配給許多計算機進行處理,最後把這些計算結果綜合起來得到最終的結果。

3、具體的過程是:將需要進行大量計算的項目數據分割成小塊,由多台計算機分別計算,再上傳運算結果後統一合並得出數據結論。

(10)並行化演算法擴展閱讀

特徵

為利用並行計算,通常計算問題表現為以下特徵:

1、將工作分離成離散部分,有助於同時解決;

2、隨時並及時地執行多個程序指令;

3、多計算資源下解決問題的耗時要少於單個計算資源下的耗時。

基本術語

1、節點度:射入或射出一個節點的邊數。在單向網路中,入射和出射邊之和稱為節點度。

2、網路直徑:網路中任何兩個節點之間的最長距離,即最大路徑數。

3、對剖寬度:對分網路各半所必須移去的最少邊數。

熱點內容
vbwebbrowser緩存 發布:2024-10-26 07:25:55 瀏覽:474
腳本血色 發布:2024-10-26 07:25:09 瀏覽:576
sql怎麼優化 發布:2024-10-26 07:25:02 瀏覽:175
筆趣閣手機版app如何找回密碼 發布:2024-10-26 07:18:00 瀏覽:409
中央編譯局文件 發布:2024-10-26 07:17:50 瀏覽:677
安卓系統如何把鎖屏時間變大 發布:2024-10-26 07:17:05 瀏覽:138
linuxmysql命令行 發布:2024-10-26 06:57:28 瀏覽:619
hashmapjava源碼 發布:2024-10-26 06:55:54 瀏覽:315
小密助手不打開存儲空間能使用嗎 發布:2024-10-26 06:55:45 瀏覽:484
浙大中控圖形編輯文件有編譯錯誤 發布:2024-10-26 06:45:12 瀏覽:686