有没有办法让虚拟机只有一个核心,但在主机上使用三个核心?

有没有办法让虚拟机只有一个核心,但在主机上使用三个核心?

可能重复:
虚拟机上的单个虚拟核心可以使用多个物理核心吗?

我是 Minecraft 服务器的共同所有者,该服务器每天都在不断壮大,但随着规模的扩大,我们遇到了 Minecraft 及其编码方式的限制。该游戏的编码并非使用多个核心,而是仅使用一个核心。因此,在与朋友交谈时,他建议看看是否有可能让虚拟机只有一个虚拟核心,但使用主机上四个核心中的三个。我做了一些研究,似乎找不到任何答案。主机操作系统是 Windows 还是 Linux 并不重要,我只是好奇是否可以做到这一点。

如果可以完成或自动完成,您能否提供链接以便我可以阅读并了解更多信息...我是虚拟机新手,所以请放心。

答案1

截至今天,所有答案似乎都是正确的:没有办法。

我想对这些陈述进行一些补充:

维基百科关于“自动并行化”。

自动并行化是采用给定的串行算法并尝试找到可以并行执行的命令序列的过程,然后将这些序列调度并分派到可用的(硬件:CPU)资源,然后将结果(=数据)连接回来进行进一步处理。

问题不仅在于找到不相互依赖并因此能够并行处理的序列。而且通信开销也可能变得过高。考虑一下您的特定问题,其中一个 Minecraft 世界将以某种方式分割到不同的 CPU 上:如果您将世界以几何方式分割,比如说:= 9 个块,那么在边界处,各个子世界需要交换任何世界修改或居民的移动。

虽然上述是一种典型的“分而治之”方法,并且问题的几何分割是并行化的广泛解决方案,但它通常是手工编码的,利用问题设计者(在本例中是游戏开发者)所拥有的知识。

您提出的想法将涉及一些完全未知的算法的自动化,因为虚拟“超级”服务器无法知道 Minecraft 内部的行为方式。因此,解决这个问题的唯一角度是执行的汇编代码。在如此低的水平上,很难(目前似乎不可能)想出一个有任何价值的解决方案。

谷歌可以搜索科学出版物这些天。如果你真的感兴趣,我会看看相关会议的出版物。组织如电气电子工程师学会计算机协会可能是个很好的起点。

答案2

九名妇女在一个月内无法生出一个孩子。抱歉,至少目前在 VM 环境中无法将 CPU 粘合在一起。但这是一个有趣的想法!

答案3

不。要点。您无法神奇地用物理核心制造出超级核心。Hyper-Visors 无法要求您的核心。

答案4

不。

相关内容