我有一个在Torque / Maui系统下运行的复杂的fortran MPI应用程序. 当我运行我的应用程序时,它将产生巨大的唯一输出(?20 GB). 为了避免这种情况qsub 投递任务指定节点,我制作了一个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
我没有管理员帐户,只有一个用户
我的问题是:
>是否可以以用户身份在gmgr上设置allow_node_submit = true?这个怎么样 ? (-我猜不是)
>如果问题1 =否,是否还有其他方法可以解决此问题?怎么样?
祝你一切顺利.
最佳答案
否,非特权用户无法更改排队系统的设置. 不允许从计算节点重新提交的通常原因是一个很好的理由-保护群集及其所有用户免受意外(或其他方式)提交脚本的麻烦,该脚本很快将失败并再次提交一次,或更糟糕的是,多次提交-快速填充调度程序和队列,生成等效于fork bomb的批处理队列. 即使有这样的限制,由于脚本错误,我们仍然使人们不小心一次提交了数千个作业.
通常的解决方案是ssh到队列提交节点之一,然后从那里提交脚本,例如在提交脚本的末尾:
ssh queue-head-node qsub /path/to/new/submission/script
例如,这是我们建议用户处理它的方式. 仅在群集中启用了无密码/无密码ssh的情况下才有效,这是一种常见(但不通用)的做法.
或者,如果这是一种常见情况qsub 投递任务指定节点,即仅自动提交一系列继续运行的作业,则可以查看如何处理网站上的作业相关性并提交作业队,每个作业取决于成功完成的作业最后,它将按顺序运行.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-272958-1.html