注意:
根据经验,使用容量调度器是最重要的两点是容量平衡占用百分比和弹性。(注意各个分层队列【父队列和子队列之间的比例配置】之间的容量配置)
这两者之间有一个折中:如果设置刚性容器限制(配置最大容量),则队列变得不那么有弹性,从而背离了容量调度器的关键目标之一。
容量计划支持以下功能:
-
等级队列- 支持队列的等级,以确保在其他队列允许使用免费资源之前,组织子队列之间共享资源,从而提供更多的控制和可预测性。
-
容量保证- 队列被分配到电网容量的一小部分,因为一定容量的资源将可供其使用。提交给队列的所有申请都将访问分配给队列的容量。管理员可以配置分配给每个队列的容量的软限制和可选硬限制。
-
安全性 - 每个队列都有严格的 AML,可控制用户向单个队列提交申请。此外,还有安全卫士,以确保用户无法查看和/或修改来自其他用户的应用程序。此外,还支持每个队列和系统管理员角色。
-
弹性- 可将免费资源分配给超出容量的任何队列。当未来时间点的队列对这些资源的需求低于容量时,当这些资源上安排的任务完成时,它们将被分配到运行在容量以下的队列上的应用程序(不支持先发制人)。这确保了资源以可预测和弹性的方式可用于队列,从而防止了有助于利用的集群中资源的人工孤岛。
-
多租赁- 提供一套全面的限制,以防止单个应用程序、用户和队列垄断队列或整个集群的资源,以确保集群不会不堪重负。
-
操作
- 运行时间配置 - 管理员可以在运行时安全地更改队列定义和属性(如容量、AML)以安全的方式更改,以尽量减少对用户的干扰。此外,还为用户和管理员提供了一个控制台,以便查看当前向系统中各个队列分配的资源。管理员可以在运行时添加其他队列,但无法在运行时删除队列。
- 排干应用程序 - 管理员可以在运行时停止排队,以确保在现有应用程序运行到完成时,不会提交任何新应用程序。如果队列处于停止状态,则无法向自己或其任何儿童队列提交新的申请。现有应用程序继续完成,因此可以优雅地排出队列。管理员还可以启动已停止的队列。
-
基于资源的调度- 支持资源密集型应用,其中应用程序可以选择性地指定比默认更高的资源要求,从而适应具有不同资源要求的应用程序。当前,内存是支持的资源要求。
-
基于用户或组的队列映射- 此功能允许用户根据用户或组将作业映射到特定队列。
参考: