12

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

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

4

3 回答 3

7

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

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

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

于 2010-10-05T17:41:59.203 回答
3

没有 TPL 专注于进程中的本地线程。然而,现有的项目确实解决了这一领域。

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

你可以看看这个 SO question 的答案

.NET 有什么好的分布式代理/服务模型吗?

于 2010-10-05T17:44:36.510 回答
3

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

于 2010-10-05T17:48:50.183 回答