art*_*tif 6 cluster gridengine
如何使用 SGE 在集群上预留完整节点?
我不希望一台机器有 2 个处理器,另一台机器有 3 个处理器,依此类推。我有一个四核集群,我想保留 4 台完整的机器,每台机器有 4 个插槽。我不能只指定我想要 16 个插槽,因为它不能保证我将在 4 台机器上每台都有 4 个插槽。
将分配规则更改为 FILL_UP 是不够的,因为如果没有完全空闲的机器,SGE 将尽可能地“填满”负载最少的机器,而不是等待 4 台空闲机器然后调度任务。
有什么办法可以做到这一点吗?有没有更好的地方来问这个问题?
我想我找到了一种方法,但它可能不适用于像我这样的旧 SGE。似乎新版本的 SGE 内置了独家调度。
我考虑过但很容易出错的另一种可能性是使用 qlogin 而不是 qsub 并在每个所需的四核机器上手动保留 4 个插槽。可以理解,自动化这并不是特别容易或有趣。
最后,也许这是可以使用主机组的情况。因此,例如,创建一个包含 4 个四核机器的主机组,然后 qsubbing 到队列的这个特定子集,请求数量等于组中最大总数的处理器。不幸的是,这有点像硬编码并且有很多缺点,例如必须等待人们腾出特定的硬编码主机组,并且如果您想切换到 8 台而不是 4 台机器等,则需要进行更改。
SGE 对此很奇怪,我还没有找到在一般情况下做到这一点的好方法。如果您知道所需节点的内存大小,您可以做的一件事是 qsub,同时保留几乎等于节点全部容量的内存量。这将确保它捕获一个没有其他任何东西在运行的系统。
归档时间: |
|
查看次数: |
10869 次 |
最近记录: |