<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=EN-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal>Hello all,<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>My company has a cache-based application using a well-known
Java memory clustering framework for handling the usual failover and load
balancing concerns ensuring cache state is maintained when losing a node or
two.<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>Naturally, application garbage collector choice has been
explored during conversations with the support staff for this framework. 
The framework’s support staff has insisted any application using their
framework should use the ParallelOld collector due to issues regarding using
CMS and its inherent memory fragmentation.  The latest exchange is below
with my questions first and the response following.  The framework’s
name has been removed.<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal style='margin-left:.5in'>Questions:  Are there specific
outstanding reported Sun JVM CMS bugs that are the basis for the requirement to
use ParallelOld?  If so, what are they, as other applications may also be
subject to the same issue?  If not, what is so fundamentally different
about <product>’s memory usage and garbage collector interactions
that makes CMS a bad choice?<o:p></o:p></p>

<p class=MsoNormal style='margin-left:.5in'><o:p> </o:p></p>

<p class=MsoNormal style='margin-left:.5in'>From <product>:  
This is not <product> specific but in Java in general. Sun itself
recommends staying away from CMS if possible due to possible fragmentation
issues. In other words, with CMS you are just delaying the problem and will
possibly hit a very long pauseful collection at some point.<o:p></o:p></p>

<p class=MsoNormal style='margin-left:.5in'><o:p> </o:p></p>

<p class=MsoNormal>In my now several years of reading Sun GC white papers,
tuning guides, articles, blog posts, messages threads (here and elsewhere), and
the like, I have never heard any assertion from Sun discouraging CMS use
altogether simply due to the memory fragmentation inherent to CMS’
design.  Everything I have seen, and everything we have implemented
successfully tuning several other applications, has shown with CMS memory
fragmentation is a concern to be managed through proper promotion tuning, heap
sizing and shaping, and setting a reasonable CMS initiating occupancy fraction to
be fairly certain a promotion failure is at best extremely unlikely.<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>However that nagging possibility that I’ve missed
something along the way still exists.<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>Can I please get a definitive response from one (or more) of
the Sun garbage collection software engineers on this list in this matter?<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>Thank you for your attention,<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>Ryan<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

</div>

</body>

</html>