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