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

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


文章目录

  • LSF - LSF会使用什么cgroup子系统?
  • 前言
  • 一、哪些cgroup子系统会被使用到?
  • 二、LSF是如何使用cgroups子系统的?
    • freezer
    • cpuacct
    • memory
    • cpuset
  • 总结
  • 参考资料


前言

资源调度与任务管理系统之一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,CAD)