首頁 >常見問題 >平行計算和分散式計算的區別

平行計算和分散式計算的區別

Guanhui
Guanhui原創
2020-05-30 18:00:4819417瀏覽

平行計算和分散式計算的區別

並行計算與分散式運算的差異

#1、並行運算投入更多機器,資料大小不變,計算速度更快,而分散式運算投入較多的機器,能處理更大的資料;

2、平行運算必須要求時間同步,而分散式運算沒有時間限制。

並行計算

並行計算(Parallel Computing)是指同時使用多種運算資源解決計算問題的過程,是提高電腦系統計算速度和處理能力的一種有效手段。它的基本思想是用多個處理器來協同求解同一問題,即將被求解的問題分解成若干個部分,各部分均由一個獨立的處理機來並行計算。平行計算系統既可以是專門設計的、含有多個處理器的超級計算機,也可以是以某種方式互連的若干台的獨立計算機構成的集群。透過並行計算集群完成資料的處理,再將處理的結果回傳給使用者。

平行計算可分為時間上的平行和空間上的平行。

時間上的平行:是指管線技術,比如說工廠生產食品的時候步驟分為:

1.清洗:將食品沖洗乾淨。

2.消毒:將食品消毒處理。

3.切割:將食品切成小塊。

4.包裝:將食品裝入包裝袋中。

如果不採用管線,一個食品完成上述四個步驟後,下一個食品才進行處理,耗時且影響效率。但是採用流水線技術,就可以同時處理四個食品。這就是平行演算法中的時間並行,在同一時間啟動兩個或兩個以上的操作,大大提高計算效能。

空間上的平行:是指多個處理機並發的執行計算,即透過網路將兩個以上的處理機連接起來,達到同時計算同一個任務的不同部分,或者單一處理機無法解決的大型問題。

例如小李準備在植樹節種三棵樹,如果小李1個人需要6個小時才能完成任務,植樹節當天他叫來了好朋友小紅、小王,三個人同時開始挖坑植樹,2個小時後每個人都完成了一顆植樹任務,這就是平行演算法中的空間並行,將一個大任務分割成多個相同的子任務,來加快問題解決速度。

分散式計算

廣義定義

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

最近的分散式運算專案已經被用於使用世界各地成千上萬位志工的電腦的閒置運算能力,透過因特網,可以分析來自外太空的電訊號,尋找隱藏的黑洞,並探索可能存在的外星智慧生命;可以尋找超過1000萬位數字的梅森質數;也可以尋找並發現對抗愛滋病病毒的更為有效的藥物。這些項目都很龐大,需要驚人的計算量,僅僅由單一的電腦或個人在一個能讓人接受的時間內計算完成是絕不可能的。

中國科學院的定義

在兩個或多個軟體互相分享訊息,這些軟體既可以在同一台電腦上運行,也可以在透過網路連接起來的多台電腦上運行。分散式計算比起其它演算法有以下幾個優點:

1、稀有資源可以共享。

2、透過分散式計算可以在多台電腦上平衡計算負載。

3、可以把程式放在最適合運作它的電腦上。

其中,共享稀有資源和平衡負載是電腦分散式運算的核心思想之一。

推薦教學:《PHP教學

以上是平行計算和分散式計算的區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn