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

Priorities and Pooling #102

Closed
afrind opened this issue Mar 8, 2023 · 5 comments · Fixed by #121
Closed

Priorities and Pooling #102

afrind opened this issue Mar 8, 2023 · 5 comments · Fixed by #121
Assignees
Labels
has pull request Issues for which a pull request exists ietf-116 Issues discussed at IETF 116

Comments

@afrind
Copy link
Collaborator

afrind commented Mar 8, 2023

I made this comment on a PR related to the Warp draft for moq: moq-wg/moq-transport#98

How are streams across different WebTransport sessions prioritized? The WebTransport CONNECT request can have an HTTP Priority header -- one logical interpretation is that all streams belonging to that session be prioritized "under" that top level prioritization. eg: if I have two sessions at the same urgency and incremental on, session A has 3 streams and session B has 1, then I might expect the scheduler to round-robin at the session level (rather than the QUIC stream level), splitting the bandwidth 50/50 between A and B. Is that correct? For WebTransport over H2, that is the most natural (or only) interpretation.

@DavidSchinazi
Copy link
Collaborator

Let's discuss at 116. This could be a new feature in the drafts or it could be tackled by a future extension.

@DavidSchinazi DavidSchinazi added the ietf-116 Issues discussed at IETF 116 label Mar 8, 2023
@LPardue
Copy link
Contributor

LPardue commented Mar 8, 2023

FWIW, RFC 9218 sort of recommends sharing already for conventional CONNECT; https://www.rfc-editor.org/rfc/rfc9218.html#name-scheduling-and-the-connect-

I keep hearing that people want strict ordering guarantees among streams. Are you saying that you'd want a fair share of bandwidth but strict ordering inside that fair share?

@afrind
Copy link
Collaborator Author

afrind commented Mar 13, 2023

fair share of bandwidth but strict ordering inside that fair share

I think I want to apply the HTTP prioritization per WT session (so one session could entirely block another, if they have different urgency, eg) but additional ability to prioritize streams within that session, which could be strict ordering, incremental or some combination.

@afrind
Copy link
Collaborator Author

afrind commented Mar 31, 2023

Discussed the following at IETF 116

Option 1: Nothing, you get what you get and don’t throw a fit
Option 2: Streams are prioritized globally, be careful what you pool
Option 3: WebTransport sessions are round robin, any stream prioritization is scoped within a session
What about HTTP request streams?
Option 4: WebTransport sessions and HTTP request streams are prioritized by Priority header, any WebTransport stream prioritization is scoped within a session

The sense I got from the room was that folks preferred Option 4.

@DavidSchinazi
Copy link
Collaborator

Chair: discussed in editor's meeting. Plan is to have @afrind write up a PR for option 4 and we'll confirm consensus on the list before merging.

afrind added a commit to afrind/draft-ietf-webtrans-http3 that referenced this issue May 2, 2023
@ekinnear ekinnear added has pull request Issues for which a pull request exists and removed ready for PR labels May 16, 2023
afrind added a commit to afrind/draft-ietf-webtrans-http3 that referenced this issue May 30, 2023
afrind added a commit to afrind/draft-ietf-webtrans-http3 that referenced this issue Jul 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
has pull request Issues for which a pull request exists ietf-116 Issues discussed at IETF 116
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants