1

英特爾羣集OpenMP模擬器有哪些?該庫在分佈式內存機器(如PC的以太網連接集羣)上運行時模擬共享內存機器(如SMP或NUMA)。英特爾羣集OpenMP模擬器

該庫允許直接在羣集上啓動openmp程序。

我搜索

  • 庫,其允許多線程programms的分佈式集羣上運行
  • 或文庫(更換例如libgomp),其允許的OpenMP programms的分佈式集羣
  • 或編譯器上運行時,能夠除了Intel C++

回答

3

你想要搜索的關鍵字是「分佈式共享內存「;關於這個問題有一個Wikipedia page。成爲openMOSIX的MOSIX是目前正在開發的LinuxPMI的一部分,是我所知道的最接近的東西;但我對目前的LinuxPMI項目沒有太多經驗。你需要知道的

一件事是,這些系統沒有工作特別好,性能明智的。 (也許更樂觀的一種說法是,這對開發人員來說是完全可以使用的)。您不能僅僅提取訪問節點內存與網絡上其他節點上的內存非常不同的事實。即使快速製作本地內存系統也很困難,並且需要大量的硬件。你不能只希望有一點軟件會隱藏你現在正在通過網絡進行操作的事實。

當您考慮到您可能要運行的OpenMP程序幾乎總是要假定內存訪問是本地且便宜的時候,性能的影響尤其重要,因爲這正是OpenMP的用處。當您談論訪問公共緩存行的不同套接字時,虛假共享已經夠糟了 - 整個網絡中基於頁面的虛假共享只是災難性的。現在

,它很可能是,你必須使用很少的共享狀態一個非常簡單的程序,以及分佈式共享存儲系統就不會這麼糟糕 - 但在這種情況下,我必須想你」從長遠來看,只要將問題從基於共享內存的模型(如OpenMP)轉移到在羣集環境中更好地工作的問題上就更好了。

+0

LinuxPMI/MOSIX不是我所需要的。他們使用幾個模擬一臺計算機,他們進行全過程遷移來平衡負載。英特爾集羣OpenMP允許我輕鬆地(向編譯器添加一個選項)從單節點openmp切換到多節點openmp。將程序重寫爲MPI並不容易。 – osgx 2010-12-21 15:42:40

+0

要訪問Intel ClusterOpenMP中的非本地內存,將使用緩存。所以,重複訪問會很快。庫負責內存一致性。沒有falseshaing和反覆訪問程序將相當快 – osgx 2010-12-21 15:58:34

+0

+1:我同意@Jonathan Dursi(我通常會這樣做)。我認爲@osgx正相信任何共享內存程序的分佈式內存硬件都能帶來令人滿意的性能。正如偉大的約翰遜博士所說,在另一種情況下「它做得並不好,但你很驚訝地發現它完成了。」 – 2010-12-21 16:04:53