使用具有多台计算机的任务并行库

有没有办法在多计算机场景中使用任务并行库?

我的意思是,如果我有大量的任务,我可以通过LAN在多个服务器上安排它吗?

TPL面向单计算机,多处理器核心场景。

如果要跨多个系统工作,则需要使用某种类型的群集软件,例如MPI (可通过MPI.NET直接在.NET中使用)或基于Windows HPC的众多选项之一。

话虽这么说,TPL对集群的每个节点都非常有用。 它可用于使每个群集节点在该节点上可用的核心上很好地扩展。

没有TPL关注进程中的本地线程。 然而,现有的项目确实可以解决这个问题。

http://research.microsoft.com/en-us/projects/dryad/

你可以看看这个SO问题的答案

.NET的任何良好的分布式代理/服务模型?

TPL的默认设置是在.NET线程池上安排任务,因此这是针对单个进程内的并行性。 但是,您可以实现自己的TaskScheduler,它可以处理任务实际运行的方式,因此至少在理论上您可以超越当前范围。 虽然可以做到这一点,但我确信Reed Copsey和Chris Taylor指出有更好的选择。