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

Tuple Space Search implementation for BMv2 #14

Closed
jafingerhut opened this issue Sep 16, 2024 · 1 comment
Closed

Tuple Space Search implementation for BMv2 #14

jafingerhut opened this issue Sep 16, 2024 · 1 comment
Labels
bigtask A job that would require a large amount of time, learning, and effort enhancement New feature or request

Comments

@jafingerhut
Copy link
Owner

Motivation: There are some people using BMv2 for executing a P4-based reference model for packet processing behavior for the DASH project. Some of them have experienced issues where tables with ternary keys cause the packet processing rate to go very low when the table has tens of thousands of entries, because BMv2 currently performs a linear search for every packet through all entries, in priority order.

Tuple Space Search is implemented in OVS, and for the common case when the number of unique masks in the set of all table entries of a ternary table is much smaller than the number of entries, it can provide very good matching performance. More details in this BMv2 issue:

As of 2024-Sep-16, Davide Scano indicated an interest in working on this enhancement, so please talk to him if you are interested.

@jafingerhut jafingerhut added bigtask A job that would require a large amount of time, learning, and effort enhancement New feature or request labels Sep 16, 2024
@jafingerhut
Copy link
Owner Author

Closing since all issues have been copied to this repo: https://github.com/p4lang/project-ideas/issues

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bigtask A job that would require a large amount of time, learning, and effort enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant