使用 SSH 在学校的不同节点上运行 python 脚本。每个节点有 8 个核心。我使用 GNU Screen 能够从单个进程中分离出来。
是否更可取的是:
- 运行几个不同的屏幕会话。
- 运行单屏进程并使用
&
在 bash 终端中。
它们相等吗?
我不确定我的实验是否编码不好并且花费了过多的时间(很可能)或者我选择使用 1. 大大减慢了过程。谢谢你!
With bash
我想你正在做这样的事情(假设/home
在网络挂载下):
#!/bin/bash
for i in {1..$NUM_NODES}
do
ssh node$i 'python /home/ryan/my_script.py' &
done
从单个脚本后面启动此脚本screen
会工作得很好。启动多个会话screen
没有提供任何性能提升,但增加了启动多个屏幕的额外复杂性。
请记住,有更好的方法可以在集群中分配负载(例如,如果其他人用完了所有的 Node7,您需要一种方法来检测它并将您的作业发送到其他地方)。我合作过的大多数集群都有Torque https://en.wikipedia.org/wiki/TORQUE_Resource_Manager, Maui https://en.wikipedia.org/wiki/Maui_Cluster_Scheduler or the qsub
命令已安装。我建议看看这些。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)