[
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)