0

我最近使用 Elasticluster(http://googlegenomics.readthedocs.org/en/latest/use_cases/setup_gridengine_cluster_on_compute_engine/index.html)在 Compute Engine 上创建了一个 Grid Engine 集群。

我想知道在运行 Grid Engine 的 Compute Engine 虚拟机集群上运行共享内存多线程批处理作业的合适命令是什么。

换句话说,Grid Engine 并行环境的名称(即 pe_name)是什么。

假设我想在 1 个节点上运行一个请求 4 个 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”不存在。

谢谢您的帮助!

4

1 回答 1

0

我不相信 Elasticluster 的 Ansible playbook 包含并行环境。您可以在此处查看主配置上运行的主要配置:

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 的一个分支中完成了这项工作,并且可能能够向主分支提供一个拉取请求。

希望有帮助。

-马特

于 2016-02-22T18:15:10.833 回答