harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pavel Afremov" <pavel.n.afre...@gmail.com>
Subject Re: [drlvm] finalizer design questions
Date Sun, 31 Dec 2006 18:47:45 GMT
If we'd like to copy the commercial VM behavior we can write several
synthetic tests, and try to reach the same behavior. And if any test works
on RI it should works on DRLVM.



Or we can optimize DRLVM for defined set of applications. Let's choose one
of the way here, at first.



Happy New Year!

Pavel Afremov.


On 12/31/06, Geir Magnusson Jr. <geir@pobox.com> wrote:
>
>
> On Dec 31, 2006, at 10:18 AM, Weldon Washburn wrote:
>
> > On 12/29/06, Pavel Afremov <pavel.n.afremov@gmail.com> wrote:
> >>
> >> I've checked Weldon's finalization scheme and two existing schemes on
> >> Weldon's test in mode 1 and 2.
> >> On my Machine WinXP HT Pentium 4 I've got following results.
> >>
> >> Weldon's design (on my machine 2 threads with highest priority).
> >>            Mode 1: 1/50 (main loop/finalizer call)
> >>            Mode 2: 1/50 (main loop/finalizer call)
> >
> >
> > This looks good to me.  Its close enough for the current state of
> > drlvm.  In
> > other words, don't try to precisely replicate the performance
> > numbers I
> > collected from Sun 1.5.0.
> >
> > Multithreading java scheme (old DRLVM scheme)
> >>            Mode 1: 1/1 (main loop/finalizer call)
> >>            Mode 2  1/250 (main loop/finalizer call)
> >> One native thread with highest priority (like new GC v5 scheme)
> >>            Mode 1: 1/1 (main loop/finalizer call)
> >>            Mode 2: 1/1 (main loop/finalizer call)
> >
> >
> > Its unclear if you actually ran GCv5 finalizer code or something
> > "like new
> > GC v5 scheme".  I don't know what the data means.
> >
> > From Weldon's data SUN 1.5.0 JVM has:
> >>            Mode 1: 1/50 (main loop/finalizer call) (may be 1/90)
> >>            Mode 2: 1/173 (main loop/finalizer call) (15 / 2600  =
> >> 1/173)
> >>
> >> As I understand the ideal finalization scheme should provide:
> >>            Mode 1: 1/1 (main loop/finalizer call)
> >>            Mode 2: 0/1 (main loop/finalizer call)
> >
> >
> > The point is that the "ideal finalization" design needs to be
> > driven by what
> > important commercial workloads require.
>
> I'd be stunned if there were any important commercial workloads that
> used finalizers.  (Nothing from SPEC is a commercial workload...)
>
> > It will be a while before these
> > workloads run fast and stable on drlvm.  In other words, drlvm is
> > not yet
> > ready for investigating the final finalization scheme.
>
> I don't agree with that conclusion, as I don't think that they are
> connected concepts.
>
> > Incidentally, the
> > data collected on Sun 1.5.0 contradicts the "ideal finalization
> > scheme"
> > suggested above.  Given a choice, I would rather do something
> > similar to a
> > commercial JVM implementation at this point in time.
>
> Me too
>
> geir
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message