Multithreading SLURM节点、任务、核心和CPU

Multithreading SLURM节点、任务、核心和CPU,multithreading,parallel-processing,multiprocessing,slurm,Multithreading,Parallel Processing,Multiprocessing,Slurm,有人能澄清这些东西实际上是什么吗?从我收集的信息来看,节点是集群中的计算点,本质上是一台计算机。任务是可以在单个节点或多个节点上执行的流程。核心基本上是指在单个节点上,您希望分配多少CPU来执行分配给该CPU的任务。这是正确的吗?我是否混淆了什么?这些术语在不同的上下文中可能有不同的含义,但如果我们坚持使用模糊上下文: (compute)节点是一组更大的节点(集群)中的计算机部分。除计算节点外,集群还包括一个或多个登录节点、文件服务器节点、管理节点等。计算节点提供处理器、易失性内存(RAM)、

有人能澄清这些东西实际上是什么吗?从我收集的信息来看,节点是集群中的计算点,本质上是一台计算机。任务是可以在单个节点或多个节点上执行的流程。核心基本上是指在单个节点上,您希望分配多少CPU来执行分配给该CPU的任务。这是正确的吗?我是否混淆了什么?

这些术语在不同的上下文中可能有不同的含义,但如果我们坚持使用模糊上下文:

  • (compute)节点是一组更大的节点(集群)中的计算机部分。除计算节点外,集群还包括一个或多个登录节点、文件服务器节点、管理节点等。计算节点提供处理器、易失性内存(RAM)、永久磁盘空间(如SSD)、加速器(如GPU)等资源

  • 核心是处理器中进行计算的部分。处理器包括多个核心,以及一个内存控制器、一个总线控制器和可能的许多其他组件。Slurm上下文中的处理器称为插槽,它实际上是主板上承载处理器的插槽的名称。单个内核可以有一个或两个硬件线程。这项技术允许操作系统感知到的核心数量几乎翻倍,而核心组件的一部分只翻倍——通常是与内存和I/O相关的组件,而不是计算组件。硬件多线程在HPC中经常被禁用

  • 在一般上下文中,CPU是指处理器,但在Slurm上下文中,CPU是节点提供的可消耗资源。它可以根据Slurm配置引用套接字、内核或硬件线程

Slurm的任务是将这些资源与工作相匹配。作业包含一个或多个(顺序)步骤,每个步骤都有一个或多个(并行)任务。任务是正在运行的程序的实例,即在进程中,可能与子进程或软件线程一起运行


根据每个任务所需的核心数量,在可能的多个节点上调度多个任务。任务所需的核心数取决于正在运行的程序实例中的子进程或软件线程数。我们的想法是将每个硬件线程映射到一个核心,并确保每个任务都在同一个节点上分配了所有分配的核心。

非常感谢,这非常清晰且信息丰富,我非常感谢!