-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PolderCast Layers Not Communicating #16
Comments
They are working independently as per the paper. They are not meant to filter nodes for each others. |
From section 5
I believe the paper specifies that the layers are to operate in parallel when sourcing gossips, but it looks to me that they are still meant to be communicating. |
And following the same quote, for
If we were to follow the paper by the letter we would have a headache 😄 and nothing would be done. In the rings, the neighbours for the rings are selected per topic too (the poldercast/src/poldercast/rings.rs Line 32 in f882186
While this might not be perfect this is as good as we can do whilst still allowing us to have a nice separation of concerns and allowing adding more (or less) modules for the topology. |
I agree there are some ambiguities in that paper. But, taking the whole thing in context I have to stand by my original assessment with there definitely being communication between those layers. I looked to the Haskell code for guidance... But they seem to be doing something that isn't PolderCast at all... |
The fact that the layers are not communicating is a design decision that we made in order to facilitate adding more layers and working the layers in isolation. That being said, this was not done without consideration of pros and cons. I believe this is not only more efficient (at least since |
As per the PolderCast paper. Each layer (Cyclon, Rings, Vicinity) are meant to communicate with one another. Each layer should be acting as a filter on the next. The current implementation has each layer acting independently, sourcing nodes from the available set, rather than for the set filtered by the layer below it. Furthermore, where applicable, layers should producing and maintaining node profile sets per-topic.
The text was updated successfully, but these errors were encountered: