什麼是叢集運算?
叢集運算是使用多個運算節點 (稱為叢集) 來增加處理能力以解決複雜問題的程序。複雜的使用案例,例如藥物研究、蛋白質分析和 AI 模型訓練,需要平行處理數百萬個資料點,以進行複雜的分類和預測任務。叢集運算技術可協調多個運算節點,每個節點都有自己的 CPU、GPU 和內部記憶體,以共同處理相同的資料處理任務。叢集運算基礎設施上的應用程式就像在單一機器上一樣執行,而且不了解基礎系統的複雜性。
叢集運算技術如何發展?
運算叢集於 20 世紀 60 年代發明,用於為多台電腦提供平行處理能力、記憶體和儲存。早期的叢集涵蓋個人電腦、工作站和伺服器。每台電腦都連線至區域網路 (LAN),可讓使用者像使用單一電腦一樣存取資源。
多年來,支援叢集運算的技術不斷發展,從而產生更加多樣化的使用案例,例如高效能運算 (HPC)。高效能運算使用多個連線的處理器 (可能有數百萬個) 來提供大量的平行運算能力。組織使用 HPC 支援資源密集應用程式中的工作負載,例如資料分析、科學研究、機器學習和視覺處理。
雲端中的叢集運算
傳統上,設定電腦叢集需要手動安裝和設定電腦、作業系統、聯網功能和資源分佈機制。此外,內部部署設定會對組織帶來財務壓力,因為擴展叢集需要投資購買更多的伺服器硬體。
如今,許多雲端供應商提供受管的高效能運算 (HPC) 叢集,組織可以輕鬆地在其上部署自己的工作負載。您無需在內部部署中設定數千台連線的電腦,而是可以透過 AWS HPC 存取無限的雲端處理能力。
AWS HPC 可讓軟體團隊藉助可用的叢集運算服務創新和擴展運算密集型工作負載。例如,Hypersonix 使用高效能運算來執行涉及 AWS 雲端中數百萬個細胞的高速流體動力學模擬。
叢集運算有哪些使用案例?
下面我們分享叢集運算技術的典型應用程式。
巨量資料分析
叢集運算可將分析任務平行分佈到多台電腦,從而加速資料分析。例如,您可以使用架構以支援 HPC 工作負載的雲端運算叢集執行複雜的運算,例如 Monte Carlo、基因組學或情緒分析。
人工智慧和機器學習
人工智慧和機器學習 (AI/ML) 應用程式在訓練和處理資料時取用大量的處理能力。藉助專門建置的叢集運算基礎設施,資料科學家可以縮短取得結果的時間。例如,您可以在由 AWS Trainium 提供支援的雲端 AI 叢集上執行 AI/ML 工作負載,這是專為加速 AI 研究而設計的運算晶片。
3D 算圖
叢集運算可實現叢集算圖,在此程序中,多台互連的電腦在各種螢幕上同步影像或視訊。您也可以使用叢集算圖來支援電腦輔助工程、虛擬實境以及其他需要強大圖形處理能力的應用程式。
模擬
組織使用運算叢集來模擬資料的可能結果,以指引業務決策。 互相連結的多台電腦支援互動式工作流程,其中人類專家可以從基礎模型中擷取、檢閱和精簡結果。例如,您可以透過使用來自連線電腦的資源為基礎機器學習工作負載提供支援來執行財務風險分析。
叢集運算如何運作?
叢集運算可透過網路連線兩台或多台電腦,使其作為單一系統協同工作。通常,叢集設定由運算節點、領導節點、負載平衡器和活動訊號機制組成。當領導節點接收請求時,它會將任務傳遞給雲端節點。根據工程師設定叢集的方式,每個節點可以單獨或同時處理任務。下面解釋每個元件。
運算節點
運算節點是處理分散式任務的伺服器 (或雲端執行個體)。通常,它們分享相同的 CPU、GPU、記憶體、儲存、作業系統和其他運算規格。我們將此稱為同質設定。有時可能會使用異質設定,其中某些叢集節點具有不同的運算規格。
領導節點
領導節點是指派以協調其他雲端節點如何一起工作的電腦。領導節點接收傳入的請求,並將任務分佈給其負責的不同節點。如果領導節點失敗,則另一個節點將透過選舉程序取代其位置,通常是由剩餘節點達成共識。
負載平衡器
負載平衡器是將傳入流量分佈到適當運算節點的網路裝置。它會追蹤網路活動、資源用量和叢集節點之間的資料交換。在叢集運算中,負載平衡器可防止運算節點因請求突然激增而不堪重負。有時,領導節點透過專用的負載平衡軟體工具充當負載平衡器。
活動訊號機制
活動訊號機制會監控叢集中的所有運算節點,以確保它們正常運作。當某個節點無法回應時,活動訊號機制會提醒領導節點,將任務重新分佈到其他功能節點。
叢集運算有哪些類型?
組織可以設定運算叢集以支援各種業務、效能和營運目標。
負載平衡叢集
負載平衡叢集透過自動協調資源管理來實現營運穩定性。當叢集接收去請求時,它會將任務平均分佈到所有可用的節點中。這可以防止任何個別節點不堪重負。例如,企業在負載平衡叢集上託管電子商務網站,以應對季節性流量激增。由於所有節點協作處理請求,因此儘管流量很大,使用者仍可享受一致的性能。
高可用性叢集
高可用性 (HA) 叢集透過維護備援節點來確保服務可用性。當單一節點失敗時,負載平衡器將流量重新分佈到備份節點,以確保服務持續性。設定中通常會包含備援負載平衡器,以防止出現單一故障點。這樣,如果其元件失敗,整個叢集可以迅速恢復運作。
您可以透過兩種方式設定高可用性叢集。
主動/主動模式組態
無論是否接受任務,所有節點都處於運作狀態。但是,如果它們失敗,負載平衡器會將工作重新分佈到運作良好的節點。
主動/被動模式組態。
某些節點在正常運作期間保持閒置狀態。僅在某個節點失敗時才會啟用它們。
高效能叢集
高效能叢集結合多台電腦或超級電腦,以高處理速度解決複雜的運算任務。高效能叢集不是循序處理資料,而是平行處理,這有利於資源密集型應用程式 (例如資料挖掘)。此外,雲端節點可以在實現共同目標期間交換資料。
叢集運算在 AI 中有何作用?
AI 工作負載需要大量的運算資源、儲存和低延遲的網路連線。此前,組織在內部部署資料中心上部署 AI 工作負載。但是,隨著 AI 應用程式變得越來越複雜,它們需要更多的運算能力和儲存空間。重新用於 AI 工作負載時,叢集運算會建立大量超級電腦網路,可以在其上執行 AI 工作負載。超級電腦不是由 CPU 提供支援,而是由 GPU 和 TPU 提供支援以滿足高運算需求。此類叢集架構 (也稱為 AI 超叢集) 可讓組織建置、部署和擴展深度學習、自治系統、大數據分析與其他 AI 應用程式。
AWS 如何支援您的叢集運算要求?
AWS Parallel Computing Service (AWS PCS) 是一項受管服務,可讓您在 AWS 上執行和擴展高效能運算 (HPC) 工作負載。您可以使用 AWS PCS:
- 藉助內建管理和可觀測性功能簡化叢集操作。
- 建置整合 AWS 運算、儲存、聯網和視覺化的運算叢集。
- 執行模擬或建置科學和工程模型。
Elastic Fabric Adapter (EFA) 是用於在 Amazon EC2 執行個體上執行的運算節點的網路介面。其定製介面可提升執行個體間通訊的效能,這對於擴展叢集運算應用程式至關重要。
AWS ParallelCluster 是一種開放原始碼叢集管理工具,可讓您輕鬆部署和管理 Amazon EC2 叢集。您可使用簡單的圖形使用者介面 (GUI) 或文字檔案,以自動化且安全的方式建模和佈建 HPC 應用程式所需的資源。
立即建立免費帳戶,開始在 AWS 上使用叢集運算。