我有 3 台电脑,想知道是否可以将它们连接到集群中。我读过几篇关于集群的文章,但有一篇文章我不太确定。如果我构建集群,我可以在上面运行“普通”操作系统的应用程序吗(我不知道,例如我的 eclipse IDE:D)以及它们是否会运行得更高效?我认为集群在服务器、存储方面更有用...
也许答案很明显,很简单,但我不是这个领域的专家:D
答案1
集群通常不会对交互式程序产生积极影响,因为它们很少能并行化。Eclipse是高度并行化,但恐怕您不会看到搜索、切换选项卡等日常操作的明显加速。
然而,汇编并行化(因此在集群中执行)带来巨大好处。例如,如果你正在编译 C/C++,你可以使用分布式。一些其他操作也可以在集群中加速,例如 3D 和电影渲染、自动化测试和科学计算。
答案2
要在集群上并行运行应用程序,必须专门启用它们。能够在多核架构上运行的应用程序也不一定能够使用分布在集群中的多个内核。这是并行编程领域中的“共享内存/线程”(多核)与“分布式内存/消息传递”(集群)的区别。
如果您使用的是 Linux,则有很多免费软件可帮助您实现集群计算。从http://www.beowulf.org一些提示。如果应用程序说它是用 MPI 构建的,那么它就可以在集群上运行了。其他声称支持分布式计算的工具(例如 gmake -p)也应该在进行一些设置后才能运行。
如果您是 Windows 用户,那么 Windows HPC Server 2008 R2 是您的最佳选择,因为它具有您开始探索所需的软件堆栈 - 但它不是免费的!
如果您有兴趣了解集群计算,那么自己构建集群是一个很好的选择,而且会让您的简历更具吸引力,让雇主对您青睐有加。如果您只是想快速拼凑一些东西来提高现有应用程序的性能,您可能会感到失望和沮丧。
祝你好运!