我有一台运行 Linux 的 x86-64 计算机,我想补充其他非 x86-64 Linux 计算机。
是否有可能以某种方式从另一台机器的计算能力中受益,而无需它是相同的架构?
作为第二个问题,可以获得什么样的性能提升,是否需要专门的软件才能工作?或者 Linux 是否可以将集群/附加机器抽象为附加 CPU?
我有一台运行 Linux 的 x86-64 计算机,我想补充其他非 x86-64 Linux 计算机。
是否有可能以某种方式从另一台机器的计算能力中受益,而无需它是相同的架构?
作为第二个问题,可以获得什么样的性能提升,是否需要专门的软件才能工作?或者 Linux 是否可以将集群/附加机器抽象为附加 CPU?
根据软件的不同,它可以或不能被抽象掉。做这些事情通常涉及远程过程调用,并且取决于您使用的库,它可以或不能被抽象掉。
一个基本示例是执行 RPC 并给出一个整数作为参数。一些架构使用 big-endian,其他架构使用 little-endian,而您的 RPC 库必须处理好这一点。
无论如何,你不应该依赖这个事实。您需要有正确的抽象层(例如,IP 通信是一个很好的起点)。这在一定程度上是允许“服务中升级”的必要条件,即添加可能/或不与起始集群配置具有相同架构的较新机器。
想象一下你的老板:“好吧,我们需要停止整个服务,因为我们有这些花哨的新机器......”。 (我可以清楚地听到回复)
当然,如果在您的具体情况下生产环境的问题超出了范围,您可以忽略我的报价。我们只是说这将是任何大型部署的典型要求。
最后,处理对称集群总是更容易(简化维护),但同样,在处理“滚动升级”时,非对称集群可以成为“垫脚石”。
澄清:我从不逃避抽象一切。 澄清#2:“架构”我假设“CPU架构”,即不是“整个系统的架构”。
至于您问题的第二部分:这完全取决于您的软件架构。