基於AWS雲服務的大資料與大規模計算的應用架構

abel_cao發表於2015-02-04

AWS對於大規模計算方案是很受歡迎的,如科學計算,模擬和研究專案。這些方案包括從科研裝置,測量裝置,或其他計算作業的大量資料集的採集。採集後,使用大規模計算作業的分析來生成最終資料集。通常,這些結果將提供給更多的受眾。

1.  為了將大資料集上傳到AWS,關鍵是擁有最多的可用頻寬。 通過多客戶端的並行處理,就可以把資料上傳到S3, 每個客戶端採用多執行緒技術實現並行上傳或上傳多部分以便進一步並行處理。像視窗調整和確認選擇等TCP設定是可以調整的,以便進一步增強吞吐量。 通過適當的優化,一天上傳幾TB是可能的。另一種上傳大資料集的方法是Amazon Import/Export功能, 這一功能支援將儲存裝置傳送給AWS同時直接插入到Amazon S3 或者 Amazon EBS。

 

2.  大規模作業的並行處理是關鍵,現存的並行處理應用能夠執行在多個EC2 例項上. 如果應用程式需要一個POSIX風格的檔案系統,那麼無論是直接使用HTTP或使用FUSE層(例如,S3FS或SubCloud),並行應用程式對所有節點都可以從S3高效地讀取和寫入資料。

 

3.  一旦計算完成,結果資料也被儲存到S3, EC2 例項可以被關閉,並且將結果資料集就可被下載了,或者通過授予讀取許可權來指定使用者,指定所有人或使用有限時間的URL,完成輸出資料與他人的共享。

 

4.  如果不用 S3, 也可以使用 Amazon EBS儲存輸入資料,作為臨時儲存區,或者獲得輸出結果。 在上傳期間,要同樣採用並行流上傳和TCP調整的技術。另外,還可以使用UDP使上傳加速。結果資料集可以被寫入EBS卷,時間快照可採取共享卷的方式。


相關文章