从节点提交作业时,qsub返回错误

时间:2014-08-29 19:01:57

标签: cluster-computing qsub torque

我有一个在Torque / Maui系统下运行的复杂fortran MPI应用程序。当我运行我的应用程序时,它会产生巨大的独特输出(~20 GB)。为了避免这种情况,我制作了一个RunJob脚本,它将运行分为5个部分,每个部分产生的输出更小,更容易处理。

目前我的RunJob脚本在第一篇文章末尾正确停止,并产生正确的输出。但是,当它尝试重新启动时,我收到以下错误消息:

  

qsub:作业执行错误UID MSG = ruserok无法验证来自compute-0-0.local的用户名/用户名

我知道这个问题来自Torque / Maui系统默认情况下不允许节点提交作业。

事实上,当我输入此内容时:

  

qmgr -c'l s'| grep allow_node_submit

我得到了:

  

allow_node_submit = False

我没有管理员帐户只是一个用户

我的问题是:

  1. 是否可以在作为用户的gmgr上设置allow_node_submit = true?怎么样 ? ( - 我猜不是)
  2. 如果问题1 =假,是否有另一种解决方法?怎么样 ?
  3. 一切顺利。

1 个答案:

答案 0 :(得分:3)

不,没有特权的用户无法更改排队系统的设置。不允许从计算节点重新提交的通常原因是非常好的 - 保护群集及其所有用户免于意外(或以其他方式)提交快速失败的脚本并重新提交一次 - 或更糟糕的是,不止一次 - 快速充斥调度程序和队列,生成相当于fork bomb的批处理队列。即使有这样的限制,我们也会因为脚本错误而让人不小心提交了数万个作业。

通常的工作是ssh到其中一个队列提交节点并从那里提交脚本,例如在提交脚本的末尾:

ssh queue-head-node qsub /path/to/new/submission/script

这就是我们建议用户处理它的方式,例如: here。这显然只有在群集中启用密码/密码短语ssh时才有效,这是一种常见的(但不是通用的)做法。

或者,如果这是针对只是自动提交一系列继续运行的作业的常见情况,您可以查看如何在您的站点处理作业依赖关系,并提交一份工作,每个工作依赖于成功完成最后一次,然后按顺序运行。