<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#ffffff">
    Yes you are accessing the lock-free queue but you are also locking a
    segment repeatedly to remove each entry selected for eviction
    (MemoryGuard#evict). While this might not be the end of the world it
    will cause lock contention. <br>
    <br>
    Regards,<br>
    Vladimir <br>
    On 11-01-31 12:37 PM, david marion wrote:
    <blockquote cite="mid:COL113-W45E207D026681C1EB54903D1E20@phx.gbl"
      type="cite">
      <style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style>
      &nbsp;<br>
      &nbsp; As a user I'm not tied to any specific implementation (I just
      want the feature), but I 'll have to look at the code to fully
      understand your suggestion. I don't have the code in front of me
      at the moment (I'm at work).&nbsp;However, I don't believe I lock
      anything specifically. It's very possible that I am
      doing&nbsp;something&nbsp;that is causing lock contention, can you point me
      to where this is occurring? I am accessing the same per segment
      lock free queue that the article mentions.<br>
      &nbsp;<br>
      -- Dave Marion<br>
      &nbsp;<br>
      <hr id="stopSpelling">
      Date: Mon, 31 Jan 2011 11:57:53 -0300<br>
      From: <a class="moz-txt-link-abbreviated" href="mailto:vblagoje@redhat.com">vblagoje@redhat.com</a><br>
      To: <a class="moz-txt-link-abbreviated" href="mailto:infinispan-dev@lists.jboss.org">infinispan-dev@lists.jboss.org</a><br>
      Subject: [infinispan-dev] ISPN-863 proposal<br>
      <br>
      <meta content="Microsoft SafeHTML" name="Generator">
      <p class="ecxMsoPlainText"><font face="Courier New">Dave,<br>
          <br>
        </font></p>
      <p class="ecxMsoPlainText"><font face="Courier New">I applaud you
          for this effort and your implementation and wiki are indeed
          admirable as you have followed the goals outlined in this
          JIRA. However, now that I have had an opportunity to look at
          the final solution I have one concern. </font><font
          face="Courier New">We went through a great lengths to design a
          container that has a low lock contention [1] while maintaining
          high precision of a sophisticated eviction algorithm. Goals
          outlined in this JIRA have lead you in a direction </font><font
          face="Courier New">to redesign the original proposal. I was
          wondering if it is possible to use your MemoryMonitor to make
          a decision whether or not to grow BCHM rather than to check if
          eviction should be done upon each put invocation? Currently we
          preset the size of BCHM and we never grow it (i.e.
          Segment#rehash is never invoked). Maybe this is a place where
        </font><font face="Courier New">MemoryMonitor comes as a natural
          fit. We can keep the current design as outlined in [1] while
          reaping the benefits of a memory bound resizeable container. <br>
        </font></p>
      <p class="ecxMsoPlainText"><font face="Courier New"><br>
          WDYT?<br>
        </font></p>
      <p class="ecxMsoPlainText"><font face="Courier New"><br>
          Regards,<br>
          Vladimir<br>
        </font></p>
      <p class="ecxMsoPlainText"><font face="Courier New"><br>
        </font></p>
      <p class="ecxMsoPlainText"><font face="Courier New"><br>
          [1] <a moz-do-not-send="true"
            class="ecxmoz-txt-link-freetext"
href="http://infinispan.blogspot.com/2010/03/infinispan-eviction-batching-updates.html"
            target="_blank">http://infinispan.blogspot.com/2010/03/infinispan-eviction-batching-updates.html</a><br>
        </font></p>
      <p class="ecxMsoPlainText"><font face="Courier New"><br>
        </font></p>
      <p class="ecxMsoPlainText"><font face="Courier New">Dave said:<br>
        </font></p>
      <p class="ecxMsoPlainText"><font face="Courier New">It took me
          some time to figure out how to use Git and add some more
          tests. I have pushed my changes to a topic branch located at <a
            moz-do-not-send="true"
            href="https://github.com/dlmarion/infinispan/tree/ISPN-863-master"
            target="_blank">https://github.com/dlmarion/infinispan/tree/ISPN-863-master</a></font><font
          face="Courier New">. </font></p>
      <p class="ecxMsoPlainText"><font face="Courier New">Please let me
          know if you have any questions or concerns. I have put up some
          documentation at <a moz-do-not-send="true"
href="https://github.com/dlmarion/infinispan/wiki/ISPN-863-Implementation"
            target="_blank">https://github.com/dlmarion/infinispan/wiki/ISPN-863-Implementation</a></font></p>
      <p class="ecxMsoPlainText"><font face="Courier New">&nbsp;</font></p>
      <p class="ecxMsoPlainText"><font face="Courier New">&nbsp;</font></p>
      <font face="Courier New">-- Dave Marion</font> <br>
      _______________________________________________ infinispan-dev
      mailing list <a class="moz-txt-link-abbreviated" href="mailto:infinispan-dev@lists.jboss.org">infinispan-dev@lists.jboss.org</a>
      <a class="moz-txt-link-freetext" href="https://lists.jboss.org/mailman/listinfo/infinispan-dev">https://lists.jboss.org/mailman/listinfo/infinispan-dev</a>
      <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
infinispan-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:infinispan-dev@lists.jboss.org">infinispan-dev@lists.jboss.org</a>
<a class="moz-txt-link-freetext" href="https://lists.jboss.org/mailman/listinfo/infinispan-dev">https://lists.jboss.org/mailman/listinfo/infinispan-dev</a></pre>
    </blockquote>
    <br>
  </body>
</html>