![](/img/trans.png)
[英]Possible to distribute an MPI (C++) program accross the internet rather than within a LAN cluster?
[英]How to distribute a program on an unreliable cluster?
我要尋找的是以下任何/全部:
...並且不想重新發明輪子。
C ++庫,bash腳本,獨立程序...都歡迎。
如果您舉一個軟件的例子,請告訴我們它具有上述功能。
查看Spread Toolkit (一個C / C ++群組通信系統)。 通過這種方式,您可以重新平衡分布式工作負載,從而檢測節點/進程故障以及恢復/啟動。
根據您的應用程序要求,我將檢查BOINC基礎結構。 他們在最新版本中實現了一種客戶端/服務器通信形式,目前尚不清楚您需要哪種通信形式。 他們的API用C語言編寫,我們已經很容易用C ++編寫了包裝。
BOINC的另一個優點是,它旨在針對SETI或Rosetta @ Home之類的大型分布式計算項目進行擴展,因此它支持諸如驗證,作業分配以及針對不同平台的不同應用程序版本的管理之類的工作。
這是鏈接:
有Hadoop 。 它具有Map Reduce,但我不確定它是否具有我需要的任何其他功能。 有人知道嗎
您確實在尋找“工作計划程序”。 節點是“靜態”注冊到作業調度程序的。 這使作業調度程序可以檢查節點並確定核心數,RAM,可用的暫存磁盤空間,OS等。 所有這些信息都可以用於選擇作業所需的資源。
作業調度程序還提供群集的基本運行狀況監視。 發生故障的節點會自動從可用節點列表中刪除。 (通過調度程序)正在運行作業的節點也將從可用節點列表中刪除。
SLURM是您可能考慮的資源管理器和作業計划程序。 SLURM具有用於LSF和PBSPro的集成掛鈎。 幾個MPI實現是“ SLURM感知的”,並且可以使用/設置環境變量,這些變量將允許MPI作業在SLURM為其分配的節點上運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.