情况:
在工作中,我们有一个内部数据处理工具。当触发作业时,它会在单独的进程中启动自身的多个副本并与它们通信,以便并行处理。它目前设置为在 4 核机器上使用 4 个并行进程,操作系统自然会将每个进程分配给一个核心。该程序目前在 Windows 7 64 位下运行。
问题:
是否可以利用联网机器的处理能力来运行更多并行进程?我想知道我的情况是否比其他情况更简单,因为该算法已经在多个进程中并行化,系统调度程序可以简单地将这些进程分配给不同的核心。
限制:
进程虚拟化必须对进程透明;即它仍然可以看到主机系统中的所有硬件/驱动器/NIC。
处理程序的源代码已在历史中丢失,所以我只能使用现有的并行化方案。
目前发现的潜在解决方案:
- 设置一个可以在多台机器上运行的虚拟机,该虚拟机在虚拟操作系统中表现为一台高性能机器。(不确定用什么术语来描述这一点,所以很难研究它)。
- 诸如 Incredibuild 之类的解决方案可以将流程外包给其他机器(这很棘手,因为它似乎需要可分配给不同机柜的单独可执行文件,并且透明度较低)。
理想情况下,我想我正在寻找一个开箱即用的虚拟化系统,它可以跨集群虚拟使用 Windows 操作系统。我希望这不是一个令人难以接受的苛刻要求!
注意:我是一名控制系统工程师,而不是系统管理员,因此我可能遗漏了一些明显的要点。这也是我在 SE 网站上提出的第一个问题!
谢谢。