【发布时间】:2019-01-08 08:54:43
【问题描述】:
我是一名建筑设计专业的学生,使用 3D 程序(如 Blender、Rhino 等)。我通常发现计算繁重的几何图形需要很多时间。所以,我想我们是否可以将计算分配到多台机器上以快速完成工作。
现在的问题是,我想在不实际运行我在每台机器上使用的软件实例的情况下分发计算。因为,我读过很多分布式系统都是这样工作的,通过在执行该工作的每个节点中运行软件实例。但是,我的问题是,我们能否只在一台机器上运行“主软件”,并通过在每台机器上运行“支持软件”(我们编写的)来使用许多机器的资源来完成工作.因此,这就像将“n”台机器视为“一台”。
有没有可能……?
【问题讨论】:
-
简短(也是唯一的)答案是:不,这是不可能的。如果没有在其他系统上运行一些特殊程序,就没有什么可以做任何工作(或者甚至监听关于工作的网络通信)。
-
我的意思是,假设我在软件 X 中渲染某些东西。我们是否可以编写一个程序 Y,它可以将渲染工作分配到多台机器上,而无需在每台机器上安装软件 X。我并不是说其他任何机器都不应该在任何其他机器上运行。我在问,我们是否可以在每台机器上运行 Y 来分发 X 的工作,而无需在每台机器上都有 X。
-
我绝对不是这个主题的专家,但在我看来,你可以在“工人”机器上拥有更多简化的程序,并在机器上拥有更多的“主”程序单机。
-
那么是的,这通常是可能的。但是,如果您当前的软件可能的话,那是一个不同的问题,而不是真正的话题。
标签: python networking network-programming distributed-computing