PBS 工作的优先级到底意味着什么?

计算科学 高性能计算 PBS
2021-11-29 14:28:59

提交 PBS 作业的qsub命令有一个-p允许您设置优先级的选项。从手册页:

定义作业的优先级。优先级参数必须是介于 -1024 和 +1023 之间的整数。默认为无优先级,相当于零优先级。

这就是手册页中全部内容。这让我想知道,优先级实际上意味着什么?例如:系统只是挑选出具有最高优先级的作业来运行,还是使用等待时间和优先级的某种组合?优先级是否仅相对于我提交的其他作业进行衡量,还是跨越用户边界?更高的数字是否意味着更高的优先级,还是就像 Linux 的优点一样?基本上我正在寻找一个关于这个选项有什么好处的不那么稀疏的解释。

2个回答

这是我作为用户所知道的(系统管理员可能有更准确的答案):

  • 队列系统使用某种算法来最大限度地利用资源,同时将某些作业优先于其他作业。假设队列中有 100 个可用内核。一个高优先级作业(稍后会详细介绍)要求 128 个内核持续 24 小时并首先提交,而低优先级作业现在要求 64 个内核持续 12 小时。如果在 12 小时内没有额外的内核可用(从而允许大作业运行),队列将让小作业通过队列,即使它具有较低的优先级并且在另一个之后提交。这样做是因为沼泽作业不可能在接下来的 12 小时内运行,并且希望最大限度地利用资源。
  • 如果使用未明确允许定义作业优先级的队列,则不同的队列(标准、调试、长、特殊等)将为作业提供默认优先级。例如,这允许更重要的项目比不太重要的项目更快地通过队列。并防止每个计算科学家将他/她自己的工作的优先级设置为最大值:)
  • 随着时间的推移,工作也将获得优先权。不确定速率是否取决于队列,但我相信更高的数字意味着更高的优先级。
  • 在队列系统中的所有作业中测量优先级

希望这可以帮助 !

FrenchKheldar 的回答非常好。细节会因系统而异,但基本都在那里。

在我们的系统上,我们特别解释了 -p 标志:它基本上就像您怀疑的那样,并且像 nice 一样,普通用户只能使他们的工作具有比正常低的优先级(例如,对 p 使用否定参数)。这使您可以相互调整工作的顺序,但可能不会大大改变您和其他人的工作顺序。