[squeak-dev] Re: [ANN] Hydra VM: A multi-core capable Croquet VM

Andreas Raab andreas.raab at gmx.de
Fri Feb 22 02:16:01 UTC 2008


Stephen Pair wrote:
> I must say, this is a really impressive development.  I really think 
> this is the right way to approach multi-core systems.

I agree. It's a stronger model than shared-state concurrency because you 
model sets of objects (which is natural for the environment we're in). 
The next step needs to be a set of tools that we can use to create 
really small "worker images" (maybe 100k or less). At which point we not 
only have the ability to, say, fork a few hundred of those (and take 
care of Intels NextGen 80+ core CPUs ;-) but also get the minimal images 
so many people are craving for and be able to load different versions of 
code side-by-side and get a module system for free. Pretty exciting stuff.

Cheers,
   - Andreas

> 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). 
>  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.  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).  All those highly active threads contending for the same shared 
> memory isn't quite so good.  ;)
> 
> - Stephen
> 
> On Thu, Feb 21, 2008 at 8:22 PM, Igor Stasenko <siguctua at gmail.com 
> <mailto:siguctua at gmail.com>> wrote:
> 
>     On 22/02/2008, Andreas Raab <andreas.raab at gmx.de
>     <mailto:andreas.raab at gmx.de>> wrote:
>      > Stephen Pair wrote:
>      >  > How does one start a second image (or does it do this
>     automatically
>      >  > based on the number of cores)?
>      >
>      >
>      > Load the HydraVM package and execute:
>      >
>      >    HydraVM saveAsHeadlessImage: 'core.image'
>      >
>      >  This will save the current image in a form ready for loading it
>     in the
>      >  background. When you've saved it, start it via:
>      >
>      >    HydraVM loadAndRunNewImage: 'core.image'
>      >
>      >
>      >  > On my machine, it seems to run ok for about a minute or so and
>     then
>      >  > freeze up (this is on a Windows XP core duo machine).
>      >
>      >
>      > Interesting. Others have mentioned the same effect. I'm using a
>     slightly
>      >  older version of the VM which seems a little more stable (but I know
>      >  Igor is looking into the problem).
>      >
> 
>     This was introduced due to my latest changes. Sorry guys i didn't
>     meant that. :)
>     I had freezing problems on my own PC, and did some fixes to eliminate
>     that before releasing an update. As it turned out, something in
>     environment (Windows?) causing VM to freeze, because i tested same
>     images and with same VM binaries and it worked just fine on my PC.
> 
> 
>      >  Cheers,
>      >
>      >    - Andreas
>      >
>      >
> 
> 
>     --
>     Best regards,
>     Igor Stasenko AKA sig.
> 
> 
> 
> ------------------------------------------------------------------------
> 
> 




More information about the Squeak-dev mailing list