我正在进行数值模拟,并使用参数运行它们,以便它们在几分钟内完成。我想让它们运行更长时间,也许几天。
目前,我已经将参数编译到 C 程序中,但我想我应该将所有参数都设为命令行参数,以便可以在启动时更改它们。
但是,我不确定如何将“任务”分配到几台 Linux 计算机上。它们每台都有多个核心,但我可能无法安装额外的软件,因为它们是允许 SSH 但没有 root 访问权限的大学计算机。,ssh
也许可以带我去某个地方,但我想放入一个包含命令的列表,例如nohup
screen
run="100-200" mkdir "$run" && cd "$run" && ./main 100 200 && ./plot
run="100-300" mkdir "$run" && cd "$run" && ./main 100 300 && ./plot
如果我只需提供./main 100 200 && ./plot
它并将其运行到新的工作目录中,那就太好了。
有没有什么可以实现这一点的调度软件?我需要一些免费的 Linux 软件。如果我能将它安装到我的主目录中,那就更好了。
到目前为止,我已经找到了 TORQUE,而且我们大学的一些人显然使用 HTCondor 运行集群。
答案1
在您的服务器上安装 Sun Grid Engine(我认为 Sun 上次免费提供的是 6.2;自从 Oracle 收购它以来,下载新版本时出现了一些问题。但是,旧版本对于我们使用的 ~100 个节点来说已经足够了。)这是一个合适的排队系统。它将为您安排调度。相信我,这项工作会有回报。