我有一台安装了 Ubuntu 服务器版本 (10.04.1) 的备用计算机,我想知道是否有办法使用我的服务器来帮助处理我的 Ubuntu 桌面(相同版本)上的数据。我想与我的服务器共享任何重型处理器功能,以减轻我桌面上的负载。有谁知道一个好的/简单的方法来做到这一点?它们通过路由器连接在同一个网络上。我将在下面列出我认为可能是每个组件的相关组件。
台式机 - Intel core 2 quad @ 2.83Ghz
以太网控制器:Atheros Communications Atheros AR8121/AR8113/AR8114 PCI-E 以太网控制器(版本 b0)
服务器 - Pentium 4 @ 2.8Ghz 超线程
以太网控制器:英特尔公司 82540EM 千兆以太网控制器(rev 02)
如果您正在寻找一种用于一般计算机使用的方法,即如果您没有考虑一些特定的、计算密集型的数学问题,那么答案是不可能的。单个程序必须专门设计用于执行分布式计算。
概念上的解释是,为了让另一台计算机辅助处理任务,先决条件的输入指令和资源必须被完全预测并提前传递给计算机。即使可以解决预测处理任务的难题,将指令和资源发送到另一个系统所涉及的开销对于通常在台式计算机上完成的那种处理来说也太昂贵了。
为了使分布式计算能够带来效率的净增长,与通信开销相比,可以预测的处理输入量必须很大。在实践中,这将可能的应用限制在计算密集型数学问题上,例如蛋白质折叠和3D 渲染。
以防万一其他人来看这里,我想我会分享我的发现。
有一个名为LinuxPMI的项目,旨在在配置为使用它的计算机网络之间共享进程。
出于研究目的,因为项目可能合并并停止,此历史可能有助于在未来找到它:
创建了一个名为 clusterix 的项目,该项目使用openMosix项目作为集群/网格计算的基础。
正如其他人所说,这目前不适用于通用计算。它可用于 Linux 中的专门应用程序,例如 DVDRip。如果您有兴趣做一些工作并且想要处理特定的通用任务,请查看Bash Reduce,这是一个完全在 bash 中完成的 Map Reduce 实现。