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

Improve the parallel scan latency #2201

Merged
merged 12 commits into from Apr 10, 2019
Merged

Improve the parallel scan latency #2201

merged 12 commits into from Apr 10, 2019

Conversation

deepthiskumar
Copy link
Member

Halved the parallel scan latency by emitting proofs at depth=1 and not merging up to the root at depth=0.
Added a new field latency_factor to select the level where we'd want to start emitting the proofs and stop merging. Increasing the latency factor (>=2) (or reducing the latency) reduces the work capacity of the tree. Currently the latency_factor is set to 1 but this can be tuned based on based on how fast/slow snark work is done.

Checklist:

  • Tests were added for the new behavior
  • All tests pass (CI will check this if you didn't)
  • Serialized types are in stable-versioned modules
  • Does this close issues? List them:

root_at_depth = 0 then there would be just one block with all the leaves in
it. No of blocks = 2^root_at_depth. This function returns the starting
position of the block containing pos *)
let block_of state pos =
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you could make a pretty easy unit test for this, may as well (especially since you're about to refactor stuff)

@deepthiskumar deepthiskumar added the ready-to-merge Adding this label will trigger mergify and trigger CI to run and merge the PR label Apr 10, 2019
@mergify mergify bot merged commit 9f987c3 into master Apr 10, 2019
@mergify mergify bot deleted the fix/scan-latency branch April 10, 2019 20:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready-to-merge Adding this label will trigger mergify and trigger CI to run and merge the PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants