我有一个在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
我没有管理员帐户只是一个用户
我的问题是:
一切顺利。
答案 0 :(得分:3)
不,没有特权的用户无法更改排队系统的设置。不允许从计算节点重新提交的通常原因是非常好的 - 保护群集及其所有用户免于意外(或以其他方式)提交快速失败的脚本并重新提交一次 - 或更糟糕的是,不止一次 - 快速充斥调度程序和队列,生成相当于fork bomb的批处理队列。即使有这样的限制,我们也会因为脚本错误而让人不小心提交了数万个作业。
通常的工作是ssh到其中一个队列提交节点并从那里提交脚本,例如在提交脚本的末尾:
ssh queue-head-node qsub /path/to/new/submission/script
这就是我们建议用户处理它的方式,例如: here。这显然只有在群集中启用密码/密码短语ssh时才有效,这是一种常见的(但不是通用的)做法。
或者,如果这是针对只是自动提交一系列继续运行的作业的常见情况,您可以查看如何在您的站点处理作业依赖关系,并提交一份工作,每个工作依赖于成功完成最后一次,然后按顺序运行。