<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Feb 21, 2008, at 5:35 PM, Stephen Pair wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">I must say, this is a really impressive development. &nbsp;I really think this is the right way to approach multi-core systems.<div><br class="webkit-block-placeholder"></div><div>At work, we have a highly distributed system (some customers are running as many as 50 nodes with a mix of VW and C++ processes on each). &nbsp;Occassionally some of our people in the field or customers complain that any one process isn't taking advantage of the multi-core architectures they run on. &nbsp;After reminding them that in fact we are using those CPUs because we are running many processes on those nodes, we also highlight the fact that our C++ component, which utilizes many threads (in a retrospectively naive way), actually degrades in performance when you drop it onto a multi-core machine (and it degrades badly). &nbsp;All those highly active threads contending for the same shared memory isn't quite so good. &nbsp;;)</div></blockquote><div><br class="webkit-block-placeholder"></div>Could you elaborate on the shared-memory contention? Last year we were having the preliminary discussions that led to Hydra VM, and I argued (on theoretical grounds) that &nbsp;fine-grained multithreading within a single object memory could cause serious memory contention problems. &nbsp;I'd be interested to hear more about your real-world experiences.</div><div><br class="webkit-block-placeholder"></div><div>Thanks,</div><div>Josh</div><div><br class="webkit-block-placeholder"></div><div><br><blockquote type="cite"> <div><br class="webkit-block-placeholder"></div><div>- Stephen<br><br><div class="gmail_quote">On Thu, Feb 21, 2008 at 8:22 PM, Igor Stasenko &lt;<a href="mailto:siguctua@gmail.com">siguctua@gmail.com</a>&gt; wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"> <div><div></div><div class="Wj3C7c">On 22/02/2008, Andreas Raab &lt;<a href="mailto:andreas.raab@gmx.de">andreas.raab@gmx.de</a>&gt; wrote:<br> &gt; Stephen Pair wrote:<br> &gt; &nbsp;&gt; How does one start a second image (or does it do this automatically<br> &gt; &nbsp;&gt; based on the number of cores)?<br> &gt;<br> &gt;<br> &gt; Load the HydraVM package and execute:<br> &gt;<br> &gt; &nbsp; &nbsp;HydraVM saveAsHeadlessImage: 'core.image'<br> &gt;<br> &gt; &nbsp;This will save the current image in a form ready for loading it in the<br> &gt; &nbsp;background. When you've saved it, start it via:<br> &gt;<br> &gt; &nbsp; &nbsp;HydraVM loadAndRunNewImage: 'core.image'<br> &gt;<br> &gt;<br> &gt; &nbsp;&gt; On my machine, it seems to run ok for about a minute or so and then<br> &gt; &nbsp;&gt; freeze up (this is on a Windows XP core duo machine).<br> &gt;<br> &gt;<br> &gt; Interesting. Others have mentioned the same effect. I'm using a slightly<br> &gt; &nbsp;older version of the VM which seems a little more stable (but I know<br> &gt; &nbsp;Igor is looking into the problem).<br> &gt;<br> <br> </div></div>This was introduced due to my latest changes. Sorry guys i didn't meant that. :)<br> I had freezing problems on my own PC, and did some fixes to eliminate<br> that before releasing an update. As it turned out, something in<br> environment (Windows?) causing VM to freeze, because i tested same<br> images and with same VM binaries and it worked just fine on my PC.<br> <br> <br> &gt; &nbsp;Cheers,<br> &gt;<br> &gt; &nbsp; &nbsp;- Andreas<br> &gt;<br> &gt;<br> <font color="#888888"><br> <br> --<br> </font><div><div></div><div class="Wj3C7c">Best regards,<br> Igor Stasenko AKA sig.<br> <br> </div></div></blockquote></div><br></div> <br></blockquote></div><br></body></html>