SLURM节点、任务、核心和CPU

21

有人能够澄清这些东西实际上是什么吗?从我所了解的来看,节点是集群中的计算点,本质上是单个计算机。任务是可以在单个节点或多个节点上执行的进程。而内核基本上是您想将单个节点上的 CPU 的多少分配给执行分配给该 CPU 的任务。这正确吗?我是否混淆了什么?

1个回答

31
术语在不同的上下文中可能有不同的含义,但如果我们遵循Slurm上下文:
- (计算) 节点 是一个较大集合节点(一个群集)中的计算机部分。除了计算节点外,一个群集包括一个或多个登录节点,文件服务器节点,管理节点等等。计算节点提供诸如处理器、易失性内存(RAM)、永久硬盘空间(例如SSD)、加速器(例如GPU)等资源。 - 核心 是处理器执行计算的部分。一个处理器包括多个核心,还有一个内存控制器、总线控制器及可能许多其他组件。在Slurm上下文中,处理器被称为插槽,实际上是主板上承载处理器的插槽名称。一个单独的核心可以有一到两个硬件线程。这是一种技术,允许虚拟翻倍操作系统感知的核心数量,同时只翻倍部分核心组件--通常是与内存和输入/输出相关的组件而非计算组件。硬件多线程在HPC中往往被禁用。 - 在一般情况下,CPU 指处理器,但在Slurm上下文中,CPU是节点提供的可消耗资源。它可以指插槽、核心或硬件线程,根据Slurm配置而定。

Slurm的作用是将资源匹配到作业中。一个作业包含一个或多个(按顺序) 步骤,每个步骤有一个或多个(并行的) 任务。 任务是一个运行程序的实例,即一个进程,可能会带有子进程软件线程

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


1
非常感谢,这非常清晰且有用,我真的很感激! - Eoin S

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接