亚洲成精品动漫久久精久,九九在线精品视频播放,黄色成人免费观看,三级成人影院,久碰久,四虎成人欧美精品在永久在线

掃一掃
關(guān)注微信公眾號

方案分享:如何在云中運行計算密集型任務(wù)?
2011-11-09   it168網(wǎng)站

公有云的出現(xiàn)將大規(guī)模的HPC資源帶到了普通公司的身邊。在很多情況下,尤其是對于臨時性HPC項目來說,和內(nèi)部購買必要的計算資源相比,云解決方案在成本上更加行之有效。在公有云出現(xiàn)之前,只有少數(shù)公司,比如大型金融服務(wù)公司才有經(jīng)費購買進行高性能計算所必需的資源。

  在去年,可以看到在市場上有相當(dāng)多的顧客需求,很多行業(yè)的許多公司針對大規(guī)模的HPC集群對軟件平臺進行測試。當(dāng)我們首先向傳統(tǒng)的HPC供應(yīng)商描述需求時,經(jīng)常被問到是哪個行業(yè)財團或是政府機關(guān)在謀求進行此項工作,因為這關(guān)系到HPC環(huán)境的規(guī)模。當(dāng)我們告訴他們這是針對個體公司而非大型組織機構(gòu)時,我們遭到了對方善意的質(zhì)疑。最后,我們決定親自構(gòu)建集群軟件,目標(biāo)是能夠在公有云和私有云上運行該集群軟件。

  當(dāng)開發(fā)軟件面對眾多的商業(yè)和開源選擇時,我們發(fā)現(xiàn)多數(shù)選項都針對同時運行在集群上不同的通用應(yīng)用進行了優(yōu)化。為了適應(yīng)這類需求,集群依據(jù)安裝在單個計算節(jié)點上不同的操作系統(tǒng)進行了硬分區(qū),而且不管應(yīng)用實際上需要多少計算資源,每臺機器都提前預(yù)留給了特定的應(yīng)用。這導(dǎo)致了計算資源的利用率相當(dāng)?shù)停骄寐手挥?0%左右。對于想創(chuàng)建HPC集群并作為一般資源然后將其租用給公眾使用的人來說,這綽綽有余。然而,這卻不是滿足典型的商業(yè)用戶需求的最佳策略。

  HPC 解決方案

  我們決定基于不同的原則構(gòu)建HPC軟件。最初由對該解決方案極為感興趣的某些用戶從事該項目。這類用戶尋求降低成本并縮短時間。完成這項工作他們不想花費超過一百萬美元,而且如果花費數(shù)周才能得到結(jié)果,那么他們也會認(rèn)為該解決方案將不會在對應(yīng)的市場上具有競爭力。

  當(dāng)和使用HPC資源的用戶進行交流時,我們注意到公司通常圍繞一個通用的計算平臺構(gòu)建單一的HPC應(yīng)用,或者是相關(guān)應(yīng)用的集合,而且這些用戶都希望能夠擁有一個能夠?qū)⒂嬎銜r間最小化并將可用資源的使用率最大化的軟件平臺。

  HPC集群設(shè)計的不同之處在于圍繞一個原則,那就是能夠動態(tài)編排單個核以確保最大化資源的利用率。集群運行單個計算平臺并處理來自單個供應(yīng)商的相關(guān)需求。這考慮到了寬松的安全模型,而且來自不同計算任務(wù)的代碼能夠共享操作系統(tǒng),允許我們近乎實時地在工作任務(wù)之間切換核心。

  該集群設(shè)計用來解決HPC領(lǐng)域相關(guān)問題的一個子集,而不是試圖構(gòu)建一個通用的,無所不包的計算解決方案。我們選擇處理的問題的子集從本質(zhì)上說是高度并行。單個計算需求的計算時間至少要比分發(fā)時間高一個數(shù)量級,而且問題集合和解決方案結(jié)果足夠小能夠在網(wǎng)絡(luò)拓?fù)渲杏行У貍鬏敹曳职l(fā)時間要比整個任務(wù)的運行時間低上幾個數(shù)量級。集群軟件被設(shè)計為在代碼級別整合進計算密集型應(yīng)用中,而不是提供一系列通用的遠(yuǎn)程接口。

  集群架構(gòu)

  該集群設(shè)計用來將工作任務(wù)劃分為多個計算任務(wù),在可用的硬件資源上高效率地執(zhí)行計算任務(wù),并將計算結(jié)果返回給客戶端應(yīng)用。該集群對裸機,運行在OpenStack的私有云以及公有云有效。不同的部署場景被設(shè)計用來解決一系列的可用資源問題。當(dāng)用戶能夠支付為單個應(yīng)用分配固定計算資源的費用時,裸機是最有效的。私有云能夠很好地應(yīng)用于在應(yīng)用程序之間分配公司內(nèi)部硬件資源的場景,而且很容易部署一個不同的計算節(jié)點或者將HPC集群可用的計算資源轉(zhuǎn)移給其他需要計算資源的請求。當(dāng)突發(fā)的負(fù)載級別以及臨時的需求使購買硬件變得不切實際時,公有云就是一個很好的部署場景。

  HPC軟件使用Apache Libcloud在多個硬件平臺之間進行部署。我們已經(jīng)成為Libcloud項目的主要貢獻者,而且已經(jīng)在很多軟件項目中使用了Libcloud項目。HPC軟件的頂層是HPC集群組件:調(diào)度程序,工作任務(wù)接口節(jié)點,通信交換架構(gòu)以及計算節(jié)點,用于高效率地控制工作任務(wù)的執(zhí)行。

  組件

  通信交換架構(gòu)由一組RabbitMQ節(jié)點構(gòu)成。為方便重新配置以及狀態(tài)信息,單個實例被分配給控制面板或者是數(shù)據(jù)面板,數(shù)據(jù)面板用來將任務(wù)傳送給計算節(jié)點并接收結(jié)果。沒有聚合RabbitMQ實例因為我們發(fā)現(xiàn)這會嚴(yán)重降低客戶端重新連接的速度。相反,客戶通信庫用于在相關(guān)的RabbitMQ實例之間分配請求,這提供了有效的可擴展機制。通常情況下問題以及結(jié)果有效負(fù)載在帶內(nèi)發(fā)送。然而,為了增強RabbitMQ針對大型有效負(fù)載的可擴展性,已經(jīng)預(yù)先部署了分布式緩存集群。分布式緩存配置的優(yōu)勢在于問題集合大于幾十KB,單個任務(wù)解決方案集合大于數(shù)百KB。

  調(diào)度程序用來給單個計算任務(wù)分配計算資源。調(diào)度程序由一系列消息隊列和不同RabbitMQ實例的結(jié)果交付構(gòu)成,它通過控制面板通知計算節(jié)點的一個子集加入到隊列中。調(diào)度程序是一個復(fù)雜策略的集合,允許客戶為不同的用戶預(yù)留計算資源,并說明資源失敗的原因,而且還處理需要特定硬件比如GPU(GPU可能會出現(xiàn)在節(jié)點的子集當(dāng)中)的工作任務(wù)。當(dāng)集群地理位置相對接近,考慮到低延遲通信,調(diào)度決策的速率是100-200毫秒。

  工作任務(wù)接口節(jié)點通過REST和WSDL接口提供了在集群中提交任務(wù)并檢索結(jié)果的方法。通過重新提交失敗的任務(wù),工作任務(wù)接口節(jié)點提供了冗余性。工作任務(wù)通過數(shù)據(jù)面板通信交換架構(gòu)提交給計算節(jié)點。在計算節(jié)點上客戶端應(yīng)用代碼能夠?qū)⒐ぷ魅蝿?wù)劃分為計算任務(wù)并提交給由調(diào)度程序所構(gòu)建的工作任務(wù)隊列,或者通過一系列的步驟繼續(xù)劃分為子任務(wù)。使用HPC資源進行工作任務(wù)分解為計算成本昂貴的工作步驟在很短的時間內(nèi)完成提供了可能。最終用戶提供的客戶端代碼經(jīng)過優(yōu)化以最有效的方式被分解為各種任務(wù)類型,經(jīng)由類庫集合和經(jīng)過良好定義的API通過HPC軟件的接口。分解鏈條和結(jié)果積累是相反的,直到最終的結(jié)果集合被分發(fā)給接口主機供客戶獲取。工作任務(wù)鏈中的組件控制了任務(wù)并行程度而且可以告知資源需求的時間表,如果策略允許的話,調(diào)度程序可以轉(zhuǎn)移預(yù)先保留但未被充分使用的資源給其他的任務(wù)。

  計算節(jié)點從指定的消息隊列取出單個任務(wù),獲取任務(wù)執(zhí)行所必須的帶外數(shù)據(jù),而且可以進行最終的計算或者將任務(wù)分解為其他任務(wù),重新提交回隊列中。實際的計算軟件由客戶端應(yīng)用提供并通過編排層分發(fā)給單個節(jié)點。計算節(jié)點監(jiān)控分配給單個工作任務(wù)隊列的核心的使用率,如果分配的隊列空閑比較久或策略控制超時,計算節(jié)點將從其他的隊列抓取任務(wù)。累積的計算結(jié)果將返回給結(jié)果隊列或者上載至分布式緩存集群并通過數(shù)據(jù)面板進行通知。

  性能

  總體設(shè)計的結(jié)果就是從單個任務(wù)到數(shù)百個并行任務(wù),硬件資源的使用率都大大提高了。只要工作任務(wù)分解導(dǎo)致大量的并發(fā)任務(wù)多于總的可用計算核心,硬件資源的使用率達到95%是有可能的。

  安全性

  對公有云的安全性考慮是通過對連接到通信互聯(lián)架構(gòu)的類庫中的可選的有效負(fù)載加密以及限制節(jié)點通過分布式防火墻訪問實現(xiàn)的。

  結(jié)論

  在開始安裝時,我們發(fā)現(xiàn)該解決方案顯著減少了常規(guī)時間,非常重要的工作在任務(wù)時間表上消除了數(shù)個星期。正式由于我們所做的工作,該集群令人注目,很多公司已經(jīng)準(zhǔn)備部署了。通過將之前在本地硬件上花費一個月完成的工作整合到云中后只需要運行三個小時,公司不僅降低了成本而且建立了新的競爭優(yōu)勢,而且?guī)椭麄兏谩⒏斓胤?wù)客戶。

  最后的內(nèi)容和公有云vs.私有云有關(guān)。很多廠商都提供了高密度,低成本的計算刀片,按照每個核心集群的成本是1萬美元,那么總的費用是400萬美元,粗略計算使用亞馬遜的成本是6萬美元/月,盡管通過預(yù)訂或者按需購買成本可能更低。然而,通常來講,如果你需要持續(xù)使用計算資源,那么和購買硬件的成本相比,在一年之內(nèi)你可能要給亞馬遜支付更多的費用。

  然而,對于突發(fā)的、高度可擴展計算問題,對許多公司來說,在云中運行計算密集型任務(wù)是一個相當(dāng)棒的而且能夠支付得起的替代選擇。

  英文原文出處:http://www.hpcinthecloud.com/hpccloud/2011-10-25/running_compute_intensive_tasks_in_the_cloud.html

原文鏈接:http://cloud.it168.com/a2011/1109/1270/000001270844.shtml

熱詞搜索:

上一篇:Hyper-V到WinServer 8階段會擊敗VMware?
下一篇:流量瓶頸阻礙數(shù)據(jù)中心發(fā)展的10大因素

分享到: 收藏