Hypervisor
從 32 位桌面建構並行處理網格
我正在我的筆記型電腦上執行模擬(Core 2 Duo 1.8Ghz,4GB RAM 執行 Windows 7),這需要很長時間。
我有幾個未使用的 32 位(Core 2 Duo 1.8Ghz 和 4GB RAM)桌面。我想使用 LAN 將它們(作為從屬)連接到我的筆記型電腦(作為主控)的網格中,以更快地完成算法的執行。
這該怎麼做?我應該使用哪個作業系統?我的作業系統應該是伺服器嗎?我需要任何額外的硬體嗎?
請指出我的任何教程或書籍。請給我您寶貴的意見和建議。
您建構哪種類型的分佈式/並行計算基礎架構在很大程度上取決於正在解決的問題。最容易分配的工作負載是那些很容易細分的工作負載:將問題集分成 4 個塊,將這些塊分配給 4 台機器,一旦處理完成,將結果縫合在一起。不適合細分的工作負載是那些強烈依賴先前或目前處理數據的工作負載。
對於無法細分的數據,最好的辦法是查看一些現有的單系統映像框架(請參閱連結以獲取列表)。這些導致多個系統模擬一個更大的系統。即便如此,在設計處理過程時也必須注意盡量減少系統間通信。像這樣的系統是 Infiniband 等網路產品真正有用的地方。
對於可以細分的數據,您有更多選擇。最大的可能是BOINC,它是圍繞非常高延遲的工作單元報告(小時、天甚至幾週)而設計的。我聽說那裡有私有 BOINC 集群。
我在大學裡用過的一個是PVM。這是一個 C 庫(存在一個 perl 包裝器,它是新的),可以通過各種傳輸實現系統間通信。
無論您選擇什麼,您仍然需要重新設計計算框架的功能。這將是很多工作,但至少您可以使用更多資源來解決您的問題。您幾乎不可能將現有程式碼放入分佈式計算框架中並使其全部工作,只是讓分佈式框架啟動並執行將是一個挑戰。