Join GitHub today
howtos frontend run jobs
Sometimes you have a situation where you want your frontend to act like a compute node and run jobs submitted to your queuing system. This might be because you only have one 48-core machine, or you have a modest cluster and want to utilize the cores on your frontend.
1. Add your frontend to SGE
2. Add your frontend to Torque/Maui (PBS)
If you have installed the Torque roll, issue the following commands as root on the frontend. These commands assume you use tcsh/csh, but bash should be similar.
The first line setting $frontend just assures that the name matches that returned by /bin/hostname (which is generally the FQDN). They must match, or pbs_mom will refuse to start/work.
The next two lines set the number of cores to be used for running jobs. You probably should reserve a few cores for all the Rocks overhead processes, and for interactive logins, compiling, etc. In this example, we save 4 cores for the overhead and assign the rest for jobs. This is accomplished by setting the "np = $N" (np means number of processors) value.
# set frontend = `/bin/hostname` # set N = `cat /proc/cpuinfo | grep processor | wc -l` # set N = `expr $N - 4` # reserve 4 cores # # qmgr -c "create node $frontend" # qmgr -c "set node $frontend np = $N" # qmgr -c "set node $frontend ntype=cluster" # service pbs_server restart
Alternatively, you can edit /opt/torque/server_priv/nodes by hand, and do the "service pbs_server restart" to make it re-read the file.
Next, make sure pbs_mom is started on the frontend:
# scp compute-0-0:/etc/pbs.conf /etc # chkconfig --add pbs # service pbs start
If you have no compute nodes, you can create /etc/pbs.conf by hand. It should look like this:
pbs_home=/opt/torque pbs_exec=/opt/torque start_mom=1 start_sched=0 start_server=0
You should now be able to see the frontend listed in the output of "pbsnodes -a", and any jobs submitted to the queue will run there.
--Bart 13:11, 6 October 2010 (EDT)