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

[feature request] Automating event-level epsilon #1442

Open
giladbarkan-github opened this issue Sep 25, 2024 · 4 comments
Open

[feature request] Automating event-level epsilon #1442

giladbarkan-github opened this issue Sep 25, 2024 · 4 comments
Labels

Comments

@giladbarkan-github
Copy link
Collaborator

Event-level epsilon is used to compute the channel capacity of a source and obtain a randomized source response. Currently, if a source's event configuration exceeds channel capacity it will be rejected; however, a lower event-level epsilon may be provided during source registration to increase noise and reduce channel capacity to accord with the limit.

The flexible-event utility currently advises on the highest such event-level epsilon. For example:

npm run flexible-event -- -w 1,2,3 -b 4,5,6

advises that by providing event-level epsilon 11.405 (default is 14.0), randomized trigger rate is increased from 0.0072807 to 0.0894337 to accord with the channel capacity limit for navigation sources.

Rather than reject source registrations that exceed channel capacity limits, ARA implementations could default to automating setting such an epsilon on the client, with the ability for consumers to turn it off per registration. This would give API callers a tradeoff between more possible event-level configurations and higher noise.

@apasel422
Copy link
Collaborator

To make sure I understand: This proposal doesn't add any capabilities to the API, but rather allows the reporting origin to avoid having to compute epsilon itself?

@apasel422 apasel422 added the enhancement New feature or request label Oct 11, 2024
@giladbarkan-github
Copy link
Collaborator Author

giladbarkan-github commented Oct 16, 2024

To make sure I understand: This proposal doesn't add any capabilities to the API, but rather allows the reporting origin to avoid having to compute epsilon itself?

It not only avoids -- the proposal is to default to this automation. In the current version of the API, the consumer does not have to compute epsilon. They can just have registrations rejected. With this change, the default would be to accept registrations by altering epsilon automatically.

@apasel422
Copy link
Collaborator

Got it. Have we received feedback that it's difficult to compute epsilon ahead of time?

As for the defaulting -- We'd have to consider whether silently changing the default behavior here is OK. If not, we could instead allow sources to set something like "event_level_epsilon": "auto" to opt-in to this.

@csharrison
Copy link
Collaborator

The main concern I would have is this being a "footgun" as it could easily lead to huge unexpected noise. Having this as opt-in mitigates to some extent though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants