Re: Parallel GC for parrot - does it make sense?

2007-10-06 Thread Stefan Parvu

Hi,

Allison Randal wrote:
It's worth exploring, and may lead to other experiments in parallel GC.. 
Parrot allows multiple different GC systems, so you shouldn't encounter 
significant problems on the Parrot side, but if you do, let us know and 
we'll fix them. I don't know if Harmony's parallel GC was designed to be 
plugged into other systems, though, so you may need to write a wrapper 
around it (which may lose some of the speed gains).


What is the future of Parrot and GC systems ? Are we gonna have in near 
future similar GCs what the JVM has at this moment:


 - serial collector
 - parallel collector
 - concurrent collector ?

That would be good since you can adjust your application for different 
loads. As well that would increase the time spent how to tune and do 
maintenance for your app so documentation would be valuable. Im curious, 
is Parrot a generational type of VM (objects are allocated in 
generations), similar as the popular JVM ?


Rgds,
Stefan


Re: Parallel GC for parrot - does it make sense?

2007-10-06 Thread Stefan Parvu


The three schemes currently implemented are generational, stop-the-world 
mark-and-sweep, and incremental mark-and-sweep. The generational GC 
implementation is not complete yet. The default GC scheme at the moment 
is stop-the-world mark-and-sweep. For the 1.0 release the default will 
likely be either incremental or generational, depending on which proves 
to be the most stable and best performance on average across common use 
cases.


We will definitively need good documentation for this part:

 - Parrot VM tuning, is it needed, why and when ?

 - Parrot and JVM, a simple face-to-face comparative description will 
help a lot of folks coming from Java land and as well sysadmins which 
are maintaining the JVM options for app servers, for instance. For 
instance, this would be very interesting how Parrot VM will be 
configured to run Perl 6...


 - Parrot's VM options should try to stay as a small set, good 
documented and not expand in dozens hard to maintain and hard to understand.


Thanks for message,
Stefan