如今,“云計算”簡單的功能,低成本的優(yōu)勢已經(jīng)成為IT業(yè)界的熱門詞匯,不管是專業(yè)人士還是廠商,都希望數(shù)據(jù)中心能發(fā)生翻天地覆的變化。HPC——高性能計算,許多相關(guān)用戶也都在貔虎其負載是否適合于部署在云環(huán)境中。之所以會意見不一,主要在于人們對于“究竟什么是云計算?”以及“什么樣的應(yīng)用算得上是HPC應(yīng)用?這問題上的答案大相徑庭。
HPC應(yīng)用是無法“一刀切”的,我們不可能說一下子就把某類應(yīng)用直接歸納到HPC應(yīng)用中。 2000年初,計算機應(yīng)用從集中控制的大型主機轉(zhuǎn)向分布式的計算集群的時候,就完完全全的說明了這一事實。這種做法不僅將普通的商用硬件帶入了HPC領(lǐng)域,也給客戶提供了更多的選擇。 HPC用戶可以按照最低需求來構(gòu)建HPC,從而節(jié)省投資成本。你會發(fā)現(xiàn),有些 HPC系統(tǒng)的節(jié)點數(shù)較少,但每個處理器配備的內(nèi)存較大,帶寬較窄或節(jié)點之間的延時較長;而另一些 HPC系統(tǒng)則可能按照不同的參數(shù)要求來設(shè)計,所有這些都是針對應(yīng)用需求量身定做的。
然而,對大多數(shù)企業(yè)或IT部門來說,降低成本的壓力都在與日俱增,因此“按用量付費”的云計算模式也就應(yīng)運而生。問題的關(guān)鍵是,并非所有的計算類型都適合于云架構(gòu)。
Rackspace、亞馬遜、Savvis以及其他一些 IaaS提供商都采用不同的虛擬化技術(shù)來管理其底層的硬件資源,遺憾的是每家廠商采用的虛擬化技術(shù)是不同的,而且有時是保密的,比如AWS EC2。因此,對HPC應(yīng)用來說,究竟是采用虛擬機還是物理機就成為構(gòu)建HPC云之前需要特別討論的一個問題。
虛擬化問題
高性能計算(HPC)架構(gòu)師遲遲沒有采用虛擬化技術(shù)的主要原因有兩個:其一是人們通常認為的虛擬化會嚴重影響應(yīng)用程序的性能,虛擬化提升靈活性的優(yōu)點被其降低了應(yīng)用程序吞吐量的缺點所壓倒;其二是傳統(tǒng)的HPC基礎(chǔ)架構(gòu)的利用率已經(jīng)非常高了(通常為80%~95%),因此,通常推動企業(yè)采用虛擬化的動因(提高硬件利用率、整合服務(wù)器或提高許可證利用率)不足以抵消使用虛擬化資源運行工作負載帶來的復(fù)雜性和費用增加的缺點。
然而在很多情況下,HPC架構(gòu)師又愿意犧牲5%的應(yīng)用程序性能來獲得虛擬化帶來的靈活性和彈性。HPC用戶愿意這樣做的主要原因有以下幾個:
安全性——虛擬機可以作為實例添加到虛擬局域網(wǎng)中,或者從虛擬局域網(wǎng)中刪除。一些HPC環(huán)境要求多組用戶之間,甚至用戶本身之間實現(xiàn)數(shù)據(jù)和宿主相互隔離。傳統(tǒng)的虛擬局域網(wǎng)通常與物理服務(wù)器結(jié)合使用,結(jié)果造成了資源孤島,在變化的負載環(huán)境中,孤島將導(dǎo)致孤島內(nèi)資源利用率低下。虛擬機和虛擬局域網(wǎng)可以配合使用,把用戶彼此隔離開來,并將數(shù)據(jù)隔離起來,有權(quán)訪問的用戶才可以訪問。
應(yīng)用程序堆棧控制——很多應(yīng)用程序需要特定的操作系統(tǒng)版本、更新版、代碼庫和配置等。在混合應(yīng)用環(huán)境下,多個應(yīng)用共享同一物理硬件,這種情況下,就很難滿足所有應(yīng)用對特定堆棧的要求。采用虛擬化技術(shù),這個難題就迎刃而解了,因為,在虛擬化環(huán)境下整個堆??梢宰鳛閼?yīng)用程序的一部分來部署。
充分利用高價值資產(chǎn)——在異構(gòu)的HPC系統(tǒng)中,最新(因而最快)的機器常常需求量最大。為了滿足這個需求,一些企業(yè)采用預(yù)留系統(tǒng)以盡量減小用戶之間的沖突。但遺憾的是,這種預(yù)留系統(tǒng)常常沒有得到充分的利用。相比之下,使用虛擬機處理計算作業(yè)時,大多數(shù)虛擬機管理程序內(nèi)部的遷移工具允許機會性工作負載使用高價值資產(chǎn),甚至為一個不同的用戶打開了預(yù)留窗口后也可以使用。如果提出預(yù)留要求的用戶最終提交工作負載,要求處理負載,機會性工作負載隨后可以遷移到價值較低的資產(chǎn),以便繼續(xù)處理,而不浪費任何處理器周期。
處理執(zhí)行時間長的作業(yè)——幾種HPC應(yīng)用程序不提供檢查點重啟功能。然而,虛擬機技術(shù)可以獲取和檢查虛擬機的整個狀態(tài),以便檢查以前無法檢查的應(yīng)用程序設(shè)置。如果作業(yè)運行時間足夠長,對于整個解決方案來說有一樣的平均無故障時間(MTBF),那么虛擬機內(nèi)部的檢查點工具可能非常吸引人。此外,如果服務(wù)器維護是經(jīng)常進行或具有可預(yù)測性,那么虛擬機內(nèi)部的檢查點遷移或暫停運行時間長的作業(yè),可以防止計算時間流失,同時消除執(zhí)行常規(guī)服務(wù)器維護工作所面臨的任何障礙。
使用HPC云的商業(yè)理由
有幾個關(guān)鍵因素促使企業(yè)考慮實施云計算,這些因素可以幫助企業(yè)削減成本,為內(nèi)部用戶提供更好的服務(wù)。這些因素是:
按使用量付費——客戶可以按照應(yīng)用程序的運行時間或者按使用存儲和數(shù)據(jù)傳輸服務(wù)的時間支付費用。
近乎無限的基礎(chǔ)架構(gòu)——幾乎可以實時享用基礎(chǔ)架構(gòu);反過來,沒有工作負載時,基礎(chǔ)架構(gòu)可以縮回到近乎零資源。
根據(jù)工作負載配置資源——可以根據(jù)工作負載,隨時分配操作系統(tǒng)或服務(wù)器的類型,大幅改進了資源配置方面的靈活性。
實施HPC云面臨的障礙
盡管云計算有諸多優(yōu)勢,但是在考慮云計算是否適合HPC環(huán)境時還有很多障礙需要克服。
安全性和知識產(chǎn)權(quán)——云環(huán)境中的數(shù)據(jù)對商業(yè)企業(yè)來說常常是核心的知識產(chǎn)權(quán)。絕不能忽視這種可能性:商業(yè)競爭對手可能使用相同的共享計算資源。從法律的角度來看,一旦發(fā)生數(shù)據(jù)泄密,知識產(chǎn)權(quán)保護和賠償條款為云計算使用者帶來的追索權(quán)很有限。
軟件許可——大多數(shù)商業(yè)企業(yè)使用獨立軟件開發(fā)商(ISV)提供的第三方軟件來運行或管理HPC作業(yè)。這些應(yīng)用軟件在購買時都附有法律協(xié)議,明確了該應(yīng)用程序可以在何處運行,通常都規(guī)定該應(yīng)用程序只能在客戶的場地運行。
數(shù)據(jù)轉(zhuǎn)移——除非企業(yè)完全采用云計算,棄用自己的數(shù)據(jù)中心,否則用于模擬的模和結(jié)果就必須在云計算提供商與客戶數(shù)據(jù)中心之間進行傳輸。然而這項工作很復(fù)雜,因為就傳輸大容量文件而言,互聯(lián)網(wǎng)帶寬很有限;而且對大多數(shù)基礎(chǔ)架構(gòu)即服務(wù)(IaaS)提供商來說,進出云環(huán)境傳輸?shù)乃袛?shù)據(jù)都是按字節(jié)數(shù)計費的“收費服務(wù)”。
定價模式——按使用量付費的模式常常對客戶有很大的吸引力,但如果長期使用公共云,其費用通常比在兩年內(nèi)自己擁有和維護硬件的成本貴兩三倍。公司應(yīng)認真確定在多長時間內(nèi)使用公共云比使用本地服務(wù)器更有優(yōu)勢。
面向HPC的云計算
HPC數(shù)據(jù)中心必須綜合考慮采用云計算的商業(yè)理由及其面臨的障礙,才能確定這種模式是否適合本企業(yè)以及哪種模式最適合自己。
實現(xiàn)HPC云需要幾款工具,包括虛擬機管理程序平臺、工作負載管理器和基礎(chǔ)架構(gòu)管理工具包。管理工具包應(yīng)該提供策略定義及執(zhí)行、配置管理、資源預(yù)留及報告等功能。虛擬機管理程序平臺應(yīng)該為云計算資源的虛擬部分提供良好的基礎(chǔ)。最后,工作負載管理器應(yīng)該提供作業(yè)管理功能。
對多數(shù)大型HPC環(huán)境來說,用戶需要考慮采用私有云還是混合云解決方案。在混合云環(huán)境中,可以在峰值需求期間使用外部公共云,這又叫“云爆發(fā)”(cloud bursting);比較小的HPC環(huán)境可能應(yīng)該考慮公共云,使用的所有資源都在云端。不管使用哪一種模式的云,特別重要的是確?;A(chǔ)架構(gòu)包含可以同時充分利用物理資源和虛擬資源的管理層,因為HPC應(yīng)用程序仍主要放置在物理機器上。在理想情況下,該管理層應(yīng)該能夠把虛擬機管理程序環(huán)境和物理環(huán)境合并為一個動態(tài)共享的基礎(chǔ)架構(gòu),既支持多種操作系統(tǒng),又支持異構(gòu)環(huán)境。
混合云方案對HPC環(huán)境來說可能非常有優(yōu)勢,因為它可以提供完成作業(yè)所需要的額外計算能力。在下列情況尤其應(yīng)該考慮采用云爆發(fā)方案:
預(yù)計作業(yè)在本地運行的等待時間過長時;
如果作業(yè)在本地運行所需的累計運行時間過長時;
當(dāng)作業(yè)對進出云環(huán)境的數(shù)據(jù)傳輸要求不高時。
一旦確定了企業(yè)實施云計算的最佳方案,就可以采用多種方法來評估IaaS提供商,看看哪一家提供商最適合本企業(yè)的應(yīng)用和工作負載要求。評估時要考慮的因素包括性能、可靠性、創(chuàng)建實例的速度、價格等,此外,還應(yīng)該考慮每一家IaaS提供商的洽談和定價流程以及政策,還要對照服務(wù)級別協(xié)議(SLA)評估可靠性??紤]上述每一個因素對于企業(yè)選擇最適合其用途的提供商大有幫助。
作者介紹
Chris Porter 現(xiàn)任Platform公司HPC云產(chǎn)品經(jīng)理,他在HPC和云計算領(lǐng)域有著豐富的經(jīng)驗,他曾經(jīng)撰寫過眾多有關(guān)HPC和云計算的白皮書。