harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Egor Pasko <egor.pa...@gmail.com>
Subject Re: [drlvm] Class unloading support
Date Mon, 30 Oct 2006 05:40:36 GMT
On the 0x210 day of Apache Harmony Rana Dasgupta wrote:
> I completely agree.
> 
> +1 for branch if Aleksey wants to experiment

are there any problems with Java VTables in any of the components? JIT
has no problems, as we discussed. GC should not suffer too, I
guess. If we meet some problems that take long to fix (and many people
to do it all), then it may become reasonable to make a branch. But not
earlier. AFAIR, nobody died of a couple of interdependant JIRAs yet.

So, I would suggest to hold on with braching until it is a strong
reason.

> 
> On 10/27/06, Xiao-Feng Li <xiaofeng.li@gmail.com> wrote:
> >
> > All, I think the problem now is mainly about the class unloading
> > design not about whether class unloading happens in server
> > environment.
> >
> > Class unloading is definitely a feature required in future; but with
> > the significance of the required modifications in JVM by this class
> > unloading design 2 (using Java object for Vtable), it is probably
> > safer to move this work into a branch at the moment until all other
> > components are ready for it, and after we have thorough evaluation on
> > it since there are still issues to be resolved or discussed.
> >
> > Or we can keep it in JIRA and keep the discussion and evaluation going
> > on before we decide to support the special design (Java Vtable) in
> > other components.
> >
> > How about it?
> >
> > Thanks,
> > xiaofeng
> >
> > On 10/27/06, Geir Magnusson Jr. <geir@pobox.com> wrote:
> > >
> > >
> > > Rana Dasgupta wrote:
> > > > My knowledge in this area is limited. But my understanding was that
> > web
> > > > servers and other similar hosts recycled processes periodically as
> > > > standard procedure, thereby tearing down all associated resources.
> > >
> > > Yes, but that has nothing to do with what would be happening in the app
> > > server the web server talked to, if one had an architecture where a web
> > > server "fronted" for the app server.
> > >
> > > > So
> > > > classes loaded, but not used for a while went away anyway;
> > >
> > > Nope - they aren't loaded in the context of the webserver (when using
> > > httpd).
> > >
> > > > this level of
> > > > resource management was not really urgent. I know that IIS does this,
> > I
> > > > am not sure about httpd. I am not sure about other host environments.
> > >
> > > But a process fork model (or thread model) of a webserver has nothing to
> > > do with what's going on in the VM.
> > >
> > > I'm talking about servlet engines and app servers like Tomcat and
> > > Geronimo which have nothing to do with httpd.  Architecturally, they are
> > > separated from the web server (unless you don't use an external
> > > webserver, and just use the httpd connector in tomcat) and are separate,
> > > independent processes.
> > >
> > >      httpd  <------>  Tomcat
> > >
> > > The java-based app servers are long running processes, running for weeks
> > > or months.  We need to do clean class unloading.
> > >
> > > geir
> > >
> > >
> > > >
> > > >
> > > > On 10/27/06, *Geir Magnusson Jr.* <geir@pobox.com
> > > > <mailto:geir@pobox.com>> wrote:
> > > >
> > > >
> > > >
> > > >     Rana Dasgupta wrote:
> > > >      > Aleksey,
> > > >      >   I had a couple of questions.
> > > >      >   You state that DRLVM does not implement the class unloading
> > > >     optimization,
> > > >      > and this may create memory pressure on some applications that
> > > >     load many
> > > >      > classes. Do we have a real case / example where an application
> > is
> > > >     stuck for
> > > >      > insufficient memory because it uses a lot of classes initially
> > > >     and then
> > > >      > stops using them, but these are not unloaded? One can imagine
a
> > > >     web browser
> > > >      > doing something like this. Is a web browser a typical use case
> > > >     for the
> > > >      > Harmony JVM?
> > > >      >
> > > >
> > > >     If I understand what you're asking correctly, you'll find this
> > pattern
> > > >     in servlet engines or J2EE servers, where deployed apps can be
> > dumped
> > > >     and reloaded repeatedly either during development or during
> > production
> > > >     deployment, w/o taking the server down.
> > > >
> > > >     geir
> > > >
> > > >
> > >
> >

-- 
Egor Pasko, Intel Managed Runtime Division


Mime
View raw message