[jboss-jira] [JBoss JIRA] (JGRP-1836) UNICAST3: merge sender and receive table for self
Bela Ban (JIRA)
issues at jboss.org
Tue May 13 03:28:56 EDT 2014
[ https://issues.jboss.org/browse/JGRP-1836?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12967372#comment-12967372 ]
Bela Ban edited comment on JGRP-1836 at 5/13/14 3:28 AM:
---------------------------------------------------------
Since the sender A adds a message M to the send-table, when a message from A is received at A, we don't even need to add it to the table as we're sure to have it in the table (inserted by the sender). We only need to remove messages ({{removeAndDeliver()}})
However, for OOB messages, we need to do the following:
* The senders adds OOB message M (*not* DUMMY_OOB_MSG !)
* The receiver attempts to set OOB_DELIVERED in M
* Only if successful is M passed up
* removeAndDeliver() now needs to check for OOB_DELIVERED messages
* DUMMY_OOB_MSG is not used anymore in the merged send/receive-table !
was (Author: belaban):
Since the sender A adds a message M to the send-table, when a message from A is received at A, we don't even need to add it to the table as we're sure to have it in the table (inserted by the sender).
However, for OOB messages, we need to do the following:
* The senders adds OOB message M (*not* DUMMY_OOB_MSG !)
* The receiver attempts to set OOB_DELIVERED in M
* Only if successful is M passed up
* removeAndDeliver() now needs to check for OOB_DELIVERED messages
> UNICAST3: merge sender and receive table for self
> -------------------------------------------------
>
> Key: JGRP-1836
> URL: https://issues.jboss.org/browse/JGRP-1836
> Project: JGroups
> Issue Type: Enhancement
> Reporter: Bela Ban
> Assignee: Bela Ban
> Fix For: 3.5
>
>
> In UNICAST3 we have 1 send- and 1 receive-table for every member, e.g. if we have A, B and C, and A sent unicast messages to all members and received unicasts from all members, then A has send and receive tables for A, B and C.
> An optimization is to merge A's send and receive table *for itself (A)*:
> * A sends a message to itself and adds it to the send-table for A
> * A receives a message from itself and adds it to the *send-table* for A as well (not the receive-table !)
> * A removes as many messages from the send-table for A as possible and delivers them
> The resulting optimizations are:
> * 1 less table for every member
> * When a message from self has been received, we don't need to send an ACK because the receive-table *is* the send-table and therefore low/hd/hr have already been adjusted (less traffic)
--
This message was sent by Atlassian JIRA
(v6.2.3#6260)
More information about the jboss-jira
mailing list