Skip to content

transport: consider lower pacing rate in congestion avoidance #3114

@mxinden

Description

@mxinden

Neqo currently paces over half the RTT, i.e. 2x the current rate:

/// This value determines how much faster the pacer operates than the
/// congestion window.
///
/// A value of 1 would cause all packets to be spaced over the entire RTT,
/// which is a little slow and might act as an additional restriction in
/// the case the congestion controller increases the congestion window.
/// This value spaces packets over half the congestion window, which matches
/// our current congestion controller, which double the window every RTT.
const PACER_SPEEDUP: usize = 2;

This is independent of the congestion control phase, i.e. same in slow start and congestion avoidance.

In slow start, we likely want to keep the aggressive pacing rate to keep up with the cwnd doubling.

In congestion avoidance, to prevent overflowing buffers and thus causing packet loss, we might want to reduce the rate to e.g. 1.2x times the rate.

What do others do?

//CC @MarcoPolo and @marten-seemann since we discussed this over the week.
//CC @mwelzl thanks for the input on Linux.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions