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

Add function to find optimal chunk length #755

Merged
merged 1 commit into from
Sep 20, 2023

Conversation

divergentdave
Copy link
Collaborator

This adds a function to find the optimal chunk length for either Prio3Histogram or Prio3SumVec, given its measurement length. I came up with a search algorithm with runtime logarithmic in the measurement size. It checks a small number of candidate parameter choices, while still getting an optimal result.

My plan is for this to be used primarily in our UI, to hide some complexity from users. We may also want to use this internally in some codepaths in Janus, i.e. for Taskprov, until it is updated for VDAF-07. This will support divviup/janus#1900.

Future work: If we want to change Prio3FixedPointBoundedL2VecSum to either expose chunk lengths as VDAF parameters, or always use optimal chunk lengths, note that the one of the two chunk lengths would need to be determined by a different search, because one of the gadgets has a different arity, and thus different proof length.

Verified

This commit was signed with the committer’s verified signature.
Xuanwo Xuanwo
@divergentdave divergentdave requested a review from a team as a code owner September 19, 2023 19:28
src/vdaf/prio3.rs Show resolved Hide resolved
@divergentdave divergentdave merged commit a0136ae into main Sep 20, 2023
@divergentdave divergentdave deleted the david/optimal-chunk-length branch September 20, 2023 20:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants