oracle / bpftune

bpftune uses BPF to auto-tune Linux systems
Other
654 stars 55 forks source link

tcp_conn_tuner: move to using reinforcement learing approach #61

Closed alan-maguire closed 10 months ago

alan-maguire commented 10 months ago

Previously, congestion control algoritm selection was done via a simple method of looking for packet loss on a per-connection basis and applying BBR if a limit was surpassed.

This approach has been replaced by using a reinforcement learning based algorithm which seeks to choose the congestion control algorithm that approaches optimal performance for the link; minimum RTT and delivery rate tuned to fill the pipe. See bpftune-tcp-conn(8) for details.

The behaviour under loss is similar to before - BBR is selected - but it is selected based upon its optimal behaviour rather than via a hand-coded algorithm. In normal network conditions, different algorithms can be selected; choices available currently are