並行語言

並行語言

並行程式語言(Parallel Programming Language)實際上是根據給定的套用問題和計算機模型,選取合適的並行算法和並行程式語言,設計並行程式的過程。它要求算法設計者、計算機系統的體系結構設計者和軟體開發人員之間進行廣泛的交流。

基本介紹

  • 中文名:並行程式語言
  • 外文名:Parallel Programming Language
  • 定義:給套用問題選取合適的算法和語言
  • 語言:OpenMP、MPI
  • 系統:計算機
  • 套用學科:計算機原理
並行程式語言環境,並行語言,OpenMP,MPI,

並行程式語言環境

並行程式語言環境分為共享存儲編程環境和分散式編程環境兩種。共享存儲並行編程系統採用共享變數模型,駐留在各個處理器上的進程通過讀寫公共存儲器中的共享變數實現相互通信。分布存儲系統與共享存儲系統不同,從並行程式設計的角度來看有以下兩個特點:
(1)系統通過網際網路將每個處理器連線起來,每個處理器均有自己獨立的局部存儲器,所有的局部存儲器構成了整個地址空間。
(2)整個地址空間有局部和全局兩種編址方式,前者是系統中各局部存儲器單獨編址,所以用戶程式空間是多地址的,遠程存儲器訪問要通過調用訊息傳遞庫來實現;後者是系統中所有局部存儲器統一編址,所以用戶程式空間是一個統一單地址空間,遠程存儲器訪問和局部存儲器的訪問一樣用指令來完成,其指令地址由處理器地址和局部存儲器地址組成。

並行語言

OpenMP

OpenMP是由OpenMP Architecture Review Board牽頭提出的,並已被廣泛接受的,用於共享記憶體並行系統的多執行緒程式設計的一套指導性的編譯處理方案(Compiler Directive)。
OpenMP支持的程式語言包括C語言、C++和Fortran;而支持OpenMP的編譯器包括SunCompiler,GNU Compiler和Intel Compiler等。OpenMP對於並行描述的高層抽象降低了並行編程的難度和複雜度,這樣程式設計師可以把更多的精力投入到並行算法本身,而非其具體實現細節。對基於數據分集的多執行緒程式設計,OpenMP是一個很好的選擇。同時,使用OpenMP也提供了更強的靈活性,可以較容易的適應不同的並行系統配置。執行緒粒度和負載平衡等是傳統多執行緒程式設計中的難題,但在OpenMP中,OpenMP庫從程式設計師手中接管了這兩方面的部分工作。

MPI

MPI是一種訊息傳遞模型。1994年5月1.0版的MPI標準誕生。該標準提出了一種基於訊息傳遞的函式接口描述。目前,MPI已發展到2.0版,成為高性能計算的一種公認標準。MPI本身並不是一個具體的實現,而只是一種標準描述。MPI最為著名且被廣泛使用的一個具體實現是由美國Argoone國家實驗室(argonne national laboratory)開發小組完成的MPICH,MPICH是一個免費軟體,它提供對Fotran和C語言等的綁定支持,以函式館的形式提供給開發者使用。MPI理論上可以工作在任何多處理器的並行環境下,並且具有較好的可移植性。MPI已在IBM PC機上、MS Windows上、所有主要的Unix工作站上和所有主流的並行機上得到實現。使用MPI作訊息傳遞的C或Fortran並行程式可不加改變地運行在IBM PC、MS Windows、Unix工作站、以及各種並行機上。

相關詞條

熱門詞條

聯絡我們