不知不覺之間,亞馬遜雲科技的計算、存儲與網路容量租賃業務已經運營了近二十年時間。時至今日,很多朋友仍然有個誤解,認為亞馬遜雲科技只是亞馬遜旗下的一家子公司,專以硬體資源租賃為核心業務。但如今,出租第三方軟體(包括作業系統、中間件、資料庫以及應用程序)已經在亞馬遜雲科技的收入中占據半壁江山,該公司的託管服務業務也一直在保持增長。
事實上,當下我們已經很難在硬體、軟體和服務之間劃分出明確的邊界。可能也正因為如此,亞馬遜才沒有在其雲業務的季度財報當中給出清晰分類。亞馬遜雲科技最近公布的一項全新超級計算託管服務,則進一步模糊了這條邊界。唯一可以肯定的,就是亞馬遜雲科技將繼續為客戶承擔起越來越多的IT複雜性要素,並藉此換取可觀的經濟回報。
新的並行計算服務屬於亞馬遜雲科技於2016年公布的AWS ParallelCluster雲超級電腦項目的擴展版本,而這距離當時全球最大的在線書店發布EC2計算加S3對象存儲、並掀起第三波務實主義計算浪潮(且最終取得成功)僅僅過去了十年時間。
憑藉上周公布的這項並行計算服務,亞馬遜雲科技的技術人員和自動化工具可以藉助其基礎設施之上的高性能計算(HPC)及AI客戶設置並管理由亞馬遜計算、存儲和網路資源所構成的集群,同時配合開源Slurm工作負載管理器及集群調度程序進行控制。
Slurm的全稱為單一Linux資源管理實用程序(Single Linux Utility for Resource Management),最初是由蘿倫斯利弗莫爾國家實驗室開發而成,旨在為高性能計算集群的管理工作提供開源工具,也是目前得到廣泛應用的集群管理器及工作負載控制器之一。全球約有半數超級電腦集群,都在使用Slurm管理運行在超算設施之上的應用程序。自2010年以來,Slurm的開發工作一直由SchedMD牽頭,這家公司還為這款工作負載管理器提供商業級支持。除此之外,包括全球多處超大規模高性能計算中心在內的其他組織也在為Slurm的項目發展做出貢獻。
根據亞馬遜雲科技高級計算及模擬業務總經理、前Inktank Ceph塊存儲系統工程總監Ian Colle介紹,亞馬遜雲科技正在將所有高性能計算工作負載管理器以插件形式引入這項新服務。Altair PBS Pro及Altair Grid Engine(來自2020年9月對Univa的收購)可以根據需求插入該並行計算服務,IBM的Spectrum LSF(2011年10月通過收購Platform Computing獲得)、Bright Cluster Manager(由英偉達於2022年1月收購獲得)以及Adaptive Computing的Moab(此前一直沒有得到雲服務商或者超大規模基礎設施運營商的廣泛採用)也均可順暢接入。
Colle在採訪中解釋稱,「我們正與各方積極討論,思考如何做出有意義的探索。這項服務的基本思路,就是幫助那些已經圍繞特定工作負載管理器構建起單體腳本庫及完整工作流程的客戶減少業務摩擦。他們則在交流中表示,如果想要將他們的工作負載遷移到雲端,我們就必須拿出更加簡便易行的解決方案。」
亞馬遜雲科技已經有數千家客戶將傳統高性能計算的模擬和建模類工作負載遷移到雲端,因此我們有理由懷疑其中不少客戶已經在使用預配置的AWS ParallelCluster高性能計算系統。AWS ParallelCluster採用AMD/英特爾X86計算實例,以及亞馬遜原研的Graviton Arm CPU作為其計算引擎。AWS ParallelCluster實例還可以通過英偉達和AMD GPU加速器,以及亞馬遜自家的Trainium加速器實現增強,從而在AI訓練場景下擁有更強的性能表現。
AWS ParallelCluster中使用的亞馬遜雲科技實例,將通過由雲巨頭開發的以太網Elastic Fabric Adapter實現互連,其中還包括對網路上ROMA內存尋址的支持。AWS ParallelCluster包含一套基於開源Lustre技術棧的託管並行文件系統,名為FSx。
下圖所示,為用於計算流體動力學的Simcenter Star-CCM 應用程序在AWS ParallelCluster上的設置方式:

問題的關鍵也就在這裡。這些ParallelCluster多雲HPC系統還搭配有AWS Batch——屬於運行在Kubernetes容器之內的容器化高性能計算與AI工作負載之上的一層,負責管理AWS ParallelCluster上各pod應用程序的具體部署方式。雖然一部分高性能計算客戶已經轉向Kubernetes容器,但仍有相當數量的客戶繼續在集群上以裸機模式運行這類負載,且明確表示不願為了雲遷移而額外將Kubernetes引入其工作流程。也就是說,相當一部分客戶只接受在集群之上使用SLurm進行應用程序調度,而不打算把自己的應用程序強行塞進AWS Batch。他們對於Slurm的認可和堅持,也迫使亞馬遜雲科技不得不同時支持Slurm和AWS Batch——我們猜測在多數情況下,客戶還是會優先選擇Slurm而非後者。
HPC集群的設置流程相對簡單,但後續升級卻往往非常麻煩。根據Colle的介紹,這也是Slurm如今以服務形式向客戶交付的一大理由。
Colle解釋道,「高性能計算用戶面臨的核心挑戰之一,就是每次升級時都必須關閉整個集群,再修復所有版本的軟體才能全面完成內容升級,之後再重新啟動。而如今,憑藉我們提供的託管Slurm服務,亞馬遜雲科技將為客戶們承擔起所有這些問題,並且能夠在後台以極短的停機時間完成升級。我們進一步消除了長久以來所強調的所謂「無差別繁重工作」,將這部分負擔從客戶肩頭卸下,並轉手交由服務來打理。」
另外一個好處,在於客戶可以繼續保持當前本地高性能計算集群的使用習慣,以完全相同的命令來運行自己在亞馬遜雲科技設施上租用的雲集群。他們還能在雲端實現一系列根本不可能在本地實現的操作,例如:同時啟動大量節點、以更快速度運行自己的作業,甚至是保存模擬數據後關閉、而後在需要時再次啟動。而且只要他們針對Slurm進行了特殊調整以設置並跟蹤資源分配,那麼在未來啟動AWS ParallelCluster容量時,所有這些也都將隨之轉移。
這項並行計算服務現已在美國東部(俄亥俄州)、美國東部(北弗吉尼亞州)、美國西部(俄勒岡州)、歐洲(法蘭克福)、歐洲(斯德哥爾摩)、歐洲(愛爾蘭)、亞太地區(雪梨)、亞太地區(新加坡)以及亞太地區(東京)等區域正式上線。
Slurm服務要求客戶始終運行相應的Slurm管理節點,該節點能夠根據容量需求進行擴展和收縮,藉此限制節點的運營成本。對於被放入AWS ParallelCluster的EC2實例,客戶需要額外付費才能使用Slurm。Colle表示根據用例和實例的具體情況,客戶可能需要為該集群額外承擔5%到10%之間的成本。Colle同時強調,從目前的情況看,早期採用客戶並沒有被Slurm方案的這份額外成本所阻礙,反而樂於享受這份增值服務。