簡單瞭解阿里雲批量計算(上篇)

weixin_34232744發表於2017-12-21

什麼是批量計算

批量計算(BatchCompute)是一種適用於大規模並行批處理作業的分散式雲服務。BatchCompute可支援海量作業併發規模,系統自動完成資源管理、作業排程和資料載入,並按實際使用量計費。

通俗的講,就是您提交一個程式(任意的計算機程式),讓它在阿里雲機房中的多臺機器上同時執行,然後把結果寫入到指定的位置(OSS,阿里雲物件儲存服務),您可以去指定位置檢視結果。

關於阿里雲批量計算的詳細內容:

阿里雲批量計算使用教程

(批量計算(BatchCompute)是一種適用於大規模並行批處理作業的分散式雲服務。BatchCompute可支援海量作業併發規模,系統自動完成資源管理,作業排程和資料載入,並按實際使用量計費。BatchCompute廣泛應用於電影動畫渲染、生物資料分析、多媒體轉碼、金融保險分析、科學計算等領域。)

產品架構

BatchCompute整體架構,包括:

BatchCompute入口

批量計算服務提供基於HTTP的API。在API之上還封裝了一些工具,比如SDK,命令列工具,控制檯等。

您可以使用這些工具向BatchCompute提交作業,查詢作業執行狀態,並管理作業生命週期(比如停止已提交的作業,釋放已完成的作業等)。

執行環境

BatchCompute通過虛擬化技術構建沙箱,並在其中執行使用者程式,確保使用者環境和使用者資料的安全性。您可以自行定製其虛擬機器映象。

OSS持久化儲存

OSS 有完善的使用者管理和安全機制。

BatchCompute使用 OSS 作為持久化儲存。

使用者的程式、自定義Docker映象、輸入輸出資料都儲存在 OSS 中。

名詞解釋

作業

使用者的每個特定的計算需求在BatchCompute中被描述為一個作業(Job)。在BatchCompute系統中,使用者可以通過BatchCompute管理控制檯或SDK提交、管理和查詢作業。

任務

一個作業由一組任務(Task)及其依賴關係組成。批量計算支援能以有向無環圖(directed acycline graph,DAG)形式描述的作業。任務間的依賴關係只能在作業提交時指定,提交完成後不能修改。

例項

每個任務可以有一個或多個執行例項(Instance)。同一任務的各個例項並行處理各自的輸入資料。例項是BatchCompute排程與執行的最小單元,這些例項會動態的執行在後臺分散式系統的各節點上。

叢集

一系列的VM例項組在BatchCompute中被定義為一個叢集(Cluster)。一個叢集可以由多個例項組(Group)組成,一個組中的例項共享同樣的例項型別定義(例項型別,CPU,Memory等),多個組之間共享映象(Image)。

映象

映象(Image)是叢集資源建立或者作業執行環境的模板。它是一個標準的或者自定義的ECS映象,需要安裝BatchCompute Agent,然後授權給BatchCompute服務使用。

Docker映象

使用官方提供的ubuntu映象(內建Docker容器支援),可以支援自定義Docker映象。自定義Docker映象像普通映象一樣,可以自己安裝執行作業的各種程式。具體方法請看這裡: 使用Docker。

阿里雲大學官網(阿里雲大學 - 官方網站,雲生態下的創新人才工場)

相關文章