multipath-tcp / mptcp

⚠️⚠️⚠️ Deprecated 🚫 Out-of-tree Linux Kernel implementation of MultiPath TCP. 👉 Use https://github.com/multipath-tcp/mptcp_net-next repo instead ⚠️⚠️⚠️
https://github.com/multipath-tcp/mptcp_net-next
Other
889 stars 335 forks source link

Behaviour of redundant scheduler with only one subflow is weird. #435

Open ytxing opened 3 years ago

ytxing commented 3 years ago

Hi, I am using mptcp v0.95 in my ubuntu 16.04. And I create two lxc container that can communicate sith each other. When I try to download a file from a container, and use redundant scheduler, sudo sysctl net.mptcp.mptcp_scheduler=redundant there is something wrong.

That is, when there is only one available network path (both containers have only one network interface working), the goodput of redundant scheduler is half of the goodput of other schedulers. For example, when I use default scheduler, I got about 600KB/s but with redundant scheduler, it is less than 300KB/s. And ifstat shows that the actual throughput is around 600KB/s so the total bandwidth is the same for all schedulers.

The path manager is fullmesh. Is that normal?

matttbe commented 3 years ago

Hi @ytxing

That's a good question. Maybe this scheduler is doing some restrictive checks that are not needed with only one subflow?

Hopefully @chrpinedo and/or @AlexanderFroemmgen can help there? (I never really looked at this code)

chrpinedo commented 2 years ago

when i worked with this scheduled (years ago), I didn't suffer a behaviour like that.

Te redundant scheduler was designed to replicate the traffic among active paths and load-balancing traffic among backups paths:

So, if you are having the half of the bandwith, could you have 2 active paths through the interface?

This is the only suggestion I can give you. I don't work on this since years.