Skip to content
This repository has been archived by the owner on Aug 28, 2023. It is now read-only.

Two meanings for a_aimd #64

Closed
larseggert opened this issue Jun 1, 2021 · 10 comments · Fixed by #75
Closed

Two meanings for a_aimd #64

larseggert opened this issue Jun 1, 2021 · 10 comments · Fixed by #75
Assignees
Labels

Comments

@larseggert
Copy link
Contributor

Yoshi said:

5: Section 4.3 It seems to me that there are two meanings for a_aimd in this section.
One is the additive factor for CUBIC and the other is a generic parameter for AIMD() function.
This looks a bit confusing to me.

@larseggert larseggert added WG LC help wanted Looking for someone resolve this issue labels Jun 1, 2021
@goelvidhi goelvidhi removed the help wanted Looking for someone resolve this issue label Jun 3, 2021
@goelvidhi goelvidhi self-assigned this Jun 3, 2021
@goelvidhi
Copy link
Contributor

Both of these mean the same thing. The additive factor for CUBIC is defined such that the result of AVG_AIMD(alpha_aimd, beta_aimd) for both AIMD like congestion controllers and Cubic is same.

After making that comparison, the draft basically describes what alpha_aimd is equivalent to for Cubic and since it is represented using B_cubic on the right hand side, I don't think there is a need to define two different alpha_aimd.
Screen Shot 2021-06-03 at 2 39 27 AM

@larseggert
Copy link
Contributor Author

@nsdyoshi does this address your comment?

@nsdyoshi
Copy link

nsdyoshi commented Jun 5, 2021

Sorry. my view is a bit different.
In Section 4.1.1, alpha_aimd is defined as a constant, which is around 0.529
OTOH, alpha_aimd in Figure 3 is a variable. You can set arbitrary value to it.

At least, this is confusing to me. But, I'm fine to keep it if all other folks don't think in this way.
I would like to hear other people's thought a bit more.

@goelvidhi
Copy link
Contributor

@Lars I am not sure if other folks are looking at these issues, what's the best way to get their opinion on this?

@lisongxu
Copy link
Contributor

lisongxu commented Jun 8, 2021

@nsdyoshi Thanks, Yoshi. I can see that it is kind of confusing. Section 4.3 describes an analysis of an AIMD algorithm with parameters alpha and beta to explain why and how CUBIC determines its alpha value. We thought about introducing two more variables (alpha, and beta) explicitly for CUBIC, which seem more confusing (too many variables).

@larseggert
Copy link
Contributor Author

@Lars I am not sure if other folks are looking at these issues, what's the best way to get their opinion on this?

On the list.

@goelvidhi
Copy link
Contributor

@nsdyoshi I have sent this on the list. If no response is received, would you be fine with closing this issue as is?

@nsdyoshi
Copy link

@goelvidhi yes, fine with me. But, I think we might want to set a certain deadline and notify people.

@chromi
Copy link

chromi commented Jun 12, 2021

I think the explanation would be clearer if the formula for AVG_AIMD was rewritten using unsuffixed α and β parameters, α(aimd) and β(aimd) were used exclusively to refer to the Reno parameters, and α(cubic) and β(cubic) used to refer exclusively to the CUBIC parameters.

The process of calculating α(cubic) can then be explained as equalising the values of AVG_AIMD(α(aimd), β(aimd)) and AVG_AIMD(α(cubic), β(cubic)).

@goelvidhi
Copy link
Contributor

I have opened a PR where I use alpha and beta for general equation and further derivation of alpha.
Later I use alpha_cubic to refer to Cubic specifically. Feel free to review and provide comments on the PR.

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

Successfully merging a pull request may close this issue.

5 participants