是否可以结合 2 台计算机的处理能力?

Wer*_*eta 21 windows-7 parallel-processing

这里有几个问题,希望各位大侠赐教。

  1. 是否可以结合 2 台计算机的处理能力?
  2. 我该怎么做?

min*_*nda 15

在运行的程序可以以某种方式使用第二台机器来执行代码的地方不透明,因为它们在逻辑上是分开的,cpu 无法通信或访问彼此的内存。

这并不意味着您不能结合处理能力:

  1. 特定软件可能具有可以在其他机器上执行的组件,例如蛋白质折叠、SETI @ home。这些往往是专门的,即您不能启动 Excel 并告诉它使用另一台计算机进行计算。
  2. 如果您正在执行处理器密集型任务,您可以使用辅助机器来运行它们,例如编码/重新编码视频流。

如果您想以任何方式利用辅助计算机,能够远程控制它是至关重要的。实现此目的的两种方法是通过某种远程访问(RDP、VNC)或诸如 Synergy+ 之类的方法。

  • 举例来说,我的笔记本电脑上有 4GB RAM,PC 上有 4GB RAM,RDP 是否允许我虚拟地运行具有 8GB RAM 的程序? (2认同)

小智 8

如果您正在寻找一种将两台 PC 的处理能力合并为一台的方法,那么“最简单”的方法是使用 VMWare ESXi 等软件将它们配置为虚拟机主机(预先警告这将需要设备具有兼容的硬件)并创建资源组或集群,并创建使用两台计算机资源的虚拟机。这不会让您获得完整的 2 倍速度(由于虚拟化,您将丢失资源)并且由于可能的兼容性要求是一个有限的解决方案,但它是您问题的最“正确”答案。虚拟机将像一台 PC 一样,具有两台主机的处理能力减去维持虚拟化所需的开销。


Wil*_*sum 6

我最常用的台词之一 - 是和否!

是的,这是可能的 - 对于旨在以这种方式工作的某些应用程序。(通常称为集群 -在此处进一步阅读

不,不可能(至少据我所知)将两台现成的计算机“捆绑”在一起并获得组合的内存、处理能力和其他一切。


Nip*_*rus 5

这是很有可能的!但是从您的问题的简单性来看,我假设您只想运行一个程序,该程序可以神奇地使您的计算机速度提高两倍,这是不可能的。

您需要了解,当程序运行时,它通过激发 CPU 在 HDD、RAM 和 CPU 寄存器之间移动内存以及各种组件(例如视频卡或网卡)上的地址来维持其状态。使用另一台计算机的 CPU 来帮助您的麻烦在于它需要访问相同的内存。并且在另一台计算机上维护计算机内存的镜像需要大量开销,因此很容易违背尝试添加另一台计算机以获得性能的目的:)

但是可以在多台计算机之间拆分的事物类型是图像渲染或一些可以独立工作的数学计算。