C# 如何在多台计算机上运行并行程序(用户指定的IP地址)?

C# 如何在多台计算机上运行并行程序(用户指定的IP地址)?,c#,parallel-processing,C#,Parallel Processing,我不熟悉并行编程。我研究了很多关于使用MPI和WindowsHPCServer的SOA编程模型的知识。但现在我比以前更困惑了。手头的任务是在多台计算机上运行一个程序(IP地址将由用户提供),该程序接收一个充满数百万字符串的输入文件并提取某些区域。我已经完成了编程(在C#&net4 fw中),并在一台计算机上成功地进行了测试。但问题是,我必须使它并行以加快速度。我只是想有人告诉我一个不涉及使用MPI的方法的方向。我希望我的问题足够清楚 谢谢。你可以试试。它包括一个类似LINQ的API。您需要在目标

我不熟悉并行编程。我研究了很多关于使用MPI和WindowsHPCServer的SOA编程模型的知识。但现在我比以前更困惑了。手头的任务是在多台计算机上运行一个程序(IP地址将由用户提供),该程序接收一个充满数百万字符串的输入文件并提取某些区域。我已经完成了编程(在C#&net4 fw中),并在一台计算机上成功地进行了测试。但问题是,我必须使它并行以加快速度。我只是想有人告诉我一个不涉及使用MPI的方法的方向。我希望我的问题足够清楚


谢谢。

你可以试试。它包括一个类似LINQ的API。

您需要在目标机器上实例化一些行为,这些行为需要打开并侦听您的请求。我建议您通过网络进行交流


根据您的环境,安全性通常是此类项目的一个有趣障碍。

您可以尝试重新设计应用程序,将silverlight用作客户端处理器


如果我理解你的问题,一个解决方案是更改你的程序,让它在某个端口上侦听要做的工作,并让它在多台计算机上运行。然后您希望作业提交者在一台或多台计算机上运行。提交者可以接收与运行您的程序的计算机子集相对应的IP地址,然后与已经运行的程序实例进行通信,向它们提供关于要执行哪部分工作的任何信息


在许多计算机上运行的worker程序是一种“服务”,而job submitter程序是一种“客户端”。

我想我将深入研究WCF,我的问题需要一种解决方案,用户不必安装第三方服务。这就是我试图避免HPC和MPI的原因。生物学家通常不是理想的最终用户。。。所以我想让它变得简单,只需输入IP并在这些CPU上调度分区数据处理。非常感谢你的建议,Dryad一直都是。