我家里有很多未使用过的电脑.对我来说,最简单的方法是利用它们并行化我的C#程序,只需很少或不需要更改代码?
我正在尝试的任务涉及循环许多英语句子,数据集可以很容易地分成更小的块,同时在不同的机器中处理.
...很少或没有代码更改?
难.基本上,将WCF视为通过网络在程序的各种实例之间进行通信的一种方式.根据算法,结构可能必须彻底改变,或者根本不改变.无论如何,您必须找到一种方法将问题分成彼此独立行动的部分.然后,您必须设计一种在不同实例之间分配这些部分并收集结果数据的方法.
PLinq提供了一种很好的方式来并行化您的程序而无需进行大的更改,但这只适用于一个进程,跨不同的线程,然后只有算法适合并行化.通常,一些手动重构是必要的.