Open wd0011 opened 7 months ago
队列的资源配额的作用是:限制队列中 ”所有工作负载“ 可申请使用的资源量的上限,队列资源配额并不代表集群实际可供队列使用的资源量。
队列的剩余资源配额 = 队列的资源配额 - 队列已使用的资源量。
在上述问题中,前端的资源看板显示的是队列的资源配额使用情况。队列 default 和 a40 可以使用相同的节点资源,但是系统不会将通过队列 default 使用的资源量算作队列 a40 已使用的资源量。所以,UI 显示的内容是正确的。如果想避免“一种有大量资源空闲的错觉”,管理员可采取不同的设置。参考:队列设置讨论。
针对“同一份资源被使用后,包含该资源的队列都应该显示该资源已被使用”,我们后续可能考虑在”集群管理 + 普通用户前端“ 增加 ui:显示队列可用节点资源的资源情况:包括资源总量,已经分配量(Allocated),实际的资源利用(Utlization)情况。
管理员在为一个队列设置资源配额时,应该清楚地了解下列情况:
然后管理员可根据工作负载特性和集群管理策略,合理地设置队列资源配额等参数,下面是为队列设置资源配额的示例:
注意:为了简化讨论,下文使用了单个节点进行讨论。但应当理解,这里的 “节点 A、B、C”、D、E” 等应分别对应一组节点。
队列 Q1 可以使用节点 A 和 B,队列 Q2 可以使用节点 C 和 D;队列之间无重合节点: 1 - oversubscription:Q1 资源配额 > 300,Q2 资源配额 > 400。队列资源配额 > 实际可用的资源总量。 2 - no oversubscription:Q1 资源配额 300 ,Q2 资源配额 400。队列资源配额 = 实际可用的资源总量。
队列 Q1 可以使用节点 A 和 B,队列 Q2 可以使用节点 B 和 C,两个队列均可以使用节点 B。
配额设置除了需要考虑 “示例1” 中的 oversubscription 策略外,根据不同的设置,还可能会出现如下场景:
shared + oversubscription:
partitioned + no oversubscription:
partially shared + oversubscription:
本 issue 反应的问题是由于集群当前队列设置方案引起的,可以考虑重新配置一下。
管理员应当可根据集群运行实际情况采取不同的策略。一般情况下,采用一定程度的 oversubscription(例如:1.1, 2.1, 2.3)可提高集群的资源使用率(utilization)。
如果管理员想查看集群的资源实际使用情况,可在 Grafana 面板中查看。
目前使用队列的情况,既是为了对用户进行隔离,也是为了对资源进行复用。比如现在常用队列defualt拥有所有的资源,a100只有两台机器的资源。我们隔离了一部分用户,只能使用a100队列。这种情况下,a100队列用户的视野里面就只有空闲的资源,但是这些“空闲”的资源全都可能是不可用状态(被default队列占用)。 在管理员的角度,可以去看整体资源的使用情况,但是在用户的角度,他们对这些情况一无所知。
改进内容 资源看板中,不同的队列资源显示不相通,但是实际使用中,default中使用的就是a40的卡。应该在a40的队列中正确显示已在default中被使用的资源。
期望的效果(可选) 同一份资源被使用后,包含该资源的队列都应该显示该资源已被使用。避免一种有大量资源空闲的错觉。