SGE:多线程Java代码的并行环境

时间:2012-06-22 11:12:39

标签: java multithreading parallel-processing sungridengine

我编写了一个多线程java代码,在运行时会创建8个线程并继续在这些线程上进行计算。我想将此作业提交给SGE群集,但我不确定应该选择哪个并行环境(pe)?或者我应该创建一个?我是SGE的新手。简单的方法是以串行模式运行它,但效率很低。

关于创建pe,需要在哪里创建? SGE守护神还应该有这个pe吗?当我提交一份名为pe的随机名称的作业时,我得到了

 job rejected: the requested parallel environment "openmpi" does not exist

1 个答案:

答案 0 :(得分:2)

线程应用程序必须在单个节点上获取所有插槽。这就是为什么您需要将allocation_rule设置为$pe_slots的并行环境。并行环境由SGE管理员使用qconf -ap PE_name配置。作为用户,您只能使用qconf -spl获取可用PE的列表,并且可以使用qconf -sp PE_name查询特定PE的配置。您可以使用以下(ba)sh脚本遍历所有PE并查看其分配规则:

for pe_name in `qconf -spl`; do
  echo $pe_name
  qconf -sp $pe_name | grep allocation_rule
done

但是你应该已经在和你的SGE管理员交谈,而不是试图在这里证明你的话题。