[jboss-jira] [JBoss JIRA] (JGRP-1391) Compress MergeViews

Bela Ban (Created) (JIRA) jira-events at lists.jboss.org
Tue Nov 22 05:25:40 EST 2011


Compress MergeViews
-------------------

                 Key: JGRP-1391
                 URL: https://issues.jboss.org/browse/JGRP-1391
             Project: JGroups
          Issue Type: Enhancement
            Reporter: Bela Ban
            Assignee: Bela Ban
             Fix For: 3.1


The 'subgroups' field of MergeView is a list of Views, referring to the subclusters that formed the new view.

Each View in that list contains (1) the creator of the view, (2) an ID and (3) a list of member addresses. Both (1) and (3) are present in the new MergeView, so, to save memory and message sizes, 'subgroups' could be compressed: (1) and (3) could be indices into View's 'members' field. 
Example: if we have MergeView A|22={A,B,C,D,E,X,Y,Z}, subgroups=A|21={A,B,C}, D|19={D,E}, X|20={X,Y,Z},
then 'subgroups' can be compressed as follows:
subgroups=0|21={0,1,2}, 3|19={3,4}, 5|20={5,6,7}

This is possible because the indices never change, as the contents of Views and MergeViews are static, e.g. we can never add or remove a member: to do this, a new View/MergeView would be created.

Substituting addresses with indices (shorts, possibly using variable-bit encoding) reduces the memory footprint of a view, and the size of a serialized view on the wire.

Getting the subgroups field, e.g. using method getSubgroups() would synthesize the List<View> just-in-time.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jboss-jira mailing list