朱莉娅的流程数量

时间:2016-03-29 19:36:27

标签: parallel-processing julia

我的本​​地机器上有一个四核CPU。如果我将julia作为

运行
julia -p 4

并运行一个带并行计算的脚本,我的理解是:

  • 核心1:运行脚本和所有非并行计算+并行工作者1
  • Core 2:parallel worker 2
  • Core 3:parallel worker 3
  • 核心4:并行工作者4

这是对的吗?

此外,如果我的进程多于核心数,会发生什么?例如

julia -p 8

是否类似以下内容?

  • 核心1:运行脚本和所有非并行计算+并行工作者1 +并行工作者5
  • Core 2:parallel worker 2 + parallel worker 6
  • Core 3:parallel worker 3 + parallel worker 7
  • Core 4:parallel worker 4 + parallel worker 8

2 个答案:

答案 0 :(得分:5)

除非您手动将工作人员与特定核心相关联,否则该关联将是您的操作系统决定的任何内容,并且可能会随着时间而变化。

答案 1 :(得分:4)

这是一个有问题的问题,但简而言之,它不会留给朱莉娅。由调度程序决定哪些资源可以正常工作。进程(工作者)甚至可以切换核心(即,工作者2可以在核心3上开始,然后在核心4上继续)。处理器上的工作者和核心之间没有关系。

通常,调度程序可能会尽可能长时间地保持进程在同一个内核上运行,以避免上下文切换的成本增加。