[jboss-jira] [JBoss JIRA] Commented: (JGRP-1104) Revisit critical path in NAKACK
Vladimir Blagojevic (JIRA)
jira-events at lists.jboss.org
Tue Nov 24 12:17:31 EST 2009
[ https://jira.jboss.org/jira/browse/JGRP-1104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12496376#action_12496376 ]
Vladimir Blagojevic commented on JGRP-1104:
-------------------------------------------
Bela said:
a) The goals here were:
#1 OOB message can never wait for other messages. If you handle them together with regular messages, then an OOB message *behind* a regular message M has to wait until M is processed.
#2 The regular thread pool should not be used to process OOB messages. Regular messages have higher priority
b) So we can get back to processing regular messages
c) Well, I wanted to make sure that (a) no message was ever NOT processed, e.g. just sitting in the NRW and (b) OOB messages could process regular messages, but avoid the other way round
> Revisit critical path in NAKACK
> -------------------------------
>
> Key: JGRP-1104
> URL: https://jira.jboss.org/jira/browse/JGRP-1104
> Project: JGroups
> Issue Type: Task
> Affects Versions: 2.8
> Reporter: Vladimir Blagojevic
> Assignee: Vladimir Blagojevic
> Fix For: 2.9
>
>
> Revisit NAKACK#handleMessage and see if we can:
> a) lower contention on NRW lock by not attempting to propel up oob messages one-by-one
> I have no profiling data so I am speaking without a solid proof to back my claims. I am envisioning both oob and regular threads contending for a window as they push messages up the stack. oob threads are always going to attempt to lock per message (line 788). In an event that we received missing oob message in a series of oob messages we are going to repeatedly lock window per message traversed. Not good. We don't need this IMHO. I really like lock efficient removeMany algorithm. Let removeMany propel messages up the stack as much as possible, even oob messages.
> b) why are we propelling oob messages on a timer (line 833)? Is it to lower the workload of the current thread, or is there a more fundamental reason?
> c) undelivered_msgs is complicating things unnecessarily IMHO. Why don't we let oob threads go into removeMany code and remove as much messages as they can - both oob and regular and push them up rather than lock NRW per message?
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list