<!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>
<br>
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). However, I don't believe I lock
anything specifically. It's very possible that I am
doing something 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>
<br>
-- Dave Marion<br>
<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"> </font></p>
<p class="ecxMsoPlainText"><font face="Courier New"> </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>