我可以使用 Boost MPI 将文件发送到其他计算机吗?我担心的是它针对非常小的消息进行了优化,而不是更大的消息(我需要一次发送 700 MB 或更多)。原因是无论如何我可能会在程序的其他部分使用 mpi,所以我认为不混合和匹配将是一个非常干净的解决方案。
已经完成了吗?你会推荐它吗?
请记住,Boost MPI 要求您已经在要发送文件的系统上具有 MPI 实现(OpenMPI、MPICH2、MVAPICH2等)。您需要将其中之一与 Boost MPI 一起使用。
还要记住,MPI 是为高性能集群设计的,大多数 MPI 实现都假设您拥有可靠的硬件。也就是说,如果您在 MPI 中编写了一个应用程序并且您的某个进程出现故障,那么它们很可能都会死掉。
如果您打算在您自己的网络上的本地环境中使用它,并且您打算主要运行批处理作业而不是持久服务,那么 MPI 可能是一个不错的选择。如果不是,那么请研究为更分散、更不可靠的环境设计的其他一些消息传递解决方案。
MPI 是为高性能并行应用程序设计的,所以我绝对推荐它。(请记住,所有被接受的 Boost 库都经过了彻底的验证和测试
另一个(希望是有趣的)特性:“Boost.MPI 进程可以分布在许多不同的机器上,可能具有不同的操作系统和底层架构。”