Skip to content
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

Carefully design the row push patterns during the initialization and the view change process #188

Open
sagarjha opened this issue Dec 28, 2020 · 0 comments
Assignees

Comments

@sagarjha
Copy link
Contributor

This is in relation to the pull request 182 (#182).

We should carefully compute the minimal data we have to send across during the initialization and the view change process, particularly in regards to the SMC slots which can get very large in size. Some of the enhancements possible are:

  1. Avoid sending the SMC slots at initialization because they are empty anyway. Even if the message contents are garbage in the beginning, only the counter value needs to be initialized for all the slots. I believe Lorenzo has already worked on it, but this needs to be carefully reasoned about.
  2. When we are doing a view change, we must make sure that all pending SMC messages are delivered. This is to avoid copying the contents of those slots to the new SST that is formed for the new view. But for this, we don't actually need to send all the slots. And as pointed by Lorenzo, we definitely don't need to send this to all the members of the top-level group. Currently, we don't have use-cases where the application has numerous subgroups containing 1000s of slots with consistent failures, but this could become a problem in the future.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants