平行計算和計算機叢集/概述
外觀
如引言所述,平行計算和計算機叢集在主題方面有很大重疊。
平行計算是一個模糊的術語,涵蓋了計算的兩個不同領域:設計具有多個處理器的單臺機器(硬體平行計算)和設計軟體將複雜場景拆分為可管理的塊(軟體平行計算)。
平行計算機是指設計幷包含多個 MPU 的計算機,每個 MPU 都可以獨立於其同級工作。許多現代 PC 都能夠容納兩個 CPU,而單個 CPU 可以容納多個核心,每個核心都可以獨立於其他核心工作 - 兩者都是可以並行執行多個任務的計算機的例子。請注意,執行多工作業系統(如 MS Windows 或各種 Unix/Linux 版本)的單 CPU、單核心機器並非並行執行,而是序列執行許多小塊的任務:軟體被並行化,但硬體並非如此。
在設計軟體以處理大型資料集時,通常可以將資料集拆分為多個較小的子集,而不會影響整體工作目標。例如,要檢索單個伺服器上的所有靜態網頁,可以單獨檢索每個網頁,而不會影響最終結果,因此可以並行執行資料集的塊。一旦確定可以成功拆分資料,就可以以允許單個 CPU 處理較小塊的方式設計軟體,從而允許許多 CPU 並行處理許多不同的塊。
計算機叢集是由多臺獨立機器組成的網路,它們協同工作以實現或提供一個共同主題或目標。例如,一個簡單的搜尋引擎可以由兩臺機器組成:一臺機器檢索和索引資料,另一臺機器提供前端供人們訪問索引。以這種方式,叢集由多個不同的任務組成,但對於使用叢集的人來說,它被視為一個單一實體。
許多叢集被設定為朝著同一個共同目標努力,以類似的方式處理類似的資料集。在這種情況下,叢集以並行方式進行計算,因此平行計算和計算機叢集之間的界限變得模糊不清。