<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Thanks Jesse!&nbsp;<div><br></div><div>This does seem to work. I don't need to define -pe in this case b/c the slots are actually limited per node.</div><div><br></div><div>My only problem with this solution is that all jobs are now limited to this hard coded number of slots, and also when nodes are added to the cluster while it is running the file is modified and the line would need to be edited again. On other systems I have seen the ability to specify that a job will use a specific number of CPU's without being in a special parallel environment I have seen the "-l ncpus=X" option working, but it does't seem to with the default starcluster setup. Also it looks like the "orte" parallel environment has some stuff very specific to MPI, and doesn't have a problem splitting the requested number of slots between multiple nodes, which I definitely don't want. I just want to limit the number of jobs per node, but be able to specify that at runtime. &nbsp;</div><div><br></div><div>It looks like the grid engine is somehow aware of the number of CPU's available on each node. I get this with by running `qhost`:</div><div><div>HOSTNAME &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ARCH &nbsp; &nbsp; &nbsp; &nbsp; NCPU &nbsp;LOAD &nbsp;MEMTOT &nbsp;MEMUSE &nbsp;SWAPTO &nbsp;SWAPUS</div><div>-------------------------------------------------------------------------------</div><div>global &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; - &nbsp; &nbsp; - &nbsp; &nbsp; &nbsp; - &nbsp; &nbsp; &nbsp; - &nbsp; &nbsp; &nbsp; - &nbsp; &nbsp; &nbsp; -</div><div>master &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;linux-x64 &nbsp; &nbsp; &nbsp; 8 &nbsp;0.88 &nbsp; 67.1G &nbsp; &nbsp;1.5G &nbsp; &nbsp; 0.0 &nbsp; &nbsp; 0.0</div><div>node001 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; linux-x64 &nbsp; &nbsp; &nbsp; 8 &nbsp;0.36 &nbsp; 67.1G &nbsp;917.3M &nbsp; &nbsp; 0.0 &nbsp; &nbsp; 0.0</div><div>node002 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; linux-x64 &nbsp; &nbsp; &nbsp; 8 &nbsp;0.04 &nbsp; 67.1G &nbsp;920.4M &nbsp; &nbsp; 0.0 &nbsp; &nbsp; 0.0</div><div>node003 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; linux-x64 &nbsp; &nbsp; &nbsp; 8 &nbsp;0.04 &nbsp; 67.1G &nbsp;887.3M &nbsp; &nbsp; 0.0 &nbsp; &nbsp; 0.0</div><div>node004 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; linux-x64 &nbsp; &nbsp; &nbsp; 8 &nbsp;0.06 &nbsp; 67.1G &nbsp;911.4M &nbsp; &nbsp; 0.0 &nbsp; &nbsp; 0.0</div></div><div><br></div><div><br></div><div>So it seems like there should be a way to tell qsub that job X is using some subset of the available CPU, or RAM, so that it doesn't oversubscribe the node.</div><div><br></div><div>Thanks for your time!</div><div><br></div><div>Best,</div><div>John</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br><div><div>On Oct 16, 2012, at 2:12 PM, Jesse Lu &lt;<a href="mailto:jesselu@stanford.edu">jesselu@stanford.edu</a>&gt; wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">You can modify the all.q queue to assign a fixed number of slots to each node.<div><ul><li>If I remember correctly, "$ qconf -mq all.q" will bring up the configuration of the all.q queue in an editor.&nbsp;</li><li>Under the "slots" attribute should be a semilengthly string such as "[node001=16],[node002=16],..."</li>
<li>Try replacing the entire string with a single number such as "2". This should assign each host to have only two slots.</li><li>Save the configuration and try a simple submission with the 'orte' parallel environment and let me know if it works.</li>
</ul><div>Jesse</div></div><div><br><div class="gmail_quote">On Tue, Oct 16, 2012 at 1:37 PM, John St. John <span dir="ltr">&lt;<a href="mailto:johnthesaintjohn@gmail.com" target="_blank">johnthesaintjohn@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hello,<br>
I am having issues telling qsub to limit the number of jobs ran at any one time on each node of the cluster. There are sometimes ways to do this with things like "qsub -l node=1:ppn=1" or "qsub -l procs=2" or something. I even tried "qsub -l slots=2" but that gave me an error and told me to use the parallel environment. When I tried to use the "orte" parallel environment like "-pe orte 2" I see "slots=2" in my qstat list, but everything gets executed on one node at the same parallelization as before. How do I limit the number of jobs per node? I am running a process that consumes a very large amount of ram.<br>

<br>
Thanks,<br>
John<br>
<br>
<br>
_______________________________________________<br>
StarCluster mailing list<br>
<a href="mailto:StarCluster@mit.edu">StarCluster@mit.edu</a><br>
<a href="http://mailman.mit.edu/mailman/listinfo/starcluster" target="_blank">http://mailman.mit.edu/mailman/listinfo/starcluster</a><br>
</blockquote></div><br></div>
</blockquote></div><br></div></body></html>