我正在使用并行来并行处理某些非常繁重的脚本。在command1
...等我基本上调用一个R文件。
test1.sh:
parallel ::: 'command1 > output1.txt' 'command2 > output2.txt' ...etc
test2.sh:
parallel ::: 'command7 > output7.txt' 'command8 > output8.txt' ...etc
。
。
。
的 test10
我使用multiple-nodes.sh
运行qsub
我正在执行10个文件,以便它们在CPU上的不同节点(和核心)上运行。完成需要几个小时。但是,在multiple-nodes.sh
完成执行后,我看不到它出现在qstat
中,但我仍然看到正在运行R
脚本(command1
...等)我检查linux中的top
进程。
我认为这可能是因为linux(或者它是并行的)只有在脚本执行完成后才会写入文件。但这似乎真的很慢,因为自执行开始已经过去了15个小时,并且该过程已在qsub中完成,但命令仍然在顶级进程中运行,输出文件正在缓慢写入。文件大小每隔几分钟就会增加。
我遇到GNU Parallel
的{{3}}和 - 文件标记。
基本上我有两个问题:
qsub
在cpu上的不同节点(和核心)中运行进程更好吗?--files
比linux中的>
运算符更好(更快)的选项写入输出文件?如果提供任何支持代码,那将非常有用。即使它只是其中一个问题的答案。提前谢谢。
答案 0 :(得分:1)
我可以回答2:速度是一样的。使用--files / - 结果的好处是您不必编写文件名。