[ 
https://issues.apache.org/jira/browse/CASSANDRA-12347?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15403031#comment-15403031
 ] 

Jason Brown commented on CASSANDRA-12347:
-----------------------------------------

A first pass implementation can be found here: 
https://github.com/jasobrown/cassandra/tree/broadcast_thicket

The functionality is 97% complete - I discovered a missing functionality this 
morning while reviewing, and I also need to update the simulator (as I finally 
discovered {{IMessageSink}}) as well as adding more documentation. That being 
said, I wanted to get this out for review in conjunction with CASSANDRA-12346 
(which this ticket depends on; current thicket implementation is based upon 
hyparview branch's git sha e132ef289d14a0522a5f0c44bc81d65a67894e9e).

> Gossip 2.0 - broadcast tree for data dissemination
> --------------------------------------------------
>
>                 Key: CASSANDRA-12347
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-12347
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Jason Brown
>
> Description: A broadcast tree (spanning tree) allows an originating node to 
> efficiently send out updates to all of the peers in the cluster by 
> constructing a balanced, self-healing tree based upon the view it gets from 
> the peer sampling service (CASSANDRA-12346). 
> I propose we use an algorithm based on the [Thicket 
> paper|http://www.gsd.inesc-id.pt/%7Ejleitao/pdf/srds10-mario.pdf], which 
> describes a dynamic, self-healing broadcast tree. When a given node needs to 
> send out a message, it dynamically builds a tree for each node in the 
> cluster; thus giving us a unique tree for every node in the cluster (a tree 
> rooted at every cluster node). The trees, of course, would be reusable until 
> the cluster configurations changes or failures are detected (by the mechanism 
> described in the paper). Additionally, Thicket includes a mechanism for 
> load-balancing the trees such that nodes spread out the work amongst 
> themselves.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to