我最近使用Elasticluster(http://googlegenomics.readthedocs.org/en/latest/use_cases/setup_gridengine_cluster_on_compute_engine/index.html)在Compute Engine上创建了一个网格引擎集群。
我想知道在运行网格引擎的计算引擎虚拟机集群上运行共享内存多线程批处理作业的适当命令是什么。
换句话说,网格引擎并行环境的名称(即pe_name)是什么。
假设我想在 4 个节点上运行一个请求 1 个 cpu 的作业,正确的 qsub 命令是什么。
到目前为止,我尝试了以下命令:
qsub -cwd -l h_vmem=800G -pe smp 6 run.sh无法运行作业:作业被拒绝:请求的并行环境"smp"不存在。
qsub -cwd -l h_vmem=800G -pe omp 6 run.sh无法运行作业:作业被拒绝:请求的并行环境"omp"不存在。
感谢您的帮助!
我不相信Elasticluster的Ansible剧本包含并行环境。您可以在此处查看在主服务器上运行的主要配置:
https://github.com/gc3-uzh-ch/elasticluster/blob/master/elasticluster/providers/ansible-playbooks/roles/gridengine/tasks/master.yml
我相信您可以简单地连接到主站并发出"添加并行环境"命令:
$ qconf -ap smp
并编写如下配置文件:
pe_name smp
slots 9999
user_lists NONE
xuser_lists NONE
start_proc_args /bin/true
stop_proc_args /bin/true
allocation_rule $fill_up
control_slaves FALSE
job_is_first_task FALSE
urgency_slots min
accounting_summary FALSE
然后修改 all.q 的队列配置:
$ qconf -mq all.q
...
pe_list make smp
...
我还建议在这里向 Elasticluster 提交问题:
https://github.com/gc3-uzh-ch/elasticluster/issues
我希望有人已经在 Elasticluster 的一个分支中完成了此操作,并且可能能够向主分支提供拉取请求。
希望有帮助。
-马 特