超算即服務:超級計算機如何上雲
導彈和軍用直升機上的電子設備需要工作在極端條件下。美國國防承包商 麥考密克·史蒂文森公司 在部署任何物理設備之前都會事先模擬它所能承受的真實條件。模擬依賴於像 Ansys 這樣的有限元素分析軟體,該軟體需要強大的算力。
幾年前的一天,它出乎意料地超出了計算極限。
麥考密克·史蒂文森公司的首席工程師 Mike Krawczyk 說:「我們的一些工作會使辦公室的計算機不堪重負。購買機器並安裝軟體在經濟上或計划上都不划算。」相反,他們與 Rescale 簽約,該公司銷售其超級計算機系統上的處理能力,而這隻花費了他們購買新硬體上所需的一小部分。
麥考密克·史蒂文森公司已成為被稱為超級計算即服務或高性能計算即服務(兩個緊密相關的術語)市場的早期採用者之一。根據國家計算科學研究所的定義,HPC 是超級計算機在計算複雜問題上的應用,而超級計算機是處理能力最先進的那些計算機。
無論叫它什麼,這些服務都在顛覆傳統的超級計算市場,並將 HPC 能力帶給以前負擔不起的客戶。但這不是萬能的,而且絕對不是即插即用的,至少現在還不是。
HPC 服務實踐
從最終用戶的角度來看,HPC 即服務類似於早期大型機時代的批處理模型。 「我們創建一個 Ansys 批處理文件並將其發送過去,運行它,然後將結果文件取下來,然後導入到本地,」 Krawczyk 說。
在 HPC 服務背後,雲提供商在其自己的數據中心中運行超級計算基礎設施,儘管這不一定意味著當你聽到「超級計算機」時你就會看到最先進的硬體。正如 IBM OpenPOWER 計算技術副總裁 Dave Turek 解釋的那樣,HPC 服務的核心是「相互互連的伺服器集合。你可以調用該虛擬計算基礎設施,它能夠在你提出問題時,使得許多不同的伺服器並行工作來解決問題。」
理論聽起來很簡單。但都柏林城市大學數字商業教授 Theo Lynn 表示,要使其在實踐中可行,需要解決一些技術問題。普通計算與 HPC 的區別在於那些互聯互通 —— 高速的、低延時的而且昂貴的 —— 因此需要將這些互連引入雲基礎設施領域。在 HPC 服務可行之前,至少需要將存儲性能和數據傳輸也提升到與本地 HPC 相同的水平。
但是 Lynn 說,一些制度創新相比技術更好的幫助了 HPC 服務的起飛。特別是,「我們現在看到越來越多的傳統 HPC 應用採用雲友好的許可模式 —— 這在過去是阻礙採用的障礙。」
他說,經濟也改變了潛在的客戶群。「雲服務提供商通過向那些負擔不起傳統 HPC 所需的投資成本的低端 HPC 買家開放,進一步開放了市場。隨著市場的開放,超大規模經濟模型變得越來越多,更可行,成本開始下降。」
避免本地資本支出
HPC 服務對傳統超級計算長期以來一直佔據主導地位的私營部門客戶具有吸引力。這些客戶包括嚴重依賴複雜數學模型的行業,包括麥考密克·史蒂文森公司等國防承包商,以及石油和天然氣公司、金融服務公司和生物技術公司。都柏林城市大學的 Lynn 補充說,松耦合的工作負載是一個特別好的用例,這意味著許多早期採用者將其用於 3D 圖像渲染和相關應用。
但是,何時考慮 HPC 服務而不是本地 HPC 才有意義?對於德國的模擬煙霧在建築物中的蔓延和火災對建築物結構部件的破壞的 hhpberlin 公司來說,答案是在它超出了其現有資源時。
Hpberlin 公司數值模擬的科學負責人 Susanne Kilian 說:「幾年來,我們一直在運行自己的小型集群,該集群具有多達 80 個處理器核。……但是,隨著應用複雜性的提高,這種架構已經越來越不足以支撐;可用容量並不總是夠快速地處理項目。」
她說:「但是,僅僅花錢買一個新的集群並不是一個理想的解決方案:鑒於我們公司的規模和管理環境,不斷地維護這個集群(定期進行軟體和硬體升級)是不現實的。另外,需要模擬的項目數量會出現很大的波動,因此集群的利用率並不是真正可預測的。通常,使用率很高的階段與很少使用或不使用的階段交替出現。」通過轉換為 HPC 服務模式,hhpberlin 釋放了過剩的產能,並無需支付升級費用。
IBM 的 Turek 解釋了不同公司在評估其需求時所經歷的計算過程。對於擁有 30 名員工的生物科學初創公司來說,「你需要計算,但你真的不可能讓 15% 的員工專門負責計算。這就像你可能也會說你不希望有專職的法律代表,所以你也會把它作為一項服務來做。」不過,對於一家較大的公司而言,最終歸結為權衡 HPC 服務的運營費用與購買內部超級計算機或 HPC 集群的費用。
到目前為止,這些都是你採用任何雲服務時都會遇到的類似的爭論。但是,可以 HPC 市場的某些特殊性將使得衡量運營支出(OPEX)與資本支出(CAPEX)時選擇前者。超級計算機不是諸如存儲或 x86 伺服器之類的商用硬體;它們非常昂貴,技術進步很快會使其過時。正如麥考密克·史蒂文森公司的 Krawczyk 所說,「這就像買車:只要車一開走,它就會開始貶值。」對於許多公司,尤其是規模較大,靈活性較差的公司,購買超級計算機的過程可能會陷入無望的泥潭。IBM 的 Turek 說:「你會被規劃問題、建築問題、施工問題、培訓問題所困擾,然後必須執行 RFP。你必須得到 CIO 的支持。你必須與內部客戶合作以確保服務的連續性。這是一個非常、非常複雜的過程,並沒有很多機構有非常出色的執行力。」
一旦你選擇走 HPC 服務的路線,你會發現你會得到你期望從雲服務中得到的許多好處,特別是僅在業務需要時才需付費的能力,從而可以帶來資源的高效利用。Gartner 高級總監兼分析師 Chirag Dekate 表示,當你對高性能計算有短期需求時,突發性負載是推動選擇 HPC 服務的關鍵用例。
他說:「在製造業中,在產品設計階段前後,HPC 活動往往會達到很高的峰值。但是,一旦產品設計完成,在其餘產品開發周期中,HPC 資源的利用率就會降低。」 相比之下,他說:「當你擁有大型的、長期運行的工作時,雲計算的經濟性才會逐漸減弱。」
通過巧妙的系統設計,你可以將這些 HPC 服務突發活動與你自己的內部常規計算集成在一起。 埃森哲 實驗室常務董事 Teresa Tung 舉了一個例子:「通過 API 訪問 HPC 可以與傳統計算無縫融合。在模型構建階段,傳統的 AI 流水線可能會在高端超級計算機上進行訓練,但是最終經過反覆按預期運行的訓練好的模型將部署在雲端的其他服務上,甚至部署在邊緣設備上。」
它並不適合所有的應用場景
HPC 服務適合批處理和松耦合的場景。這與一個常見的 HPC 缺點有關:數據傳輸問題。高性能計算本身通常涉及龐大的數據集,而將所有這些信息通過互聯網發送到雲服務提供商並不容易。IBM 的 Turek 說:「我們與生物技術行業的客戶交流,他們每月僅在數據費用上就花費 1000 萬美元。」
而錢並不是唯一的潛在問題。構建一個利用數據的工作流程,可能會對你的工作流程提出挑戰,讓你繞過數據傳輸所需的漫長時間。hhpberlin 的 Kilian 說:「當我們擁有自己的 HPC 集群時,當然可以隨時訪問已經產生的模擬結果,從而進行互動式的臨時評估。我們目前正努力達到在模擬的任意時刻都可以更高效地、交互地訪問和評估雲端生成的數據,而無需下載大量的模擬數據。」
Mike Krawczyk 提到了另一個絆腳石:合規性問題。國防承包商使用的任何服務都需要遵從《國際武器交易條例》(ITAR),麥考密克·史蒂文森公司之所以選擇 Rescale,部分原因是因為這是他們發現的唯一符合的供應商。如今,儘管有更多的公司使用雲服務,但任何希望使用雲服務的公司都應該意識到使用其他人的基礎設施時所涉及的法律和數據保護問題,而且許多 HPC 場景的敏感性使得 HPC 即服務的這個問題更加突出。
此外,HPC 服務所需的 IT 治理超出了目前的監管範圍。例如,你需要跟蹤你的軟體許可證是否允許雲使用 —— 尤其是專門為本地 HPC 群集上運行而編寫的軟體包。通常,你需要跟蹤 HPC 服務的使用方式,它可能是一個誘人的資源,尤其是當你從員工習慣的內部系統過渡到有可用的空閑的 HPC 能力時。例如,Avanade 全球平台高級主管兼 Azure 平台服務全球負責人 Ron Gilpin 建議,將你使用的處理核心的數量回撥給那些對時間不敏感的任務。他說:「如果一項工作只需要用一小時來完成而不需要在十分鐘內就完成,那麼它可以使用 165 個處理器而不是 1,000 個,從而節省了數千美元。」
對 HPC 技能的要求很高
一直以來,採用 HPC 的最大障礙之一就是其所需的獨特的內部技能,而 HPC 服務並不能神奇使這種障礙消失。Gartner 的 Dekate 表示:「許多 CIO 將許多工作負載遷移到了雲上,他們看到了成本的節約、敏捷性和效率的提升,因此相信在 HPC 生態中也可以達成類似的效果。一個普遍的誤解是,他們可以通過徹底地免去系統管理員,並聘用能解決其 HPC 工作負載的新的雲專家,從而以某種方式優化人力成本。」對於 HPC 即服務來說更是如此。
「但是 HPC 並不是一個主流的企業環境。」 他說。「你正在處理通過高帶寬、低延遲的網路互聯的高端計算節點,以及相當複雜的應用和中間件技術棧。許多情況下,甚至連文件系統層也是 HPC 環境所獨有的。沒有對應的技能可能會破壞穩定性。」
但是超級計算技能的供給卻在減少,Dekate 將其稱為勞動力「老齡化」,這是因為這一代開發人員將目光投向了新興的初創公司,而不是學術界或使用 HPC 的更老套的公司。因此,HPC 服務供應商正在盡其所能地彌補差距。IBM 的 Turek 表示,許多 HPC 老手將總是想運行他們自己精心調整過的代碼,並需要專門的調試器和其他工具來幫助他們在雲端實現這一目標。但是,即使是 HPC 新手也可以調用供應商構建的代碼庫,以利用超級計算的並行處理能力。第三方軟體提供商出售的交鑰匙軟體包可以減少 HPC 的許多複雜性。
埃森哲的 Tung 表示,該行業需要進一步加大投入才能真正繁榮。她說:「HPCaaS 已經創建了具有重大影響力的新功能,但還需要做的是使它易於被數據科學家、企業架構師或軟體開發人員使用。這包括易用的 API、文檔和示例代碼。它包括解答問題的用戶支持。僅僅提供 API 是不夠的,API 需要適合特定的用途。對於數據科學家而言,這可能是以 Python 形式提供,並容易更換她已經在使用的框架。價值來自於使這些用戶能夠通過新的效率和性能最終使他們的工作得到改善,只要他們能夠訪問新的功能就可以了。」 如果供應商能夠做到這一點,那麼 HPC 服務才能真正將超級計算帶給大眾。
作者:Josh Fruhlinger 選題:lujun9972 譯者:messon007 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive