并行中的物理内核与虚拟内核

Cod*_*ity 1 parallel-processing concurrency f# multithreading hardware-infrastructure

在虚拟化方面,我一直在考虑物理内核和虚拟内核之间的关系,特别是它如何影响采用并行性的应用程序.例如,在VM场景中,如果物理内核少于虚拟内核,如果可能,那么应用程序的并行处理会产生什么影响?我问,因为在我的环境中,没有透露物理架构是什么.如果应用程序位于单核心物理机器上托管的双核VM上,那么并行化还有很多优势吗?

S.L*_*ott 6

如果应用程序位于单核心物理机器上托管的双核VM上,那么并行化还有很多优势吗?

总是.

操作系统级并行处理(即Linux管道)将显着提高性能,无论您拥有多少核心(真实或虚拟).

实际上,你必须创建相当人为的问题或者真正愚蠢的解决方案,不要将性能改进从简单地将大问题分解为管道中的许多小问题.

一旦您获得了流水线解决方案,并且它占用了100%的虚拟资源,您就可以测量一些内容.

开始尝试逻辑和物理资源的不同变体.

但只有您拥有占用每个可用资源的操作系统级别管道之后.在那之前,您已经完成了创建管道解决方案的基础工作.

  • 实际上有些算法本质上是单线程的,无法通过将它们分解成更小的块来加速.事实上,在这些情况下,您经常会看到放缓.知道何时尝试并行化代码以及何时不是密钥. (3认同)