1. 程式人生 > >騰訊雲批量計算:用搭積木的方式構建高效能運算系統

騰訊雲批量計算:用搭積木的方式構建高效能運算系統

歡迎大家前往騰訊雲社群,獲取更多騰訊海量技術實踐乾貨哦~

高效能運算(High Performance Computing)簡稱 HPC,在氣象預測、地震預警、生命科學、軍事、航天等高科技領域有著廣泛的應用,其代表超級計算機是一個國家科技實力的象徵。

超算如何從『高精尖』到『尋常百姓家』
在雲端計算大規模推廣之前,高效能運算只有國家科研機構和大型企業才有精力和財力去建設和使用,原因是其初期投資成本高、建設週期慢。

隨著科技的進步,中小企業也有高效能運算的需求,但是苦於各種資源限制,難以獲得與需求匹配的計算能力。直到雲端計算興起,通過按需租用、彈性資源等優勢能力,幫助使用者能夠以極低的價格,獲得媲美超級計算機的計算能力。

騰訊雲的高效能運算服務
騰訊超算雲在基礎設施方面提供了高效能運算需要的各種資源,來幫助使用者構建高效能運算流程,比如擁有8張 NVIDA P100 顯示卡的GPU例項,採用最新 Intel Skylake 晶片的計算型例項,支援 RDMA的40GE高速資料傳輸的網路,高吞吐低延時的檔案系統叢集。

這些豐富且易獲取的高效能運算資源給使用者構建高效能運算體系提供了『量』的基礎,而云上的高效能運算管理平臺則給企業帶來了『質』的變化,針對計算作業管理騰訊雲在今年8月推出了批量計算(Batch),在介紹這款產品的能力和優勢前,先帶大家瞭解一下企業實踐高效能運算的相關資訊。

據行業調查報告,企業應用高效能運算大致有3個階段,

第一個階段,企業自建資料中心,滿足一定業務需要,但是存在建設成本高、資源容易閒置或不足、管理開銷大易發生突發事故的問題。
第二個階段,使用雲端計算 Iaas 層資源,比如購買騰訊云云伺服器(CVM)、黑石伺服器(CPM)、物件儲存、高效能檔案儲存叢集,然後將線下的流程以及相關管理軟體全部照搬到雲上。
第三個階段,脫離人工管理,使用雲上高效能運算管理平臺,硬體上自動排程資源,軟體上智慧管理計算作業,批量計算(Batch)便是騰訊雲幫助企業快速進入這一階段而推出的產品。

批量計算是構建高效能運算系統的基石

批量計算(Batch)的核心目的是幫助使用高效能運算的企業減少相關 IT 流程的開發和維護成本,同時最大限度的降低使用成本。

它支援將需要使用的資源(GPU、CPU、高效能儲存、高速網路)和計算過程(計算環境映象、啟動命令、Docker映象)打包,以一個配置檔案的形式儲存。使用者發起計算只需要修改配置的引數,然後將作業配置提交到批量計算後臺即可,批量計算會根據使用者設計的流程自動執行每一個過程,使用者只需要等待系統通知完成即可。

為什麼企業不自己開發這樣一套批量計算流程?
以基因測序所處的生命科學行業為例,一個經驗豐富的生物資訊工程師,需要3-5年的培養時間,而在高效能運算的IT流程開發和架構方向,一個資深的工程師培養時間同樣不會低於這個時間。對於企業,尋找雙領域精通的人才然後同時在兩個領域投入資金人力,幾乎是不可承受之重。

更符合企業高效運作的方式是使用類似批量計算這樣的產品來分離和簡化 IT 流程。現在騰訊雲已經可以為企業實現高效能運算 IT 方向的專業框架和流程設計來提供產品和方案,而企業只需要專注自己的專業領域研究。

騰訊雲批量計算優勢

1.大規模任務排程

批量計算解決的核心問題是大規模任務的快速排程,騰訊云為此將內部運營多年的排程能力開放出來,服務於批量計算產品。
騰訊雲批量計算採用多排程器併發排程架構,以使用者為粒度進行任務排程。具體來說,系統通過訊息佇列進行訊息流轉,每個排程器作為消費者獲取一個待處理的使用者資訊,對該使用者名稱下無依賴的任務統一進行處理,根據優先順序、資源配額進行排程下發,嚴格保證優先順序順序,並避免排程系統常見的“佇列頭阻塞”等問題。
同一使用者的任務,統一排程,避免無意義加鎖,保證排程邏輯最優;不同使用者之間,併發排程,顯著提升排程系統的併發度和處理效率,避免排程器成為效能瓶頸。受益於系統的併發排程架構,騰訊雲批量計算可以幫助使用者快速排程和下發任務,輕鬆應對大規模任務挑戰。

2.海量資源快速建立

批量計算構建於騰訊雲運營多年的CVM系統之上。伴隨著雲端計算需求的爆發增長,CVM使用者不斷髮展擴張,覆蓋爬蟲、秒殺搶購、彈性伸縮等多種規模大、時效性強的使用者群體。為了優化使用者體驗,騰訊雲CVM採用映象快取、CBS快照回滾等技術手段,顯著提升海量併發建立能力,CVM建立吞吐率達到3000臺/分鐘以上,單臺CVM建立時間減少到30秒以內。在服務好CVM自身使用者的前提下,對批量計算提供有力支撐。

3.複雜業務流程管理

使用者的業務流程種類多樣,存在不同形式的依賴關係。騰訊雲批量計算化繁為簡,通過有向無環圖(Directed acyclic graph,簡稱DAG)對任務依賴關係建模。例如,使用者的資料分析流程可能分為三個不同的處理階段,且各個階段所需資源規格不同。通過依賴關係,使用者建立資源要求不同的三個任務,並配置依賴關係。騰訊雲批量計算打造使用便捷的工作流引擎,遮蔽各種資源和依賴細節,使使用者能夠專注於分析結果和解決問題。

4.高效能運算能力組合

業務場景驅動技術創新。使用者業務場景不同,所需資源的型別與規格也有所不同。騰訊雲批量計算無縫構建於CVM IaaS層之上,直接享受高效能硬體技術革新帶來的效能飛躍。對於計算密集型業務,第三代計算型例項顯著提升綜合性能;對於大資料場景,大資料型例項為使用者提升4倍以上讀寫頻寬;在AI時代,異構計算已經開始為使用者創造實際價值,GPU、FPGA例項帶來百倍算力突破。

騰訊雲批量計算相對同類產品優勢

騰訊雲高效能運算團隊在進行廣泛的市場調研和使用者場景總結後,在傳統高效能運算場景上做了大量優化,相比較國內同類型產品有不少獨特優勢。
優勢一,計算節點支援豐富的網路配置,支援 SSH 登入,使用者可以為節點和儲存劃分安全的網路環境,同時還可以方便的登入到節點進行狀態監控和除錯分析;
優勢二,全流程監控,騰訊雲批量計算支援作業列表、作業流程、例項、日誌,四個維度上來監控計算作業的狀態

四個維度從上到下,從巨集觀的業務狀態到微觀的應用程序狀態,企業既可以通過監控檢視業務執行狀態,也可以通過回溯優化配置節約成本,騰訊雲批量計算是國內同類產品中首個在全流程全維度支援可監控的產品。

優勢三,最完整例項能力支援,型別上支援面對不同場景的例項,高主頻計算型、高IO高吞吐的大資料型、服務當下熱門AI和深度學習的GPU型、最前沿的FPGA型都能夠秒級排程,同時支援完整主機頻寬、網路、金鑰等配置,提供安全和易用的服務。

騰訊雲批量計算優化計算流程,助力企業業務高效化

企業通過使用批量計算(Batch),可以將多型別資源和資料計算過程元件化。原來使用者面對的是硬體層的資源管理,或者是某臺節點上執行一段命令啟動計算,現在這些計算分析過程都被打包成了計算作業的概念,使用者像操作一個函式一樣執行復雜的分析流水線。
複雜問題簡單化之後,企業才有精力從更高角度重新聚焦自己的業務專業領域,將原來複雜的流程拆分成不同功能模組,再重新組裝成更有競爭力的產品線,不再為非專業領域的 IT 問題去浪費精力。

同時,針對計算需求大的使用者,騰訊雲批量計算還提供更高性價比的計算例項和競價例項能力,進一步幫助企業降低業務成本。

相關閱讀

此文已由作者授權騰訊雲技術社群釋出,轉載請註明文章出處