[ 
https://issues.apache.org/jira/browse/CASSANDRA-7486?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14519791#comment-14519791
 ] 

Albert P Tobey commented on CASSANDRA-7486:
-------------------------------------------

[~aweisberg] comparing promotions between G1 and CMS doesn't really make sense 
IMO. G1 promotions simply mark memory where it is without copying. After a 
threshold it will compact surviving cards into a single region. What I've 
observed is that compaction is rarely necessary with a big enough G1 heap. With 
a saturation write workload on Cassandra 2.1 only ~100-200MB seems to stick 
around for the long haul with almost all the rest getting cycled every few 
minutes (in an 8GB heap).

[~yangzhe1991] I would keep the default heap at 8GB. I have tested with G1 at 
16GB on a 30GB m3.2xlarge on EC2 and it generally gets better throughput and 
latency because there's more space for G1 to "waste" (that's what they call 
it). Intel tested up to 100GB with Hbase at 200ms pause target and said nice 
things about it. I don't see much need for C* to hit that size but it's 
certainly doable with G1. The main problem is smaller heaps where G1 starts to 
struggle a little, but I found that it still works OK down to 512MB, even if a 
bit less efficient than CMS since G1 targets ~10% CPU time for GC while the 
others target 1% by default.

Throughput / latency is always a tradeoff and in the case of G1 with 
non-aggressive latency targets (-XX:MaxGCPauseMillis=2000) the throughput is 
darn close to CMS with considerably improved standard deviation on latency. IMO 
that's a great tradeoff as most of the users I talk to in the wild mostly 
struggle with getting reliable latency rather than throughput.

IMO consistent performance should always take precedence over maximum 
performance/throughput. G1 provides a much more consistent experience with 
fewer knobs to mess with (especially tuning eden size, which is still a black 
art that nearly every installation I've looked at gets wrong).

> Compare CMS and G1 pause times
> ------------------------------
>
>                 Key: CASSANDRA-7486
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7486
>             Project: Cassandra
>          Issue Type: Test
>          Components: Config
>            Reporter: Jonathan Ellis
>            Assignee: Shawn Kumar
>             Fix For: 2.1.x
>
>
> See 
> http://www.slideshare.net/MonicaBeckwith/garbage-first-garbage-collector-g1-7486gc-migration-to-expectations-and-advanced-tuning
>  and https://twitter.com/rbranson/status/482113561431265281
> May want to default 2.1 to G1.
> 2.1 is a different animal from 2.0 after moving most of memtables off heap.  
> Suspect this will help G1 even more than CMS.  (NB this is off by default but 
> needs to be part of the test.)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to