有没有办法在多种计算机方案中使用任务并行库?
我的意思是,如果我有大量的任务,我可以通过LAN在多个服务器上安排它吗?
答案 0 :(得分:5)
TPL面向单一计算机,多处理器核心场景。
如果您想跨多个系统工作,则需要使用某种类型的群集软件,例如MPI(可通过MPI.NET直接在.NET中使用)或许多选项之一基于Windows HPC。
话虽这么说,TPL对集群的每个节点都非常有用。它可用于使每个群集节点在该节点上可用的核心之间很好地扩展。
答案 1 :(得分:2)
没有TPL专注于流程中的本地线程。然而,现有的项目确实可以解决这个问题。
http://research.microsoft.com/en-us/projects/dryad/
你可以看看这个SO问题的答案
答案 2 :(得分:2)
TPL的默认设置是在.NET线程池上安排任务,因此这是针对单个进程内的并行性。但是,您可以实现自己的TaskScheduler,它可以处理任务实际运行的方式,因此至少在理论上您可以超越当前范围。虽然可以做到这一点,但我确信Reed Copsey和Chris Taylor指出有更好的选择。