问题描述
|
我是并行编程的新手。我对使用MPI和Windows HPC服务器的SOA编程模型进行了很多研究。但是现在我比以往更加困惑。当前的任务是在多台计算机上运行一个程序(用户将提供IP地址),该程序将获取一个包含数百万个字符串的输入文件,并提取某些区域。我已经完成了编程(在C#和.net4 fw中),并且已经在一台计算机上成功进行了测试。但是问题是我必须使其平行以加快速度。我只希望有人向我展示不使用MPI的方法的方向。我希望我的问题很清楚。
谢谢。
解决方法
您将需要在目标计算机上实例化一些行为,这些行为将需要打开并侦听您的请求。我建议您调查WCF以在整个网络中进行通信。
根据您的环境,对于这种类型的项目,安全性通常是一个有趣的障碍。
,您可以尝试树妖。它包括一个类似LINQ的API。
,您可以尝试重新设计应用程序以将silverlight用作客户端处理器。
http://www.codeproject.com/KB/silverlight/gridcomputing.aspx
,如果我理解您的问题,一个解决方案是更改程序,以便它在某个端口上侦听要执行的工作,并使其在多台计算机上运行。然后,您需要一个作业提交者在一台或多台计算机上运行。提交者可以接收与运行程序的一部分计算机相对应的IP地址,然后与已经运行的程序实例进行通信,从而为他们提供其尚不了解的有关其工作的信息。去做。
在许多计算机上运行的工作程序是一个“服务”,而作业提交程序是一个“客户端”。