什么是 cgroups 以及人们如何使用它们进行集群管理?

What are cgroups and how are people using them for cluster administration?

是否有示例说明人们如何使用 cgroups 更好地管理为学术社区运行并行科学代码和串行代码的研究计算集群?

我知道的主要示例是能够设置集群调度程序(例如 Slurm)以将多个作业分配给单个节点,而不必担心叛逆作业使用的资源多于分配的资源。

Cgroups 是一种机制,因此不同的作业只能使用 Slurm 分配给它们的资源。

在集群调度程序能够执行此操作之前,许多 HPC 中心只允许每个节点一个作业或每个节点一个用户。否则,例如,仅请求 1 个核心的作业一旦 运行 可能会实际使用节点中的所有核心,这将导致节点上的其他作业 运行 性能不佳。