LSF - LSF会使用什么cgroup子系统?

Posted 王万林 Ben

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LSF - LSF会使用什么cgroup子系统?相关的知识,希望对你有一定的参考价值。

LSF - LSF会使用什么cgroup子系统?



前言

资源调度与任务管理系统之一LSF,在HPC行业得到广泛使用。那么LSF是如何精确地进行资源管理的呢?答案是需要开启其被管理主机的Control Groups(cgroups)功能。


一、哪些cgroup子系统会被使用到?

默认情况下,LSF会使用3个cgroup子系统:freezer,cpuacct,memory。如果job有CPU亲和性资源请求,则还会使用cpuset子系统。

二、LSF是如何使用cgroups子系统的?

freezer

LSF使用Linux cgroup freezer子系统来跟踪作业进程,以进行作业控制。
通过cgroup进行的进程跟踪,可以捕获不在现有作业的进程树中且具有与现有job ID不同的进程组ID的job进程,或者运行速度非常快的job进程,然后LSF才有机会,在定期或按需过程中找到它们(被PIM发起请求)。

cpuacct

LSF直接从该job的cpuacct子文件夹,获取cpu审计数据。Sbatchd先检查cgroup cpuacct子系统是否挂载,如果未挂载,会往日志写一条失败信息,然后不开启基于cgroup的cpu与memory审计。

memory

LSF在支持cgroups的系统上,能实现严格的主机级别memory与swap限制,并且这些限制不能被超过。
如果job进程使用的memory,超过了定义的限制,该job会立即被cgroup memory子系统kill掉。
请注意,memory限制是job级或主机级的,不是task级的。

cpuset

当CPU亲和性绑定打开,LSF会创建一个cpuset来包含job进程(如果job有CPU亲和性请求的话),这样的job进程无法从分配的CPU核逃出来。


总结

以上就是LSF通过cgroups来对资源进行精细化管理的介绍。

如有疑问,请留言讨论。

参考资料

Which cgroup subsystems will be used by LSF?

以上是关于LSF - LSF会使用什么cgroup子系统?的主要内容,如果未能解决你的问题,请参考以下文章

LSF 作业管理系统

关于如何编写一个好的 python 包装器 LSF 的建议

在IBM lsf.conf上构建Bazel

本田带低速前车跟随(LSF)的主动巡航控制(ACC)图标亮了代表啥意思

LSF - 基础 - 管理

LSF Community Edition(LSF社区版)介绍与下载