新聞中心
如何借助云集群打造高性能計(jì)算
譯文
作者:布加迪編譯 2015-08-19 09:38:29
云計(jì)算 OpenStack讓企業(yè)組織可以定制自己的資源實(shí)例,然后使用這些資源實(shí)例在自己的私有云中構(gòu)建集群。物理服務(wù)器或使用物理服務(wù)器上虛擬機(jī)管理程序的虛擬機(jī)在專用的內(nèi)部部署集群中很典型。對(duì)開(kāi)發(fā)人員來(lái)說(shuō),區(qū)別主要在于資源實(shí)例抽象,這是云集群與專用集群之間的主要區(qū)別。

云計(jì)算一開(kāi)始致力于為互動(dòng)系統(tǒng)(systems of engagement)改善應(yīng)用架構(gòu),而在高性能計(jì)算方面提供不了什么。而如今,領(lǐng)先的云服務(wù)提供商正在重構(gòu)解決方案及相關(guān)的基礎(chǔ)設(shè)施,讓計(jì)算密集型應(yīng)用切合實(shí)際、經(jīng)濟(jì)高效。
在過(guò)去,云架構(gòu)是為了交付將應(yīng)用程序與Dropbox、Gmail、iTunes和Evernote等存儲(chǔ)結(jié)合起來(lái)的服務(wù)而設(shè)計(jì)的。Bright Computing公司的***執(zhí)行官M(fèi)atthijs Van Leeuwen說(shuō):“集群的架構(gòu)旨在暴露除了存儲(chǔ)外的其他資源,比如在定制網(wǎng)絡(luò)中執(zhí)行廠商提供的或用戶構(gòu)建的應(yīng)用程序所需要的那些資源?!?/p>
酷似在專用硬件上運(yùn)行的傳統(tǒng)集群,基于云的集群包括不同的分布式資源,這些資源因某個(gè)用途而結(jié)合起來(lái)。這可能包括:為可識(shí)別集群的數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)、高性能計(jì)算(HPC)應(yīng)用或大數(shù)據(jù)分析應(yīng)用交付平臺(tái)。亞馬遜和Rackspace之類的公有云提供商暴露資源的預(yù)定義實(shí)例,它們可以用于在云基礎(chǔ)設(shè)施上構(gòu)建集群。
OpenStack讓企業(yè)組織可以定制自己的資源實(shí)例,然后使用這些資源實(shí)例在自己的私有云中構(gòu)建集群。物理服務(wù)器或使用物理服務(wù)器上虛擬機(jī)管理程序的虛擬機(jī)在專用的內(nèi)部部署集群中很典型。對(duì)開(kāi)發(fā)人員來(lái)說(shuō),區(qū)別主要在于資源實(shí)例抽象,這是云集群與專用集群之間的主要區(qū)別。
常見(jiàn)的集群使用場(chǎng)合
Leeuwen表示,云集群可以用來(lái)取代或補(bǔ)充專用資源。對(duì)于運(yùn)行在低配專用硬件(比如筆記本電腦)上的應(yīng)用程序而言,云可以用來(lái)為集群創(chuàng)建實(shí)例、使用集群以及刪除實(shí)例。在這種使用場(chǎng)合下,筆記本電腦只是訪問(wèn)基于云的集群的最終用戶設(shè)備而已。它并不提供用來(lái)執(zhí)行計(jì)算或設(shè)計(jì)網(wǎng)絡(luò)的任何實(shí)例化資源。
在第二種常見(jiàn)的使用場(chǎng)合下,基于云的資源可以用來(lái)補(bǔ)充專用資源。這種情況下,內(nèi)部部署的資源通過(guò)云突發(fā)流程,由云端可用的那些資源予以拓展。基于云的資源只要根據(jù)需要?jiǎng)?chuàng)建實(shí)例、使用并刪除實(shí)例??梢宰龅絻?nèi)部部署資源與云端資源的這種區(qū)別對(duì)最終用戶和許多類型的應(yīng)用而言是透明的。
這兩種使用場(chǎng)合都可以運(yùn)用到公有云或私有云。企業(yè)組織可以設(shè)計(jì)其應(yīng)用程序架構(gòu),以便直接做到這一點(diǎn),或者充分利用Bright Cluster Manager之類的工具,在AWS公有云或在OpenStack私有云中構(gòu)建集群,前期的開(kāi)發(fā)和配置工作比較少。
彌補(bǔ)抽象方面的缺口
開(kāi)發(fā)人員面臨的***挑戰(zhàn)就是,用于相對(duì)專用硬件,配置云資源(比如網(wǎng)絡(luò)、處理器和存儲(chǔ))的不同抽象模式。云依賴實(shí)例化資源。除了存儲(chǔ)外,暴露基于云的處理器實(shí)例在公有云和私有云解決方案中都相當(dāng)成熟。***的云解決方案隨帶服務(wù)和鉤子(hook),可用于指定異常需求,比如InfiniBand網(wǎng)絡(luò)連接、GPU加速和定制的IP網(wǎng)絡(luò)。
任何資源都需要通過(guò)這同一條路徑來(lái)傳輸,之后才能予以暴露,以便在任何一種類型的云里面利用。由于集群通常使用低延遲高帶寬的互連結(jié)構(gòu)、加速器和協(xié)處理器以及其他的專門(mén)資源,這每一個(gè)在基于云的集群方面同時(shí)帶來(lái)了機(jī)遇和挑戰(zhàn)。
Leeuwen表示,企業(yè)組織完全由云服務(wù)提供商來(lái)支持存儲(chǔ)和計(jì)算之外的資源實(shí)例化。比如說(shuō),AWS通過(guò)亞馬遜VPC以及英偉達(dá)GPU實(shí)例,支持定制的IP網(wǎng)絡(luò)。一種良好的做法就是,開(kāi)發(fā)標(biāo)準(zhǔn)的配置,或者充分利用第三方云管理工具,管理存儲(chǔ)、計(jì)算、網(wǎng)絡(luò)和加速器等資源,無(wú)論它們駐留在企業(yè)內(nèi)部,還是與AWS協(xié)同使用。
延遲對(duì)集群來(lái)說(shuō)很關(guān)鍵
通信延遲是構(gòu)建可擴(kuò)展集群應(yīng)用面臨的***挑戰(zhàn)之一。一個(gè)良好的做法就是,為HPC智能化緩存數(shù)據(jù)。在數(shù)據(jù)方面,這需要認(rèn)真考慮使用更具成本效益的、速度較慢的持久性存儲(chǔ)服務(wù)(比如AWS S3)和歸檔服務(wù)(比如AWS Glacier),而不是成本較為高昂的RAM實(shí)例。
但是一個(gè)還要重大的網(wǎng)絡(luò)挑戰(zhàn)在于在運(yùn)算期間,盡量縮短節(jié)點(diǎn)之間的通信延遲。處理期間充分利用消息傳遞的HPC應(yīng)用最有可能出現(xiàn)瓶頸。大量使用消息傳遞接口(MPI)等接口的應(yīng)用會(huì)陷入困境,除非開(kāi)發(fā)人員和操作團(tuán)隊(duì)確保節(jié)點(diǎn)之間的延遲極低。
如果MPI應(yīng)用在密封在私有云或公有云里面的集群中運(yùn)行,這個(gè)問(wèn)題比較容易解決。但如果在不同公有云或私有云基礎(chǔ)設(shè)施上運(yùn)行的不同節(jié)點(diǎn)之間有大量的MPI流量,這個(gè)問(wèn)題就比較棘手。
這些考慮同樣適用于云端運(yùn)行大數(shù)據(jù)分析任務(wù)。讓Hadoop分布式文件系統(tǒng)(HDFS)實(shí)例橫跨內(nèi)部部署基礎(chǔ)設(shè)施和云基礎(chǔ)設(shè)施沒(méi)有太大意義。Leeuwen說(shuō):“但是完全在內(nèi)部或完全在云端的HDFS實(shí)例實(shí)際上能取得相當(dāng)好的效果?!?/p>
敏捷云整合解決方案提供商Jitterbit的***技術(shù)官I(mǎi)lan Sehayek表示,你在擴(kuò)展時(shí)要保持性能的關(guān)鍵在于分布式架構(gòu)。“讓用戶自行選擇哪里運(yùn)行API,哪里運(yùn)行支持API的服務(wù)?!?/p>
另外要確保所有通信由可擴(kuò)展的消息傳遞基礎(chǔ)設(shè)施來(lái)支持,以便快速、有保障地處理API網(wǎng)關(guān)與服務(wù)之間的API請(qǐng)求。Sehayek補(bǔ)充說(shuō),面向集群的服務(wù)還需要高效的緩存技術(shù),以便提供快速響應(yīng)API這一機(jī)制。
文章名稱:如何借助云集群打造高性能計(jì)算
當(dāng)前URL:http://fisionsoft.com.cn/article/djcgpod.html


咨詢
建站咨詢
