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

时间:2010-10-05 17:39:29

标签: c# c#-4.0

有没有办法在多种计算机方案中使用任务并行库?

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

3 个答案:

答案 0 :(得分:5)

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

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

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

答案 1 :(得分:2)

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

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

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

Any good distributed agent/service models for .NET?

答案 2 :(得分:2)

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