![]() |
1
2
消息传递是解决并行编程思想的另一种方法。Axum和Erlang都使用消息传递。它们并不能直接进行比较,因为它们都在处理两个特定的实现。 我在消息传递中看到的好处是,任何网络/进程边界都可以透明化,消息传递本身不依赖于底层线程(所有消息和参与者都可以在一个线程上)。 据我有限的理解,TPL是在.NET中构建/替换/大大改进当前线程模型的基础上建立的,也就是说,您可以控制实际的线程,并通过传输参数或使用共享状态进行通信。 如果它是从一开始的,并且设计适合分成非常小的代码段,那么我建议使用mpi.net。如果工作类型是CPU密集型的(如数学工作),我建议使用TPL路由。 编辑: 长时间编辑,这个答案是老的!mpi.net直接适合于hpc,因为它使hpc节点的通信边界透明且可配置。mpi.net向端点发送消息-这些点在配置文件中定义为IP/端口地址。代码不知道端点跨越网络边界。 如果您选择在hpc上使用tpl(不确定是否支持它),那么您的代码就必须知道节点以及如何将处理从一个节点传输到另一个节点,因此您不会获得任何好处。 |
![]() |
2
6
据我所知,tpl不支持分布式计算,而mpi.net支持分布式计算。 |