最近一段時間以來,高性能計算集群方案到底應該自主構建還是直接購買的爭論可謂如火如荼,其部分原因在于原本屬于市場空白的性能與軟件生態系統關鍵性組成部分如今已經逐漸落實到位。
經過數年的發展演變,如今高性能計算在云環境下的可行性終于得到了一定程度的肯定——至少針對一部分應用程序是如此。在大型云服務供應商已經利用更為強大的網絡與處理器方案向高性能計算作出了試探性延伸的同時,以Rescale公司為代表的其它廠商也開始通過自己的許可模式幫助獨立軟件開發商接觸高性能計算代碼,進而揭開長久以來蒙住高性能計算軟件的這層神秘面紗。不過需要強調的是,目前將高性能計算負載運行在云環境當中仍然存在著諸多難題,到底該將哪些負載交給內部高性能計算集群打理,同時把另一些可能存在突發性資源需求增長的負載交由云基礎設施負責,從而充分利用雙方的固有優勢仍然很難找到確切答案。
根據The Platform網站最近發布的一篇文章,我們可以看到在高性能計算領域,整體設施的構建、采購以及機房共置等任務確實難于完成。為了能夠更透徹地理解這兩種觀點的思維方式,我們采用了Rescale方面提供的一些數字——這是一家高性能計算云服務供應商(如前所述,主要負責將軟件與高性能計算獨立軟件開發商相對接方面的工作)。
下面提到的各項數字來自Rescale公司對于內部高性能計算集群與租賃云供應商容量及許可所進行的一次成本比較。這些數字體現了一臺典型的中端集群在處理高性能計算工作負載時所帶來的使用成本——注意,這里并沒有考慮任何高端處理器或者加速方案。在一篇探討高性能計算云服務使用成本的文章中,Rescale公司CEO Joris Poort解釋稱,這主要是為了體現最終用戶的中位成本水平——一部分需要高到極致的性能表現,另一些則更關注成本因素,因此這些數字僅作為基準參考。當然,一旦新型Haswell處理器或者InfiniBand等其它高成本要素被加入進來,基礎成本無疑將顯著提高——特別是在采購集群設備的頭一年時間當中。
在以上配置條件下,用戶在物理數據中心內運維一臺典型的100節點集群,則每月需要承擔近7萬美元固定成本,其中約1萬6千美元被用在了能源消耗及冷卻方面開支當中。Poort提供的統計數字當中還包含一位負責管理該集群的全職工程師的薪酬。他同時強調稱,對于大多數用戶、甚至是已經開始向云端過渡的用戶而言,這一職位都仍然切實存在,因為企業內部往往繼續運行著大量工作負載。
接下來我們可以看到Poort所提供的典型集群的具體成本構成:
這僅僅是集群運維方面的支出,Poort表示實際情況還應當考慮到集群的整體擁有成本,包括技術支持團隊以及其它服務項目所帶來的超出表格范疇之外的支出,其每月整體成本約為11萬美元。有趣的是,硬件相關成本僅為4萬美元左右,但其它運維(包括供電、人員以及其它相關費用)卻高達7萬美元之巨。
這個數字聽起來確實不低,尤其是考慮到企業往往會把為高性能計算資源準備的預算按部門加以進一步劃分。舉例來說,在某些企業當中,帶寬方面的成本預算被納入到整體帶寬使用量監控機制當中。電力消耗也是如此,這部分支出往往并不會被直接劃撥給高性能計算集群,因為數據中心內部還包含有其它設備所帶來的能源成本。雖然這些資金都會由企業負責提供,但Poort表示直接列出數字的方式更加容易理解——此處的統計結果屬于將各項開銷直接累加得到的總和,其中可能也包括一部分被算在高性能計算部門頭上的、實際由其它部門使用的支出項目。
考慮到這一點,將整體成本準確拆分為每小時運營開支確實有些難度,特別是考慮到多數情況下我們往往只能基于不同硬件單獨進行計算。換言之,計算結果中往往缺失了前面所列舉的整體運營與數據中心日常成本。在這里我們姑且將滿載運轉情況下的每計算核心使用成本按照每小時10美分計算,當然不同企業由于情況有別、計算結果則可能出現明顯差異。“如果大家只加入電力消耗費用而沒有包含整體數據中心成本,那么每計算核心每小時的使用成本可能只需要5美分。這從表面上看似乎沒什么差別,但這樣的成本水平已經比我們的計算方式高出25%——再加上其它設施支出與元素所帶來的負擔,最終差異將極為明顯,”Poort解釋道。這種節約效果可能稱不上立竿見影,但卻絕對是兩種方案之間的重要差別,而且隨著時間的推移、這種差別將愈發顯著。
美中不足的是,每計算核心每小時10美分的使用成本只適用于滿負載運轉這一假定前提之下,具體如下表所示。“在評估此類成本時經常出現的另一大誤區在于,當人們審視自己在云環境下使用服務器的開銷時,往往會單純從表面理解、認為其成本比親自購買服務器并接入基礎設施更高。有鑒于此,我們需要強調一點,也就是資源利用率方面的差別——在云環境下,我們可以隨時開啟并關閉自己租賃的設備。而在非使用時段中,它們完全不會帶來任何成本,”Poort指出。
換句話來說,作為一套典型的內部系統方案,大部分高性能計算工程技術團隊更傾向于采取最高容量規格以應對資源需求峰值,畢竟能夠將全部資源投入產品開發往往比保持100%資源利用率更加重要。“很多企業已經意識到,他們目前的實際資源利用率恐怕只有60%到70%。但這種容量設置對自身而言確實非常明智,因為他們需要滿足峰值容量提出的資源需求——工程師們可一刻都等不得。”
這就回到了Poort之前提到的觀點,即對于高性能計算客戶而言,最理想的用例應該能夠將內部資源與基于云的容量加以結合,從而在輕松應對峰值需求的同時利用現有硬件投資平衡實際運營成本。他并不指望企業客戶會將全部關鍵性高性能計算工作負載都投入到云環境下。不過在他看來,利用云服務所提供的各類硬件與軟件工具來擴展企業現有容量絕對是個理想的選擇。
最后需要強調的是,除了可觀的全球資源儲備之外、Rescale公司還在軟件許可方面擁有豐富的搭配組合,足以幫助獨立軟件開發商擺脫那些昂貴而復雜的高性能計算工程軟件。對于用戶來說,以小時為單位支付軟件許可費用顯然極為重要、甚至可算是一種獨特優勢。盡管這一點在上述表格當中并沒能得到明確體現——特別高性能計算系統與具體工作負載的實際差異讓我們很難為其制定一種準確的衡量基準,但相信用戶對其重要價值絕對有所理解。
原文標題:The Cloud Versus HPC Cluster Cost Conundrum