我在写一个C++项目来解决Travelling salesman problem使用genetic algorithms。当然,我想使用同一局域网中的一堆(大约40台)计算机来加快速度。电脑都运行Windows XP ...所以,问题是使用给定的设备并行化的方法是什么使用LAN中的计算机进行并行计算?
更新: 您已经帮我缩小了我的选择范围,使其成为开放式MPI的mpich,所以剩下的唯一问题是我应该使用boost MPI包装器吗?另外,你可以推荐mpich/OpenMPI的教程吗?
我在写一个C++项目来解决Travelling salesman problem使用genetic algorithms。当然,我想使用同一局域网中的一堆(大约40台)计算机来加快速度。电脑都运行Windows XP ...所以,问题是使用给定的设备并行化的方法是什么使用LAN中的计算机进行并行计算?
更新: 您已经帮我缩小了我的选择范围,使其成为开放式MPI的mpich,所以剩下的唯一问题是我应该使用boost MPI包装器吗?另外,你可以推荐mpich/OpenMPI的教程吗?
您需要使用某种形式的通信来同步系统之间的进程。这种类型的应用程序的通用API是使用Message Passing Interface (MPI)。 MPI/MPI-2在Windows XP上有很多实现。
MPI是此类项目最常用的标准之一。这个标准有很多来自不同厂商的实现。我想你应该考虑其中的两个:
另一个有趣的方法是使用OpenMP的。有集群OpenMP实现。这种解决方案可能更容易实现,但在某些情况下不能像MPI那样具有可扩展性。
计算机是否有运行远程外壳(SSH)服务器?他们共享一个网络文件系统(驱动器)? – 2011-04-13 17:45:14
如果我需要它,我可以设置一个SSH服务器。是的,他们有一个可公开访问的驱动器。 – dancsi 2011-04-13 17:59:05