Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在多台计算机上使用任务并行库_C#_C# 4.0_Task Parallel Library - Fatal编程技术网

C# 在多台计算机上使用任务并行库

C# 在多台计算机上使用任务并行库,c#,c#-4.0,task-parallel-library,C#,C# 4.0,Task Parallel Library,有没有办法在多计算机场景中使用任务并行库 我的意思是,如果我有大量的任务,我可以通过局域网安排服务器数量吗?TPL面向单台计算机、多处理器核心场景 如果您想跨多个系统工作,则需要使用某种类型的群集软件,例如(可通过直接在.NET中使用)或基于的多种选项之一 也就是说,TPL在集群的每个节点上都非常有用。它可以用于使每个集群节点在该节点上可用的核心之间进行良好的扩展。没有TPL关注进程内的本地线程。然而,现有的一些项目确实解决了这一问题 你可以看看这个问题的答案 TPL的默认设置是在.NET线程

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


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

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

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


也就是说,TPL在集群的每个节点上都非常有用。它可以用于使每个集群节点在该节点上可用的核心之间进行良好的扩展。

没有TPL关注进程内的本地线程。然而,现有的一些项目确实解决了这一问题

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


TPL的默认设置是在.NET线程池上调度任务,因此这旨在实现单个进程内的并行性。但是,您可以实现自己的TaskScheduler,它处理任务的实际运行方式,因此至少在理论上您可以超越当前范围。虽然这是可以做到的,但我相信正如里德·科佩和克里斯·泰勒所指出的,还有更好的选择

谢谢你的回答!我正在研究Dryad。Dryad非常令人惊讶,但它只是在这个时间点上的学术性:(还没有商业化的方法)谢谢你的回答!我正在研究DryadFWIW,我记得我在一次构建会议上听说(至少当时)计划最终引入“代理”这将允许分布式任务。然而,我现在很难在上面找到任何东西…@Jeff你在考虑TPL数据流(),也许?或者可能是Azure Actor框架?有趣的是,今天有人指出Actor fx在工作。我想这一定是我想的,谢谢!@ReedCopsey我想我们也可以使用akka.net使用TPL在多个系统中运行进程。里德有什么建议吗?@virender akka.net今天是我的建议(这是7岁)-但TPL数据流是单台计算机/proc。