2009/2/4 Steve Blackburn <
Steve.Blackburn@...>:
> Hi Ian,
>
> On 04/02/2009, at 11:18 PM, Ian Rogers wrote:
>>
>> So this doesn't make sense. r15240 changed an encoding of:
>
> [...snip...]
>
>> we did a single call to a helper (that then contained the
>> if-then-else). Whilst their would have been code associated with the
>> helper routine it wouldn't equate to 1MB.
>
> Sure. The point was that something in that commit caused compress to
> reliably OOME whereas it had not before. Increasing the heap by 1MB
> did not resolve it. This says to me that something about that commit
> caused at least a 1MB increase in the memory pressure for compress.
> I have no idea why. My POV is that if we suddenly get a regression,
> we should try to understand why, hence RVM-743.
>
>>> b. The OOME's on compress stopped abruptly with r15318. I started
>>> reading
>>> through r15318 to work out why it affected RVM-743 and I wondered
>>> whether
>>> you had been trying to fix RVM-743 in r15318. I was puzzled, so I
>>> asked :-)
>>> Apparently not.
>>
>> For the tight GCs we're sporadically getting OOMEs on more benchmarks
>> than just compress.
>
> Sure. However, prior to the above commit we had not seen any on
> compress.
>
>> The problem is that rather than throw an OOME to
>> the application we should kill the compilation thread. Perhaps there
>> should be a call into the VM to ask the VM release any memory it has,
>> and then retry the application allocation before we throw the OOME. In
>> the current thread model just using the Thread.stop logic would be
>> enough to kill the compiler threads.
>
> That's fine. I agree we need to handle the OOME's better.
>
> However, it is orthogonal to the point I'm making. My point is that
> something in that commit increased the memory pressure on compress by
> at least 1MB, and that in and of itself should be a concern until we
> understand it.
>
>> Unfortunately I can't repeat RVM-743.
>
> Not sure what you mean. You saw the problem and you increased the
> heap size. Until you increased the heap size compress-GC3 was failing
> with an OOME 100% of the time (I believe it was 100%).
I mean that if I check out the RVM and repeatedly run compress with
the smaller heap size I don't get OOMEs. The problem is something to
do with the balance of habanero, the RVM and the adaptive optimization
system.
>> I don't understand, why are people coding against an entry point for
>> the compiler? The code this calls I can see.
>
> Because they are extending the semantics. In my case this is for
> arraylets. For Daniel and Fil for more general use barriers.
Is there a JIRA for arraylets? In any case the code in question is now
easier to maintain for arraylets as you don't need to do any hand
coding (instead this is done in the helper routine) that is making use
of existing magic code (which unfortunately needs porting for
arraylets - but I couldn't save you that one).
>> I have got significant
>> speed up from code related to the changes to the Barrier code, but I
>> am not releasing it yet (and it's specifically for work using BaseBase
>> - although I've seen speed ups in the region of 3% for opt builds).
>
> Wait. My question was: did you observe any performance gain for the
> changes you have already committed?
>
> If not, then you really need to clearly motivate the change properly
> before committing.
I think the performance reports are speaking for themselves. In
general generating less code and smaller code is a good thing.
>> I propose fixing the compiler to handle this and Dave proposes an
>> invasive change to MMTk.
>
> Dave? What change are you proposing?
>
> --Steve
It's probably worth following this up through JIRA:
http://jira.codehaus.org/browse/RVM-755Ian
------------------------------------------------------------------------------
Create and Deploy Rich Internet Apps outside the browser with Adobe(R)AIR(TM)
software. With Adobe AIR, Ajax developers can use existing skills and code to
build responsive, highly engaging applications that combine the power of local
resources and data with the reach of the web. Download the Adobe AIR SDK and
Ajax docs to start building applications today-
http://p.sf.net/sfu/adobe-com_______________________________________________
Jikesrvm-core mailing list
Jikesrvm-core@...
https://lists.sourceforge.net/lists/listinfo/jikesrvm-core