-
Notifications
You must be signed in to change notification settings - Fork 15
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
[experimental] Implement one-helper, "ping-pong" aggregation. #1234
Conversation
This required a few other changes that may be notable: * I enabled the use of Poplar1 to test aggregation-continuation behavior. Neither Prio3 nor the dummy VDAF would work for this, as they do not have enough rounds to trigger continuation. (In retrospect, it may have been wiser to extend the dummy VDAF to allow the number of rounds to be controlled.) * I refactored the replay logic to store the last responses directly, and build current-round responses directly from the same data that would be used to handle replay. Replay state is now attached to the report aggregation, rather than the report aggregation state.
This came out of a code-editing error when refactoring this section of code.
It's necessary to reference an unreleased version of libprio-rs until divviup/libprio-rs@54a4623 is released. I need to change the reference since that PR has now been merged, and the underlying branch deleted.
I think it'd help reviewers to rebase this on #1253. |
Done. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks like a sound implementation of ietf-wg-ppm/draft-ietf-ppm-dap#393 to me.
@@ -867,26 +869,6 @@ mod tests { | |||
) | |||
.await; | |||
|
|||
// should reject a report with only one share with the unrecognizedMessage type. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, cool, I hadn't thought about how this change removes the category of errors where vectors of objects are the wrong length!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yup -- that's one of the nice things about switching to leader/helper-specific fields. This is another advantage of specifying to exactly one helper.
Assigning to myself: I'll rebase this and sync it up with what got published in DAP-05. |
Ping pong was landed in #1811, closing this PR. |
This is an experimental change following ietf-wg-ppm/draft-ietf-ppm-dap#393.
Other than specifying to one helper & implementing ping-ponging, there are a few related changes as well: