如何在多台计算机之间划分进程

如何在多台计算机之间划分进程

我有一台闲置的电脑,上面安装了 Ubuntu 服务器版本 (10.04.1),我想知道是否有办法使用我的服务器来帮助处理 Ubuntu 桌面(同一版本)上的数据。我想与我的服务器共享任何重处理器功能,以减轻桌面的负载。有人知道一个好/简单的方法来做到这一点吗?它们通过路由器连接到同一个网络上。我将在下面列出我认为可能与每个组件相关的组件。

台式机 - Intel 酷睿 2 四核 @ 2.83Ghz

以太网控制器:Atheros Communications Atheros AR8121/AR8113/AR8114 PCI-E 以太网控制器 (rev b0)

服务器 - Pentium 4 @ 2.8Ghz,带超线程

以太网控制器:英特尔公司 82540EM 千兆以太网控制器(rev 02)

答案1

如果你正在寻找一种方法来实现一般计算机的使用,也就是说,如果你没有考虑一些特定的、计算密集型的数学问题,那么答案是这是不可能的。必须专门设计单个程序来执行分布式计算。

概念上的解释是,为了让另一台计算机协助处理任务,必须完全预测先决条件输入指令和资源,并提前将其传递给计算机。即使可以解决预测处理任务的难题,将指令和资源发送到另一个系统所涉及的开销对于通常在台式计算机上完成的处理类型来说也过于昂贵。

为了实现分布式计算网络增加在效率方面,可以预测的处理输入量必须比通信开销大得多。实际上,这将可能的应用限制在计算密集型领域数学问题喜欢蛋白质折叠3D 渲染

答案2

为了防止其他人来这里寻找,我想我会分享我的发现。

有一个名为LinuxPMI旨在用于在配置使用它的计算机网络之间共享进程。

出于研究目的,由于项目可能会合并或停止,此历史记录可能有助于将来找到它:

创建了一个名为 clusterix 的项目,使用开放Mosix项目作为集群/网格计算的基础。

答案3

正如其他人所说,目前此功能不适用于通用计算。它可用于 Linux 中的专用应用程序,例如 DVDRip。如果您有兴趣做一些工作,并且有特定的通用任务想要处理,请查看Bash 减少,一个完全用 bash 完成的 Map Reduce 实现。

相关内容