SGE(最初为Sun Grid Engine,后来几经易主)算是比较老的一套集群调度系统了,网上可供参考的资料不是很多,但简单好使。集群管理软件Rocks也用SGE来分配任务,很多脑科学领域的软件(如FSL)也默认使用这个。
先来一篇概要的文章,从安装、使用到管理写得很详细。
安装的时候,一步步根据提示走就行了。之后,根据自己集群的情况(集群中机器配置不尽相同),建立多个主机组(hosts group)和多个队列(queue),并逐渐调整参数使集群的运行情况达到较优的水平。
自己建立队列(queue)的时候,修改了以下参数:
- hostlist:放上自己所需的主机组名,如
@allhosts
- seq_no:队列编号,可以用来表示优先级,0 代表最优先
- priority:优先级,默认为0(最优先),可以调大使优先级降低
- slots:表示所使用的主机CPU数,默认为1,可以设置一个统一的值,也可以针对单台主机设定各自的CPU数,如
1,[host1=4],[host2=8]
- shell:默认使用
/bin/csh
,可以改为其他的shell,我改成了/bin/sh
- shell_start_mode:shell的起始模式,默认为
posix_complicant
,我改成了unix_bahavior
,可以识别shell第一行的指定程序(如#!/bin/bash
)
其他的参数设置,可以参考自带的帮助或相关的手册。