harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ivan Volosyuk" <ivan.volos...@gmail.com>
Subject Re: [DRLVM][GC] low pause garbage collection for Harmony
Date Fri, 16 Feb 2007 12:17:05 GMT
On 2/16/07, Xiao-Feng Li <xiaofeng.li@gmail.com> wrote:
> On 2/15/07, Ivan Volosyuk <ivan.volosyuk@gmail.com> wrote:
> > On 2/14/07, Xiao-Feng Li <xiaofeng.li@gmail.com> wrote:
> > > Some researchers seperate "on-the-fly" GC from concurrent GC as a
> > > special case [3]. The difference as stated is "on-the-fly" GC doesn't
> > > require any synchronization point where all mutators are suspended,
> > > i.e., it suspends and resumes mutators one after another, not at the
> > > same time. There is also "real-time" GC proposed that can satisfy
> > > required real-time bounds. Metronome is one example [4].
> >
> > > [3] http://www.cs.technion.ac.il/~erez/Papers/ms-sliding-views.ps
> >
> > I have taken a look at the ms-sliding-views.ps paper. The on-the-fly
> > GC looks quite promising. One thing that bothers me is it is of 'mark
> > and sweep' type. It require different allocator algorithm to keep
> > fragmentation low, it means for me (correct me) that the allocation
> > rate would be rather slow and it will have suboptimal data locality. I
> > understand that we won't have such low pauses if we would like to move
> > data on a GC without read barriers. One thing which really excite me
> > that it doesn't require stop-the-world at all, each thread is stopped
> > independently, that means that it's really scalable by the number of
> > running threads.
>
> Ivan, thanks. I have basically the same understanding of the
> on-the-fly mark-sweep algortihm as you. It may need compaction
> algorithm to reduce the accumulated fragmentation effect. Compressor
> can compact the heap with rather low pause-time by leveraging the OS
> mem-protect mechanism and tripple-mapping the virtual space.

It should be very specific compaction algorithm. We need to presume
general heap structure: per-processor segregated free-lists, large
object space and all the corresponding metadata.

--
Ivan

Mime
View raw message