« Return to Thread: [rvm-research] Slots and Object Barriers

Re: [rvm-research] Slots and Object Barriers

by Tony Hosking :: Rate this Message:

Reply to Author | View in Thread

Admittedly, the work is now somewhat dated, but card mark barriers were compared extensively with other barriers for their effects on the collector in our OOPSLA'92 paper:



On 26 Jun 2009, at 07:35, Steve Blackburn wrote:

Hi Christian,

For the friend or foe barrier I implemented a card marking barrier.   
The other write barriers were pre-existing for one reason or another.   
We no longer use the zone barrier.  None of our collectors require it  
and its performance is particularly poor.

The code you refer to is relatively recent.   I was exploring the  
possibility that these different choices may favor arrays and scalars  
differently.   The trade offs are complex and vary from benchmark to  
benchmark.  In the end there was no clear cut winner.   I typically re-
evaluate issues like this from time to time to see if the general  
state of the VM has changed sufficiently to make the analysis  
different.   I should do so again soon since a lot has changed on the  
performance front recently, both within the VM, and with newer hardware.

Barriers can indeed sometimes improve performance compared to no  
barriers.   If the barrier is rarely taken (no or little work actually  
done) then sometimes the effect of introducing the barrier can induce  
small positive effects.    However in the context of adaptive  
optimization these are will fall out in the noise.

The paper was strictly concerned with the mutator effect of the  
barriers.   As I said in the previous email, the various barriers can  
make different trade offs between mutator and GC time overheads.   We  
did not attempt to address that tradeoff in the paper.   My  
implementation of card marking was thus never industrial strength.   I  
did make all the source available as a patch on my web page (follow  
the link I sent you), so you can take a look if you're interested in  
it.  The key problem with card marking is that it is less general than  
many of the other approaches.   It is OK for a two generational  
collector, but is not useful for a multi-space system where it is  
necessary to track more information than simply the binary existence  
(or not) of a pointer.   For those reasons we never decided to use  
card marking in our collectors.

I hope that helps.

Cheers,

--Steve

------------------------------------------------------------------------------
_______________________________________________
Jikesrvm-researchers mailing list
Jikesrvm-researchers@...
https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers


------------------------------------------------------------------------------

_______________________________________________
Jikesrvm-researchers mailing list
Jikesrvm-researchers@...
https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers

 « Return to Thread: [rvm-research] Slots and Object Barriers