<br><br><div class="gmail_quote">On Fri, Jun 22, 2012 at 12:38 PM, Toby Burnett <span dir="ltr">&lt;<a href="mailto:tburnett@uw.edu" target="_blank">tburnett@uw.edu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">







<div lang="EN-US" link="blue" vlink="purple">
<div>
<p class="MsoNormal">I’ve been using the parallel facility for some time, very productively.
<u></u><u></u></p>
<p class="MsoNormal">My mode is to initialize all engines for a particular setup, then allocate cases to each one. A new run then involves a new setup, for which I’d like to  clear and reuse the engines.  I invoke  the parallel function clear, which clears
 the remote namespace OK, but the memory use does not change, and a new initialization adds more memory.</p></div></div></blockquote><div><br></div><div>This sort of thing is incredibly difficult to diagnose without code (and even pretty hard with code).  Every test I have done with simple numpy arrays results in properly freed memory on the engines.</div>

<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-US" link="blue" vlink="purple"><div><p class="MsoNormal"><u></u><u></u></p>
<p class="MsoNormal">Running ‘import gc; gc.collect()’  does not seem to help.<u></u><u></u></p>
<p class="MsoNormal">So, I really want to restart the python process without having to kill, and restart the engine.</p></div></div></blockquote><div><br></div><div>Restart *is* killing and restarting (the restart in the notebook/qtconsole is literally: kill, wait, restart).</div>

<div><br></div><div>One of the things that I have long wanted to add to the engines is KernelManager capabilities, so that they can be interrupted/restarted like the regular Kernels.</div><div><br></div><div>We have a bit of degeneracy in our terminology/implementation, because what we call a KernelManager is really two very different things: a KernelManager, and the base KernelClient.  There should only be one KernelManager per kernel/engine, and then one KernelClient per frontend.  This would allow remote signalling/interrupting/restarting, which we currently don&#39;t have, and the same changes would enable the KernelManager to be used by Engines.</div>

<div><br></div><div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-US" link="blue" vlink="purple"><div><p class="MsoNormal"><span class="HOEnZb"><font color="#888888"><u></u><u></u></font></span></p>

<span class="HOEnZb"><font color="#888888">
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">--Toby Burnett<u></u><u></u></p>
</font></span></div>
</div>

<br>_______________________________________________<br>
IPython-User mailing list<br>
<a href="mailto:IPython-User@scipy.org">IPython-User@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/ipython-user" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-user</a><br>
<br></blockquote></div><br>