我家里有许多未使用的电脑。如果我想用最少或不需要改动代码的方式,利用它们将我的 C# 程序并行化,那么最简单的方法是什么?
我要完成的任务包括循环处理大量英语句子,数据集可以轻松地分成较小的块,在不同的机器上并发处理。
我家里有许多未使用的电脑。如果我想用最少或不需要改动代码的方式,利用它们将我的 C# 程序并行化,那么最简单的方法是什么?
我要完成的任务包括循环处理大量英语句子,数据集可以轻松地分成较小的块,在不同的机器上并发处理。
这可能是不可能的。
如何并行化程序完全取决于您的程序做什么以及它是如何编写的,通常需要进行大量代码更改,并且使您的程序复杂度增加多倍。
通常简单地增加程序的并发性的方法是将重复执行的任务拆分成多个块,并编写一个函数将这些块发送到不同的核心进行处理。
你需要在分布式系统上运行应用程序,可以通过谷歌搜索“分布式计算窗口”或者“网格计算C#”来获取相关信息。
有几个软件解决方案可以让您使用基于商品硬件。其中一个是Appistry。我在Appistry工作,我们已经完成了众多解决方案,以在数百台机器上运行C#应用程序。
一些有用的链接: http://www.appistry.com/resource-library/index.html
您可以在此处免费下载产品: http://www.appistry.com/developers/
希望这可以帮助到您。 -布雷特