並行計算檢視原始碼討論檢視歷史
並行計算是中國的一個科技名詞。
語言一發即逝,不留痕跡。當人類意識到需要把說出的話記下來時,就發明了文字[1]。在世界範圍內,曾經獨立形成的古老文字除我們的漢字外,還有埃及的聖書字、兩河流域的楔形文字、古印度的印章文字以及中美洲的瑪雅文[2]。後來,這些古老文字的命運各不相同,或因某種歷史原因而消亡,如瑪雅文;或因文字的根本變革而遭廢棄,如楔形文、聖書字,只漢字沿用至今,而且古今傳承的脈絡清晰可見,成了中華民族文化的良好載體。
名詞解釋
並行計算(Parallel Computing)是指同時使用多種計算資源解決計算問題的過程,是提高計算機系統計算速度和處理能力的一種有效手段。它的基本思想是用多個處理器來協同求解同一問題,即將被求解的問題分解成若干個部分,各部分均由一個獨立的處理機來並行計算。並行計算系統既可以是專門設計的、含有多個處理器的超級計算機,也可以是以某種方式互連的若干台的獨立計算機構成的集群。通過並行計算集群完成數據的處理,再將處理的結果返回給用戶。
並行計算可分為時間上的並行和空間上的並行。
時間上的並行:是指流水線技術,比如說工廠生產食品的時候步驟分為:
1. 清洗:將食品沖洗乾淨。
2. 消毒:將食品進行消毒處理。
3. 切割:將食品切成小塊。
4. 包裝:將食品裝入包裝袋。
如果不採用流水線,一個食品完成上述四個步驟後,下一個食品才進行處理,耗時且影響效率。但是採用流水線技術,就可以同時處理四個食品。這就是並行算法中的時間並行,在同一時間啟動兩個或兩個以上的操作,大大提高計算性能。
空間上的並行:是指多個處理機並發的執行計算,即通過網絡將兩個以上的處理機連接起來,達到同時計算同一個任務的不同部分,或者單個處理機無法解決的大型問題。
比如小李準備在植樹節種三棵樹,如果小李1個人需要6個小時才能完成任務,植樹節當天他叫來了好朋友小紅、小王,三個人同時開始挖坑植樹,2個小時後每個人都完成了一顆植樹任務,這就是並行算法中的空間並行,將一個大任務分割成多個相同的子任務,來加快問題解決速度。
特徵
為利用並行計算,通常計算問題表現為以下特徵:
(1)將工作分離成離散部分,有助於同時解決;
(2)隨時並及時地執行多個程序指令;
(3)多計算資源下解決問題的耗時要少於單個計算資源下的耗時。
基本體系結構
並行計算科學中主要研究的是空間上的並行問題。從程序和算法設計人員的角度來看,並行計算又可分為數據並行和任務並行。一般來說,因為數據並行主要是將一個大任務化解成相同的各個子任務,比任務並行要容易處理。
空間上的並行導致了兩類並行機的產生,按照Flynn的說法分為:單指令流多數據流(SIMD)和多指令流多數據流(MIMD)。我們常用的串行機也叫做單指令流單數據流(SISD)。MIMD類的機器又可分為以下常見的五類:並行向量處理機(PVP)、對稱多處理機(SMP)、大規模並行處理機(MPP)、工作站機群(COW)、分布式共享存儲處理機(DSM)。
訪存模型
並行計算機有以下五種訪存模型:
均勻訪存模型(UMA)
非均勻訪存模型(NUMA)
全高速緩存訪存模型(COMA)
一致性高速緩存非均勻存儲訪問模型(CC-NUMA)
非遠程存儲訪問模型(NORMA)。
計算模型
不像串行計算機那樣,全世界基本上都在使用馮·諾伊曼的計算模型;並行計算機沒有一個統一的計算模型。不過,人們已經提出了幾種有價值的參考模型:PRAM模型,BSP模型,LogP模型,C^3模型等。
網絡設置
並行計算機是靠網絡將各個處理機或處理器連接起來的,一般來說有以下幾種方式:處理單元間有着固定連接的一類網絡,在程序執行期間,這種點到點的鏈接保持不變;典型的靜態網絡有一維線性陣列、二維網孔、樹連接、超立方網絡、立方環、洗牌交換網、蝶形網絡等。靜態連接
動態連接
用交換開關構成的,可按應用程序的要求動態地改變連接組態;典型的動態網絡包括總線、交叉開關和多級互連網絡等。
基本術語
節點度:射入或射出一個節點的邊數。在單向網絡中,入射和出射邊之和稱為節點度。
網絡直徑:網絡中任何兩個節點之間的最長距離,即最大路徑數。
對剖寬度:對分網絡各半所必須移去的最少邊數。
對剖帶寬:每秒鐘內,在最小的對剖平面上通過所有連線的最大信息位(或字節)。
參考文獻
- ↑ 漢語是什麼語言,其本質是什麼?,搜狐,2020-10-19
- ↑ 精美絕倫的藝術瑪雅文字,搜狐,2021-12-26