高效能運算 (HPC) 是一種匯總運算資源的方式,可以比單一工作站、伺服器或電腦的效能更上一層樓。HPC 可以採用客製化超級電腦,或稱為「叢集」的個別電腦群組。HPC 可以在地端部署、雲端或混合兩者執行。叢集中的每部電腦通常稱為「節點」,每個節點負責不同的工作。控制器節點會執行必要服務,並協調節點之間的工作。互動式節點或登入節點則作為使用者登入的主機 (透過圖形使用者介面或指令列)。運算節點會執行運算作業。演算法和軟體會在叢集的各個節點上同時執行,協助執行指定工作。HPC 通常有三個主要元件:運算、儲存空間和網路。
有了 HPC,公司和研究人員可以匯總運算資源來解決因標準電腦無法無法單獨處理的問題或處理時間太長的問題。因此,HPC 有時也被稱為超級運算。
HPC 可用來解決學術研究、科學、設計、模擬和商業智慧中的問題。HPC 能快速處理大量資料,造福現今社會最基本的部分,例如銀行能夠同時驗證數百萬筆信用卡交易的詐欺行為、汽車製造商能夠測試汽車設計的碰撞安全性,或是瞭解明天的天氣狀況。
進一步瞭解 Google 的 HPC。
高效能運算三大要素:
基本上,HPC 系統的節點 (運算) 會連線至其他節點,以便同時執行演算法和軟體,接著再與資料伺服器 (儲存空間) 連接 (網路) 以擷取輸出結果。由於 HPC 專案往往龐大且複雜,系統的節點通常必須彼此交換運算結果,也就是說,節點和儲存系統之間需要快速磁碟、高速記憶體,以及低延遲、高頻寬的網路。
HPC 通常可以分為兩種一般設計類型:叢集運算和分散式運算。
平行運算是指一組電腦 (叢集) 一起運作,例如實體和網路拓撲中彼此靠近放置的一組相連伺服器,以大幅度地減少節點之間的延遲。
分散式運算模型可連結網路中的多部電腦的運算能力,該網路可能是位於單一位置 (通常是地端部署系統) 或是分散在多個位置 (可能包括地端部署硬體和雲端資源)。
此外,HPC 叢集可以區分同質與異質硬體模型。在同質叢集中,所有機器都具有相似的效能和設定,且通常會視為相同且可互換。在異質叢集中,存在具有不同特性 (高 CPU 核心數、GPU 加速等) 的硬體集合。因此,當節點被分配任務以充分利用其獨特優勢時,系統就會得到最佳利用。
HPC 環境中的工作負載通常有兩種類型:鬆耦合和緊耦合。
鬆耦合的工作負載 (通常稱為平行或高處理量工作) 由可以在系統中同時執行的獨立工作組成。這些工作可能共用公共儲存空間,但並不依賴結構定義,因此在完成工作時不需要彼此溝通結果。鬆耦合工作負載的一個範例是在長片中渲染電腦生成影像 (CGI),其中影片的每一幀都獨立於其他幀進行渲染,儘管它們共享相同的輸入資料 (例如背景和 3D 模型)。
緊耦合的工作負載由許多小型程序組成,每個程序都由叢集中的不同節點處理,而這些程序彼此之間會相互依賴,以完成整體工作。緊耦合的工作負載通常需要在節點之間提供低延遲網路,以及共用記憶體和儲存空間的快速存取。這些工作負載的處理序間通訊是由訊息傳遞介面 (MPI) 使用 OpenMPI 和 Intel MPI 等軟體來處理。舉例來說,天氣預報就是種緊耦合工作負載。它涉及了以物理為基礎的動態和跨相依系統模擬,包括溫度、風流、壓力、降水等。在此情況下,每個叢集節點可能會針對不同的天氣因素運算部分解決方案,以促成整體預測。
您可透過專用設備、在地端部署、雲端或兩者混合的環境中執行 HPC。
雲端的 HPC 具有靈活性和擴充性的優勢,而無需購買和維護昂貴的專用超級電腦。雲端的 HPC 會提供執行資料儲存、網路解決方案、特殊運算資源、安全性和人工智慧應用程式等大型複雜工作所需的一切基礎架構。工作負載可以隨需執行,也就是說,機構能在需要時只使用必要的資源,在設備和運算週期上節省成本。
選擇在雲端執行 HPC 的幾個常見考量因素包括:
延遲時間和頻寬:由於在 HPC 工作負載中運作的資料量很大,雲端服務供應商必須提供強大的低延遲網路功能 (超過每秒 100 GB)。
效能:與不斷更新系統以提高效能的供應商合作 (特別是在電腦處理器、儲存空間解決方案和網路功能方面),雲端的 HPC 成效最佳。
永續發展:HPC 是一種資源密集型運算形式,相較於一般工作負載,需要更多的電力。地端部署高效能電腦每年可能須消耗數百萬美元的能源。以再生能源為優先考量的公有雲 (例如 Google Cloud) 可降低 HPC 對能源造成的影響。
儲存空間:由於大多數 HPC 工作的規模,因此在執行 HPC 工作負載時,可擴充的資料儲存空間是相當重要的考量因素。能夠輕鬆儲存及管理大量資料的雲端服務供應商 (例如透過 Google 的代管儲存空間服務,包括 Filestore 或 Managed Lustre) 在 HPC 方面具有優勢。
安全性:採用私人代管的全球基礎架構的雲端服務供應商,可確保資料和應用程式暴露在公開網際網路的風險最小。虛擬私有雲 (VPC) 網路可讓節點相互連線,並可為 HPC 應用程式設定防火牆。機密運算功能支援使用中的資料加密,以及靜態資料加密和傳輸中的資料加密。
速度與效能
高效能運算能比單一伺服器或電腦更快處理資料和工作。HPC 中需要數小時的工作,一般運算系統可能需要數週或數月才能完成。
彈性和效率
透過雲端的 HPC,您可以視需求調整工作負載的資源配置。透過穩定的網際網路連線,全球任何地方都能存取 HPC。
節省費用
由於雲端的 HPC 速度、靈活性和效率,機構可以節省運算資源和人力作業的時間與費用。
容錯功能
如果 HPC 叢集的一個節點故障,系統具備足夠的彈性,可讓系統的其餘部分不會當機。由於 HPC 執行的工作十分龐大且複雜,容錯是一大優勢。
加速研發
HPC 透過加速資料密集專案的結果 (例如藥物建模、設計新機器和零件,或模擬實驗以減少物理測試),為進行研發的公司帶來優勢。
初始費用
on-premises HPC 叢集和超級電腦的初始成本很高。考慮到設備、人力、軟體和設定成本之後,大多數組織都無法實現 on-premises HPC。
能源消耗量
on-premises 超級電腦安裝的能源成本可能會相當高。對於重視環境和成本意識的公司而言,在全球最乾淨的雲端環境執行 HPC,可以實現永續發展。
維護
HPC 在最新一代硬體和最佳化軟體上執行的效果最佳。讓 on-premises HPC 叢集或超級電腦保持在最新狀態以確保最佳效能,可能很快就會成為一項巨大且持續的開支。
現代生態系統中有大量資料,以及用於分析資料的運算密集工具。有了 HPC,企業和機構能及時處理所有資料,進而推動全新的深入分析結果、創新技術和科學發現。這可協助公司預測業務情境、預測市場波動,並提供建議。與此同時,醫療領域也正透過雲端中易於存取的 HPC 進行變革,幫助模擬潛在的爆發、解碼癌細胞的基因組,以及瞭解疾病的演變方式。
簡單來說,HPC 正在加快科學、技術和商業的發展速度,幫助人類創造更繁榮的未來。
以下列舉幾種高效能運算的應用實例。
研究
HPC 應用在學術和科學研究領域,可協助分析及計算大型資料集 (例如天文成像資料、材料設計、藥物研發或蛋白質動態)。
模擬
高效能運算 (HPC) 用於模擬物理情境,例如汽車碰撞、飛機機翼或發動機內部的氣流,或是新藥物與人類細胞互動的方式。
設計
製造商通常會先使用 HPC,在軟體中設計及模擬飛機、手機和汽車等新產品,然後再建立實體原型,加快製造流程。電腦晶片製造商會先使用 HPC 為全新晶片設計進行建模,再進行原型設計。
最佳化
HPC 可以協助最佳化難以解決的大型資料集,例如金融投資組合或最有效率的運輸與物流路線。
預測
HPC 可以處理複雜的大型資料集,並及時進行預測。許多航太公司會使用 HPC 預測機器需要維護的時間。氣象預測資料都是以高效能運算技術執行,方便氣象學家預測風暴,以及模擬氣候變遷。
資料分析
HPC 可以分析龐大的資料集。在資料分析方面,HPC 可協助分配處理作業,更快回應查詢,進而即時偵測信用卡詐欺行為,並執行其他具時效性的程序。