2

我在寫一個C++項目來解決Travelling salesman problem使用genetic algorithms。當然,我想使用同一局域網中的一堆(大約40臺)計算機來加快速度。電腦都運行Windows XP ...所以,問題是使用給定的設備並行化的方法是什麼使用LAN中的計算機進行並行計算?

更新: 您已經幫我縮小了我的選擇範圍,使其成爲開放式MPI的mpich,所以剩下的唯一問題是我應該使用boost MPI包裝器嗎?另外,你可以推薦mpich/OpenMPI的教程嗎?

+0

計算機是否有運行遠程外殼(SSH)服務器?他們共享一個網絡文件系統(驅動器)? – 2011-04-13 17:45:14

+0

如果我需要它,我可以設置一個SSH服務器。是的,他們有一個可公開訪問的驅動器。 – dancsi 2011-04-13 17:59:05

回答

3

您需要使用某種形式的通信來同步系統之間的進程。這種類型的應用程序的通用API是使用Message Passing Interface (MPI)。 MPI/MPI-2在Windows XP上有很多實現。

1

MPI是此類項目最常用的標準之一。這個標準有很多來自不同廠商的實現。我想你應該考慮其中的兩個:

另一個有趣的方法是使用OpenMP的。有集羣OpenMP實現。這種解決方案可能更容易實現,但在某些情況下不能像MPI那樣具有可擴展性。

+0

分佈式OpenMP? – 2011-04-13 17:48:56

+0

OpenMPI呢? – dancsi 2011-04-13 17:52:52

+1

是的。你可以在這裏找到更多的信息:http://www.hpcwire.com/features/17884424.html http://software.intel.com/file/6330 – Elalfer 2011-04-13 17:53:29