项目使用我的台式机和笔记本电脑计算pi的数量。任何人都可以帮助发布我可以使用的项目的网址 分散式 </跨度> 计算 </跨度> 使用我本地网络中的计算机。
我已经尝试过以下但到目前为止没有运气:
http://www.codeproject.com/Articles/71897/Grid- 计算 </跨度> - 使用-C-脚本和-NET-远程处理(在Visual Studio中进行单向升级后,项目不起作用
我一直在.NET网格计算上挖掘一段时间,最后我决定自己构建。仍处于测试阶段但现在稳定了:)看看: http://lucygrid.codeplex.com/
我在演示项目中编写了PI示例。我会尝试尽可能简单地保持可用性,因此您只需要使用AsParallelGrid函数(有一个内置节点,该库将处理每个块,但当然您需要在其他机器上运行独立节点来测试网格)
代码是开源的,所以随意使用它。
来自LucyDemo项目:
public string Run(bool enableLocalProcessing) { double sum = 0.0; double step = 1.0 / (double)Steps; /* ORIGINAL VERSION object obj = new object(); Parallel.ForEach( Partitioner.Create(0, Steps), () => 0.0, (range, state, partial) => { for (long i = range.Item1; i < range.Item2; i++) { double x = (i - 0.5) * step; partial += 4.0 / (1.0 + x * x); } return partial; }, partial => { lock (obj) sum += partial; }); */ sum = Enumerable .Range(0, Steps) // Create bucket .GroupBy(s => s / 50) // Local variable initialization is not distributed over the grid .Select(i => new { Item1 = i.First(), Item2 = i.Last() + 1, // Inclusive Step = step }) .AsParallelGrid(data => { double partial = 0; for (var i = data.Item1; i != data.Item2 ; ++i) { double x = (i - 0.5) * data.Step; partial += (double)(4.0 / (1.0 + x * x)); } return partial; }, new GridSettings() { EnableLocalProcessing = enableLocalProcessing }) .Sum() * step; return sum.ToString(); }
我发布了Parallel版本和Grid版本。 我很高兴知道你是否尝试过。