簡體   English   中英

在多個 AWS 實例上運行並行 Python 代碼

[英]Run parallel Python code on multiple AWS instances

我有一個 Python 算法,可以很容易地並行化。

我在本地沒有資源在可接受的時間范圍內運行整個事情。

對於每個工作單元,我希望能夠:

  1. 啟動 AWS 實例(EC2?)
  2. 將輸入數據發送到實例
  3. 以數據作為輸入運行 Python 代碼
  4. 所有實例完成后返回結果並聚合

做這個的最好方式是什么?

AWS Lambda 是否用於此目的? 這只能用 Boto3 完成嗎?

我完全迷失在這里。

謝謝

並行運行任務的常見架構是:

  • 將輸入放入Amazon SQS 隊列
  • 在多個 Amazon EC2 實例上運行工作程序,這些實例:
    • 從 SQS 隊列中檢索消息
    • 處理數據
    • 將結果寫入Amazon S3
    • 從 SQS 隊列中刪除消息(表示作業完成)

然后,您可以從 Amazon S3 檢索所有結果。 根據它們的格式,您甚至可以使用Amazon Athena同時對所有 output 文件運行 SQL 查詢。

如果每個工作人員都是單線程的並且有可用的空閑 CPU,您甚至可以在同一個實例上運行多個工作人員。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM