I threw this together fairly quickly after doing a quick setup on a spare machine. The single system case should work exactly as shown, I just copied the output I got. Multiple systems I didn't have available to copy output, but they should work as well. Note that Torque is really picky about the hostname. If you get errors during pkg_config() set PBS_SERVER_NAME in /etc/make.conf to resolve to your machine. Thanks for testing :) Testing Torque on a single system. You'll need USE="server" to build pbs_server and pbs_sched. Emerge and use the pkg_config(). This sets up enough that you may start the server, mom and sched processes and begin to submit jobs. == Verify the batch queue now exists. jbronder@serac ~ $ qstat -q server: serac.cold-front Queue Memory CPU Time Walltime Node Run Que Lm State ---------------- ------ -------- -------- ---- --- --- -- ----- batch -- -- -- -- 0 0 -- E R ----- ----- 0 0 == Verify your local machine is available. jbronder@serac ~ $ pbsnodes $(hostname) serac state = free np = 1 ntype = cluster status = opsys=linux,uname=Linux serac 2.6.23-gentoo-r3 #1 Wed Jan 9 07:21:15 EST 2008 x86_64,sessions=5051,nsessions=1,nusers=1,idletime=3848,totmem=1220396kb,availmem=929576kb,physmem=963364kb,ncpus=? 15201,loadave=0.00,netload=115122588,state=free,jobs=,varattr=,rectime=1207296315 == Start an interactive job on one node. (Cannot be done as root) jbronder@serac ~ $ qsub -I -lnodes=1:ppn=1 qsub: waiting for job 5.serac to start qsub: job 5.serac readyA jbronder@serac ~ $ exit qsub: job 5.serac completed == Start a normal job, verify it's in the queue and that it gives == output. We also verify the tm interface with pbsdsh. jbronder@serac ~ $ cat pbs.test #!/bin/bash #PBS -N testjob #PBS -l nodes=1:ppn=1 #PBS -o output #PBS -e errors sleep 20 # Get hostname from all nodes. pbsdsh hostname # Get some output in the error file. echo "look ma, errors" 1>&2 jbronder@serac ~ $ qsub pbs.test 4.serac jbronder@serac ~ $ qstat Job id Name User Time Use S Queue ------------------------- ---------------- --------------- -------- - ----- 4.serac testjob jbronder 0 R batch jbronder@serac ~ $ sleep 20 jbronder@serac ~ $ cat output serac jbronder@serac ~ $ cat errors look ma, errors jbronder@serac ~ $ Testing Torque with multiple machines. Setting up the server: You'll need USE="server" only on this machine. Use pkg_config() again to get a basic setup. Then modify /var/spool/torque/server_priv/nodes and add the hostnames of your additional machines and the number of cores they have. For instance, node1 with 2 cores and node2 with 4 cores would look like: node1 np=2 node2 np=4 The number of cores should be reflected in the pbsnodes output that is checked later. Start pbs_server and pbs_sched. Setting up the nodes: Emerge without the server flag. Use pkg_config() and modify /var/spool/torque/mom_priv/config and change $pbsserver to point to your server machine. Start pbs_mom. At this point you can do the same tests as were done in the single machine case. The only difference is you may now increase the number of nodes you request (X) and the number of processors per node (Y) in the resource string "nodes=X:ppn=Y".