【问题标题】:Difference between MATLAB parallel computing terminologiesMATLAB 并行计算术语之间的区别
【发布时间】:2015-05-16 00:49:55
【问题描述】:

我想知道两者的区别

1. labs
2. workers
3. cores
4. processes

仅仅是语义还是它们都不同?

【问题讨论】:

    标签: matlab parallel-processing worker cpu-cores


    【解决方案1】:

    labsworkers 是 MathWorks 术语,它们的意思大致相同。

    labworker 本质上是 MATLAB 的一个实例(没有前端)。您运行其中的几个,您可以在自己的机器上运行它们(只需要 Parallel Computing Toolbox)或在集群上远程运行它们(需要分布式计算服务器)。当您执行并行代码(例如 parfor 循环、spmd 块或 parfeval 命令)时,代码由工作程序并行执行,而不是由您的主 MATLAB。

    Parallel Computing Toolbox 在最近的版本中对其功能进行了相当大的更改和开发,并且还更改并开发了用于描述其工作方式的术语。在某些时候,在运行spmd 块时将它们称为实验室很方便,但在运行parfor 循环或处理作业和任务时将它们称为工作人员。我相信他们现在正朝着始终称他们为 workers 的方向发展(尽管命令 labSendlabReceivelabBroadcastlabindexnumlabs 中有一个遗留问题)。

    coresprocesses 是不同的,它们本身与 MATLAB 没有任何关系。

    核心是处理器的物理部分 - 您的台式计算机中可能有一个双核或四核处理器,或者您可能可以访问一台拥有更多处理器的非常大的计算机比起那个来说。通过拥有多个内核,您的处理器可以同时执行多项操作。

    进程是(大致)您的操作系统正在运行的程序。尽管操作系统同时运行多个程序,但它通常通过交错每个进程的操作来实现。但如果您可以访问多核机器,则这些操作可以并行完成。

    因此,您通常希望告诉 MATLAB 为您机器上的每个内核启动一个工作程序。这些工作人员中的每一个都将由操作系统作为一个进程运行,并且最终将在每个内核上并行运行一个工作人员。

    以上是相当简化的,但我希望给出一个大致准确的图片。


    编辑:将话题描述从评论移至答案。

    线程又是不同的东西。线程本身也与 MATLAB 无关。

    让我们暂时回到流程。我上面没有提到的一件事是,操作系统为每个进程分配了一个特定的内存块,其他进程不应该能够接触到,因此它们很难相互交互并搞砸。

    线程 就像一个进程中的一个进程——它是一个进程运行的操作流。通常,来自每个线程的操作是交错的,但如果您有多个内核,它们也可以跨内核并行化。

    但是,与进程不同的是,它们都共享一个内存块,这没关系,因为它们都由同一个程序管理,因此如果允许它们进行交互,那么它应该没那么重要。

    常规 MATLAB 自动使用多个线程来并行化许多内置运算(例如矩阵乘法、svdeig、线性代数等)——无需您执行任何操作,也无需您有 Parallel Computing Toolbox .

    但是,每个 MATLAB 工作线程都作为具有单个线程的单个进程运行,因此您可以完全控制如何并行化。

    【讨论】:

    • 我认为您已经掌握了这个位置 - 我仅在 spmd 块的上下文中将工作人员称为“实验室”。当然,该术语是在 R2006a 中引入的,当时被称为“并行作业”,当时还没有 spmd 块 - 直到 R2008b 才出现。
    【解决方案2】:

    我认为工人是流程的同义词。术语“核心”与硬件有关。 Labs 是一种允许员工相互交流的机制。每个工人至少拥有一个实验室,但可以拥有更多。

    这段讨论可能有用

    http://www.mathworks.com/matlabcentral/answers/5529-mysterious-behavior-in-parfor-i-know-sounds-basic-but

    希望这里有人能以更严谨的方式传递更多信息

    【讨论】:

      猜你喜欢
      • 2012-08-19
      • 1970-01-01
      • 2013-04-10
      • 1970-01-01
      • 2014-10-12
      • 2021-04-23
      • 2016-02-10
      • 2011-11-21
      • 1970-01-01
      相关资源
      最近更新 更多