Ivan,
 Even if the vtable gc data layout change is small and code specific, it
will be interesting to see the change proposal here first, specially if you
are considering submitting it.
 Sounds quite promising. 1.5% is not small. Some details of which workload
saw the 1.5% collection delta would also help.

Thanks much,
Rana


On 6/13/06, Ivan Volosyuk <[EMAIL PROTECTED]> wrote:

On 6/13/06, Rana Dasgupta <[EMAIL PROTECTED]> wrote:
> Hi Ivan,
>
> On 6/13/06, Ivan Volosyuk <[EMAIL PROTECTED]> wrote:
> >
> >
> > >Btw, I have found small performance improvement to GCv4 which can be
> > >easily added to it.
>
>
>      Could you please post more details about this possible perf
enhancement
> to V4?
> .......

It is just very specific code. The layout of gc data in VTable can be
changed a bit. It gives about 1.5% speed up of garbage collection and
may also have insignificant performance improvement on allocation.

>
> > >Well, I'm going to do this development just for education and to
> > >extend my own horizon. It can be done here or privately. Either
> > >variant is acceptable for me.
>
>
>      Since this is more of an experiment, ( educational as you point out
)
> and it is a little unclear immediately what is the value it adds  to the
> DRLVM GC infrastructure, would it make sense for you to make some
progress
> offline and bring back your findings to this list before doing
incremental
> JIRA code postings? What do you think?

Yes, it makes sense. I want to do a few experiments and the postings
will at one hand will slow-down me, at the other hand it is of no use
for others.

--
Regards,
Ivan

>
> Thanks,
> Rana
>
> --
> > Ivan
> >
> > On 6/13/06, Weldon Washburn <[EMAIL PROTECTED]> wrote:
> > >  Ivan,
> > >
> > > Please note that two guys who worked for me on ORP
> > > (http://orp.sourceforge.net/ ) spent 2-3 years building and tuning
the
> > > train algorithm.  We could never get the performance to acceptable
> > > level.  Ultimately we ditched the train algorithm and built GCV4 in
> > > less than 3 months.  GCV4 was never finished.  I suspect other VM
> > > builders also experimented with the train algorithm and abandoned
it.
> > > As far as I know, there are no production or research MRTEs
containing
> > > the train algorithm.  Also note there is already a complete
> > > implementation of the train algorithm in Apache compatible licensed
> > > open source.  Look for orp-1.0.10.tgz on
> > > http://sourceforge.net/projects/orp ).  The train algorithm is
> > > contained in the directory gc_v2.  Since the GC/VM interface has not
> > > evolved much in the transition from ORP to DRLVM, it should be an
easy
> > > port.  This port would be interesting for two reasons:
> > >
> > > a)
> > > A teaching tool to show why/where the train algorithm fails.  Tony
> > > Printezis and Richard Jones wrote an excellent paper that used GCspy
> > > to graphically demonstrate where the train algorithm falls down.
> > >
> > > Look for, "GCspy: An Adaptable Heap Visualization Framework" by Tony
> > > Printezis and Richard Jones,
> > > ( http://www.cs.kent.ac.uk/pubs/2002/1426/index.html ).  Also look
for,
> > > (
http://research.sun.com/projects/gcspy/printezis-garthwaite-ismm2002.pdf
> >
> > > ), "Visualizing the Train Garbage Collector".
> > >
> > > It might be interesting to hook up GCV2 and GCspy to harmonydrlvm
and
> > > reproduce this paper.  This would calibrate GCspy for future
> > > harmonydrlvm work.
> > >
> > > b)
> > > GC_V2 really stressed the write barrier subsystem. (GCV2 does a
> > > substantial amount of object copying.)  If GC_V2 can be ported
> > > quickly, it might be a good stepping stone to getting MMTk going.
> > >
> > > On 6/9/06, Ivan Volosyuk <[EMAIL PROTECTED]> wrote:
> > > > While some works going on to properly integrate DRLVM in harmony
build
> > system...
> > > >
> > > > I would like to start development of new garbage collector. I know
> > > > about Weldon's work related to MMTk. I am not sure that it is the
> > > > right way.
> > > >
> > > > Instead of doing GC based on java, I would concentrate on the one
> > > > written in C. I think that the VM written in C (or C++ ) should
have
> > > > GC written the same way.
> > > >
> > > > I have some experience in garbage collectors (stop-the-world ones
for
> > > > now) and want to extend my knowledge in this area. That is one of
the
> > > > reasons I want to make the GC, but do not port the existing one. I
> > > > hope I will eventually produce something which is better then
existing
> > > > implementations or at least a few new ideas.
> > > >
> > > > I would like to start implementing something similar to Train
> > > > algorithm, then possibly modify it in direction to Garbage First
> > > > collector. I want to create something with high performance and
low
> > > > pauses.  At the beginning it will not even compile. I do not
expect
> > > > this to be interesting to anyone for some time, but as Geir always
> > > > suggests I going to do this in public to avoid surprises.
> > > >
> > > > All required VM functionality (for GC written in C) is already in
> > > > place. DRLVM's interfaces for GC is ok for me and should be quite
> > > > portable. Write barriers implementation is already in place,
suitable
> > > > for C-based Gc: (Harmony-504 (me), Harmony-581 (Ming Wu)).
> > > >
> > > > As I don't have commiter account, I going to create one JIRA and
start
> > > > to fill it with patches. In the patches I will create directory
> > > > enhanced/drlvm/trunk/vm/gcx and will start to fill it with stubs
and
> > > > implementation. I am going to do it mostly at spare time.

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Reply via email to