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