我们正在考虑在小型计算集群上使用Sun Grid Engine 。目前,当前的设置非常粗糙,只涉及让人们通过 ssh 连接到一台开放的机器来运行他们的工作。
我们希望允许交互式作业,因为这应该可以简化从手动启动作业到使用qsub
. 但是,有人担心,如果我们这样做,人们可能会不小心让他们的交互式会话闲置并阻止其他作业在机器上运行。这个问题不仅仅是理论上的问题,因为我们之前尝试过使用 OpenPBS,并且人们在屏幕会话中打开交互式工作并基本上在机器上露营时存在问题。
无论如何配置 SGE 以自动终止空闲的交互式作业?看起来这是在 2007 年作为增强功能(问题 #:2447)提出的。但是,该请求似乎从未得到实施。
您可以将 SGE 设置为具有合理的默认 walltimes (h_rt) 以在预定义的限制后终止会话。
您是否尝试过让用户的外壳在空闲时超时?更多信息和示例,请访问 http://www.cyberciti.biz/faq/linux-unix-login-bash-shell-force-time-outs/。
nayrmil 有一些很好的建议。另一种选择是限制哪些机器可以运行交互式作业。我们基本上将一些节点指定为“交互式”,并在它们上放置一个超额订阅节点资源的队列,以便许多用户可以同时登录。用户基本上可以随心所欲地在那里露营,但如果他们想获得一些真实资源,他们需要提交一份合适的工作。