<br><br><div class="gmail_quote">On Mon, Jul 14, 2008 at 2:09 PM, Scott Jackson &lt;<a href="mailto:scott@clusterresources.com">scott@clusterresources.com</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div></div><div class="Wj3C7c">On Mon, 2008-07-14 at 13:55 -0400, Glen Beane wrote:<br>
&gt;<br>
&gt;<br>
&gt; On Mon, Jul 14, 2008 at 1:44 PM, Scott Jackson<br>
&gt; &lt;<a href="mailto:scott@clusterresources.com">scott@clusterresources.com</a>&gt; wrote:<br>
&gt;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; On Fri, 2008-07-11 at 16:28 -0400, Glen Beane wrote:<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; I&#39;ve been working on some changes in trunk that transfer<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; the .OU<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; and .ER spool files from pbs_mom back to pbs_server. This is<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; one of<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; the steps we need to take so that a job in the COMPLETE<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; state can be<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; restarted from a checkpoint file. &nbsp;(the files are only<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; returned to the<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; server if keep_completed is positive and the job has a<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; checkpoint<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; file)<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; There are problems when the spool file is shared between<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; pbs_server<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; and the mother superior pbs_mom. What happens is that when<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; the files<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; are &quot;returned&quot; pbs_server takes ownership of the .ER and .OU<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; files in<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; the spool dir and when pbs_mom forks to the user to copy the<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; files<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; back to the user home directory they are unable to do so<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; because of a<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; permission denied error. &nbsp;I feel that the cleanest solution<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; is to just<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; separate the pbs_server and pbs_mom spool directories. &nbsp;In<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; my current<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; working copy of trunk I have changed pbs_server to use<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; server_home/server_spool instead of server_home/spool.<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;pbs_mom<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; continues to use server_home/spool. &nbsp;This solves my problems<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; because<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; when the spool files are returned to pbs_server pbs_mom<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; retains its<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; copy it its own spool directory. It is then free to fork to<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; the user<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; to copy the files and then delete them.<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; Are there any objections to this change in trunk? (the<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; change will be<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt; introduced with the release of TORQUE 2.4.0)<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; No objections from me. This seems like a good approach.<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; Personally, if I<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; were the architect, I would have a mom, server and sched dir<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; and under<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; these, I would have log,spool,priv and other such directories.<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; I know it<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; is a big change. For me, the price of progress is worth it. It<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; would<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; have to be done in a minor version change (such as 2.3 to 2.4)<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; and would<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; have to be announced ostentatiously in the release notes.<br>
&gt;<br>
&gt;<br>
&gt; what about the waisted disk space? &nbsp;if pbs_mom and pbs_server are on<br>
&gt; the same node then pbs_server will get its own copy, and then moments<br>
&gt; later pbs_mom will delete its copy, so for that short period of time<br>
&gt; we have two copies of the spool files and we have the wasted time of<br>
&gt; doing the pbs_mom to pbs_server file transfer...<br>
&gt;<br>
&gt; I think we can get around that, &nbsp;but the code is going to be a bit of<br>
&gt; a hack, which is why I originally suggested separate spool directories<br>
&gt; and no differentiation between pbs_server/pbs_mom running on the same<br>
&gt; host or different hosts<br>
<br>
<br>
</div></div>I guess I don&#39;t understand your question because I think I am<br>
recommending the same thing as you. Only instead of the directory being<br>
torque-home/server-spool and torque-home/spool, I was suggesting<br>
torque-home/server/spool and torque-home/mom/spool. Same separation of<br>
directories. The main difference is that you don&#39;t need mom_logs,<br>
server_logs, sched_logs, mom_priv, server_priv, etc. You would have<br>
mom/logs, server/logs mom/priv, server/priv, etc.</blockquote><div><br><br>That is was I was originally recommending,&nbsp; but then after talking to Garrick on this same thread I have decided to try to come up with a way that still allowed pbs_mom and pbs_server to use the same spool directory.&nbsp; That way we can avoid an unnecessary copy (and temporarily having two duplicate copies of the same file on the same host). My question is are you still recommending this solution even though it will result in an unnecessary copy and some wasted disk space (even though that is temporary), so that the code will be simpler and cleaner?<br>
<br>I think I have come up with a way that will allow me to share the spool directory and not have problem with who owns the spool file (pbs_mom or pbs_server), but it will take more work to get things working (I could make a svn commit today that would have it done with separate spool directories)<br>
</div></div><br>