Parallel Scavenge: algorithm ParallelOldGC
Dang Nhan Nguyen
nhann at chalmers.se
Mon Feb 4 10:48:52 UTC 2013
Hi Jon,
I am asking for the description of the algorithm, especially the compaction part. So far, I can only find part of the description in the source code just like you.
As I've seen in the source code, the compaction part take a region and fill it with data taken from other regions. It different from the some compaction algorithms I have read where they take a region and tried to "compact" its data to else were (e.g LISP2, this: http://www.research.ibm.com/haifa/projects/systems/rs/papers/ParCompac_OOPSLA04.pdf,...). Of course the final resulted heap are (almost) the same, but it is interesting to see any fully description, analysis and evaluation or comparision.
If there is any evaluation of this mark-compaction algorithm against the prior works in term of performance and scalability on multicore computers, it would be even nicer.
/Nhan
________________________________________
From: hotspot-gc-dev-bounces at openjdk.java.net [hotspot-gc-dev-bounces at openjdk.java.net] on behalf of Jon Masamitsu [jon.masamitsu at oracle.com]
Sent: Saturday, February 02, 2013 12:51 AM
To: hotspot-gc-dev at openjdk.java.net
Subject: Re: Parallel Scavenge: algorithm ParallelOldGC
Are you asking which hotspot source code is
used when UseParallelOldGC is turned on?
Or are you asking for a description of the
algorithm? Actually, the answer to both is
share/vm/gc_implementation/parallelScavenge/psParallelCompact.*
I'm not aware of any publications on the specific
algorithm we used. Comments in the header file
are all I know about.
Jon
On 1/30/2013 6:43 AM, Dang Nhan Nguyen wrote:
> Hi all,
>
> I would like to ask about Parallel Scavenge GC:
> Which parallel mark-compact algorithm is used for the old generation in Parallel Scavenge GC (when XX:+UseParallelOldGC is set)?
> (Reference to publication(s) are appreciated)
>
> Thanks,
> /Nhan Nguyen
>
More information about the hotspot-gc-dev
mailing list