Linux

使用混合 Mac 和 Linux 系統建構分佈式計算系統的策略

  • September 23, 2017

我想建構一個分佈式計算系統來執行 Matlab、C 和其他程式語言進行科學計算。現在我有幾台安裝了 Lion Mac OS 的舊 Mac 機器充當 Web 伺服器或個人電腦。我還有一台最新的 16-Xeon 核機器要安裝 Linux。我還沒有決定我們應該為新機器使用哪個 Linux 發行版,但我們需要考慮以下因素。請幫助我決定我可以使用哪個 Linux 發行版、我可以使用哪些分佈式計算軟體以及如何管理數據備份和隊列分配。

  1. 所有具有 Mac 或 Linux 作業系統的機器都可以用作並行或分佈式計算的集群系統。具體來說,我們希望在具有多個使用者和執行緒的隊列中跨機器執行程序。在所有機器不對稱的情況下,但我們不想降低最強大機器的速度。
  2. 新機器優先用作頭節點,但至少輔助機器也應該能夠充當頭節點,以防頭節點被關閉。
  3. 備份過程應該易於設置,並且可以遠端控制。這不如前兩個因素重要。至少我們可以手動備份重要數據。

我已經搜尋了Google,但我還沒有找到適合我的情況的解決方案。提前感謝您的建議!

在我建立了幾個 HPC 集群之後,我可以告訴你,你想做的事情會給你帶來集群中節點之間的兼容性問題的巨大麻煩——這可能就是你找不到一個通過Google直接回答。

這些兼容性問題包括軟體版本、系統庫、數值和計算庫、C 和 Fortran 等編譯器(及其庫)、PATH 和 LD_LIBRARY_PATH 等變數、GNU 和非 GNU 版本的 shell 實用程序之間的差異,可能是 CUDA 與用於 GPGPU 計算的 OPENCL(或相同版本)等等。

僅使用兩個不同的 linux 發行版(甚至在集群的不同節點上使用同一發行版的不同版本),您就會遇到許多此類問題。

您可能會發現設置兩個集群更容易 - 一個具有單個節點(執行 linux 的 Xeon),另一個具有多個節點(執行 OS X Lion 的舊 Mac)

但是,如果這不是一個選項,那麼要考慮的最重要的事情是調度程序,而不是 linux 發行版。

我個人不想設置你想要的,但如果我必須這樣做,我不會考慮使用PBS 或 Torque,我會使用Slurm。Slurm 對可以在哪些節點上執行哪些應用程序具有更細粒度的控制。Oracle 的Grid Engine是另一種選擇,可以滿足您的需求,但我對它還不夠熟悉,只能提及它存在的事實。

引用自:https://unix.stackexchange.com/questions/91919