1

我对此有点困惑。如果您正在构建一个分布式应用程序,在某些情况下可能会执行并行操作(尽管不一定是数学运算),您应该使用 ASIO 还是 MPI 之类的东西?我认为 MPI 比 ASIO 更高级别,但尚不清楚堆栈从何处开始。

4

2 回答 2

2

我对 ASIO 一无所知,但从快速的谷歌来看,它看起来比 MPI 低得多。对我来说,MPI 的全部意义在于,我可以针对比 ASIO 提供的更高级别的消息抽象进行编程。你从哪里开始取决于你的需要。对于我来说,并行化高性能科学代码,显而易见的答案是 MPI。我不确定我是否会使用它,或者至少不确定它是否是我的默认选择,如果我正在编写更通用的分布式应用程序,而不是并行应用程序。好吧,实际上,避免学习另一种方法可能是我的默认选择(其中大多数方法的便携性和寿命都不如 MPI),但我承认,如果从平等的基础开始,它可能不是最佳选择。

于 2010-03-08T13:47:44.420 回答
1

据我所知,当新的分布式节点想要加入已经启动的组时,MPI 目前无法处理这种情况。如果其中一个节点脱机,也可能会出现问题。

MPI 不会显示任何与网络相关的机器。因此,如果您需要较低级别的东西-您就有麻烦了。另一方面,如果您没有这种需求,那么使用 MPI 将为您节省大量时间。

于 2010-03-19T10:23:36.990 回答