高性能計算工作負載遷移到云中的CIO指南
英國氣象局所選擇的是來自非傳統供應商的傳統超級計算機:在Azure上選了四個Cray EX系統,這樣做可以“減少購買超級計算機所花的時間,而是更多地利用超級計算機”,引號內出自氣象局IT研究員Richard Lawrence。
這樣做除了跳過通常的多年采購周期外還購買了靈活性,還可以更方便地在未來對高性能計算(HPC)工作負載做出不同的選擇,比購買自己的硬件要快得多。市場研究和咨詢公司Gartner建議,將HPC遷移到云端可以提供一個機會,可以擺脫處理數據分析時的內部孤島,對那些通常可以追溯到20年或更久的做法現代化。
云HPC的優點和缺點
公共云供應商能夠提供對Cray硬件的訪問使得公共云供應商具有可信度,表明他們了解HPC用戶中要求最高的那部分人的需求。但這也為云HPC的好處提供了一個墊腳石,這樣一來就需要使用Linux服務器集群來處理要求嚴格的擴展工作負載,而且還有人們更熟悉的云的優勢:靈活性、敏捷性和低門檻。
Forrester公司的高級分析師Tracy Woo告訴記者,“最大的一件事是能夠選擇異構的而不是同構的基礎設施。HPC基礎設施的高成本意味著大多數買家會選擇一個單一品牌,這樣他們就可以談交易,每一個工作負載都必須在這個品牌上運行,無論這個配置是否合適。你使用你所擁有的東西,即使它不是你特別需要的。而有了公共云后,你就可能得到想要或需要的每一個基礎設施選項,可以滿足你的具體使用情況。”
云HPC能讓你準確地指定應用程序的需求,可以提供熟悉的英特爾和AMD處理器以及價格較低的Arm處理器的組合,配置快速的CPU和GPU、密集的內核數量和高內存內核。你還可以獲得大多數組織沒有預算或專業知識的硬件加速器,可以馬上輕松地進行試驗。
Woo指出,“我不再需要在基礎設施設備上花費數十萬美元——在某些情況下甚至是數百萬美元,而只需要一張信用卡就可以運行需要HPC的計算或特定分析,用幾個小時就夠了。”你還可以為每個工作負載甚至每個任務挑選合適的基礎設施,而且可以在新硬件到達市場時對其進行基準測試,而不是等待下一個更新周期。
但這種靈活性也可能令人困惑,Woo警告說,多選擇會引起“分析癱瘓”,一個幫助組織做出這些選擇的工具和平臺產業正在興起。
英偉達公司HPC和量子產品總監Timothy Costa表示同意并表示,“管理員擁有巨大的選擇自由,但也必須深入了解他們所選擇的云供應商的獨特架構。例如,他們可以在高速網絡上組合各種計算硬件,進而優化其基礎設施設 計,但并不是所有地區都具備所有類型的硬件。”
確定更適合于云計算的HPC工作負載
根據Hyperion Research的數據,2019年里在云中運行的HPC工作負載比例翻了一番,從10%增加到20%。Gartner將云HPC評為高收益的選擇,離主流采用只有2-5年的時間了。
制造業和生命科學是最早將HPC轉移到云端的行業,而且仍然是增長最快的分市場。Costa表示,這些工作負載往往是“高度并行化的代碼或工作組合,對單個任務失敗的容忍度很高以及對執行位置的要求不高”,他表示,金融、氣象、航空航天和政府實驗室正在增加對云HPC的使用,高等教育也一樣。
對于一些“性能與成本的關系比絕對運行時間更重要的長尾HPC工作負載”來說,云HPC是一個特別好的選擇,你可以花時間建立云基礎設施,以達到成本最小化(或用于一些“需在內部部署不能提供的硬件上運行而獲得巨大利益”的代碼)的目的。
一些為云計算IaaS建立的超大規模數據中心優先考慮的優化措施與HPC超級計算機的優化措施不同的:超大規模數據中心是將虛擬機分散在整個數據中心,借此達到實現彈性和故障轉移的目的,但HPC是將虛擬機緊密地組合在一起,以達到獲得最快的網絡連接從而提高性能的目的。Costa表示,云HPC最適合松散耦合、非常平行的工作負載,而云網絡則“很容易滿足組合負載或參數掃描一類的HPC工作負載的需求”。
虛擬化性能對于那些習慣于裸機HPC的人來說可能是陌生的,但是在2021年11月的500強名單中,一臺建立在Azure上的虛擬超級計算機躋身世界十大最快機器之列,全部使用基于Hyper-V的虛擬機。谷歌云的首席HPC技術專家Bill Magro告訴我們,“云中的計算優化虛擬機提供接近裸機的低抖動性能,云網絡可以提供200Gbs以上的帶寬和小于10μs的延遲,并行文件系統則可以提供TB s的數據速度。”
常見的工作負載包括:
- 計算機輔助工程(例如,流體力學、燃燒、碰撞安全、結構力學等)
- 電子設計自動化
- 計算物理學和化學
- 特殊效果渲染
- 定量分析
- 風險分析
探討云結構選項
一些工作負載需要持續低延遲的高性能互連,高性能互連過去在云計算中很罕見。Woo建議,如果你的云供應商不提供這些,高性能互連更適合用你自己的基礎設施。然而,人工智能和云游戲工作負載都受益于高速互連,所以高速結構開始在云中出現。Azure在旗下所有H系列集群(用于基于CPU的HPC)和大多數N系列集群(用于基于GPU的HPC)上都提供熟悉的HPC InfiniBand互連,而AWS Elastic Fabric Adapter則用于Lustre并行文件系統。
AWS最近開始用一種新的網絡傳輸協議擴展旗下專有的Elastic Network Adapters,新的網絡傳輸協議旨在用于旗下定制的Nitro網絡適配器上,用途是作為InfiniBand的替代品:Elastic Network Adapter Express使用Scalable Reliable Datagram(SRD)而不是TCP,試圖將多租戶數據中心的許多網絡路徑變成一種優勢而不是限制。
Woo告訴我們,“網絡基礎設施確實阻礙了云計算HPC的發展,是個瓶頸,所以這是超大規模公司目前真正關注的東西。”
了解HPC云成本的關鍵
在云計算HPC這種情況下,你只需要使用(并為此買單)你需要使用的部分,但你買單的部分可能會更多一點。雖然有些估計認為云計算HPC成本比運行你自己的基礎設施高五倍,但如果你使用預訂實例或閑置實例,成本就會下降到接近另一個選項。
Costa 表示同意,“雖然云的靈活性有助于最大限度地降低整體成本,但云托管資源的絕對單位成本要高于內部部署資源。”這意味著長期運行的HPC工作負載放在內部部署資源上可以充分利用資源,所以是有道理的。另一方面,Incredibuild的首席技術官Dori Exterman認為,“不經常執行的工作負載需要在小范圍內使用大容量的資源,相對于建立一個內部部署環境,在云中的成本要低得多。”
HPC云自動化平臺Rescale建議,許多組織可以通過使用Rescale基準來挑選最合適的云硬件,提高性能并減少工作負載的成本。最適合你的工作負載的云計算可能會迅速改變,但你也可以靈活地轉換,前提是你保持對各種選項的關注。
除非你已經實施了一些收費措施或有明確的資源使用政策,否則HPC用戶可能會認為內部部署的基礎設施實際上是免費的,又或者他們可能在估計工作負載需要運行多長時間或需要多少實例時遇到困難。這些習慣帶到云HPC上就會非常昂貴,所以你需要明確的政策和指南,要說明如何為工作負載做預算。
云HPC在分流一些較小的HPC任務時特別有幫助,這些小任務通常會在資源管理隊列中停留很長時間,因為大型的、長期運行的任務通常占用很多資源,HPC基礎設施通常被這些任務霸占。這對利用率和投資回報率來說是好事,但對等待使用HPC基礎設施的團隊來說有些無奈:云HPC可以幫助這些團隊定時完成任務或運行更大、更復雜的模擬獲得更好的結果。
如果你采用突發模式利用云端混合HPC的方法,請制定一個框架來決定哪些負載應該遷移到云端以及何時遷移。
例如,Hyperion Research的云應用評估工具可以對不同的工作負載進行評分,評估這些工作負載是否適合在云中運行。
考慮數據重力和數據出口的成本
另外還需要考慮數據重力和數據出口的成本。如果數據是在本地產生的,則需要計劃如何將數據遷移到云中。如果你的HPC任務產生了數千兆字節的數據,請考慮在云中進行后續處理或分析,如此可以避免支付額外的費用才能獲取結果。Costa指出,“存儲成本可能是云計算賬單中一個令人驚訝的重要部分。”
使用任何云資源都需要良好的成本控制和FinOps工具。這對云計算HPC來說更加重要,因為賬單可能非常大,而選擇基礎設施方面時的小小變化可以節省大量資金。
但云計算主要不是為了省錢,Woo指出,“云計算事關你調整自己能力的能力、事關敏捷力、事關你使用所有這些不同服務的能力。”可能意味著更快地獲得結果,通過在相同的時間內運行更多的模擬獲得更好的結果,或者只是提高IT團隊和HPC用戶的生產力。
Costa指出,“通常HPC是IP開發的主要工具,所以HPC不能下線。用了云以后,備份、遷移和區域故障轉移都可以內置。”
云許可證的注意事項
可以使用熟悉的HPC軟件管理云許可證,例如:
- 編譯器、任務提交工具和調度器(如Altair PBSPro、SchedMD Slurm、IBM Platform LSF、Altair GridEngine和HT Condor)。
- 管理和監控工具
- 操作系統、應用程序、消息傳遞和數學庫
- 完整的解決方案,如NVIDIA Bright Cluster Manager或云OpenHPC等工具
Magro指出,“HPC用戶(通常是科學家、工程師、量化師和藝術家)訪問云HPC系統時用相同的內部部署應用程序和界面。”他警告說,“那些依賴較低層物理平臺接口的管理工具(如IPMI、Redfish或vPro)通常與云資源不兼容,除非工具的作者特別啟用了相關功能。”但他指出,像Nagios這樣的替代品可以用于云。
FinOps工具在以下領域可能會令你失望:如果你想管理你已經擁有的軟件許可證并想在云中使用這些軟件許可證,而處理企業內部部署許可證的ITAM團隊則往往缺乏云專業知識。
“自備許可證”可能會在云HPC中為你省錢,或者你會發現你的軟件供應商對云有不同的許可模式。她警告說,這是一個棘手的領域。例如,甲骨文公司以“在他家公共云之外的地方操作變得非常困難而聞名”。
你還需要考慮技能差距。“雇用一個了解公共云的人已經很難:雇用一個了解高性能計算和公共云的人就更難了”。
探索不那么傳統的HPC
但是,云HPC也可以成為在堆棧里向上移動一點的機會。
諸如谷歌的HPC云工具包一類的云HPC服務為常見的工作負載提供了藍圖,這些工具包的基礎設施是由Terraform、Ansible和Packer等熟悉的云工具定義的。
模擬是一個典型的HPC工作負載,而諸如AWS SimSpace Weaver、西門子Simcenter Cloud HPC(在AWS的即服務上運行傳統的HPC軟件)和微軟的Project AirSim(用于建造、訓練和測試自主飛機)一類的云服務令仿真變得更容易,仿真可以在不直接配置和管理基礎設施的情況下以足夠的規模運行。
另一個選擇是用原生云產品來替代或補充HPC,無論是調用API還是使用容器或無服務器平臺來分配和協調計算。美國圣地亞哥超級計算機中心就是在谷歌Kubernetes引擎中的閑置虛擬機上使用GPU共享,目的是加快南極的冰立方中微子觀測站光子代碼的運行。
對于預測和高級分析等人工智能工作負載而言,你可以通過使用預先建立但可定制的選項(如Azure認知服務,包括新的OpenAI模型)調用API,在沒有HPC基礎設施的情況下獲得類似水平的洞察力。
紅帽公司首席解決方案架構師James Read指出,用于數據驅動大規模決策的人工智能工作負載具有復雜的集成需求,通常是與企業應用一起部署,“這促進了從傳統裸機部署到基于容器部署、Kubernetes-編排的混合云平臺的轉變,HPC解決方案因而能夠部署在邊緣和云中”。
如果你在用這些云服務作為現有HPC解決方案的補充手段,那么將這一類的工作負載遷移到云中可以簡化整合。