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来对资源进行精细化管理的介绍。
如有疑问,请留言讨论。
参考资料
以上是关于LSF - LSF会使用什么cgroup子系统?的主要内容,如果未能解决你的问题,请参考以下文章