Non-Pareto Optimality of MPTCP: Performance Issues and a Possible Solution

MPTCP has been proposed as a mechanism to support transparently multiple connections to the application layer and is under discussion at the IETF. It can use effectively the available bandwidth and it improves throughput and fairness, compared to independent TCP flows in many scenarios. However we show, by measurements over our testbed and analytically, that MPTCP still suffers from two problems: (P1) upgrading some TCP users to MPTCP can reduce the throughput of others without any benefit to the upgraded users, which is a symptom of non-Pareto optimality; (P2) MPTCP users could be excessively aggressive towards TCPusers. We attribute these problems to the “Linked Increases”Algorithm(LIA) of MPTCP, and more specifically, to an excessive amount of traffic transmitted over congested paths. The design of LIA forces a tradeoff between optimal resource pooling and responsiveness. Hence, to provide good responsiveness MPTCP’s current implementation must depart from Pareto-optimality. We revisit the problem and show that it is possible to simultaneously provide these two properties. We implement the resulting algorithm, called Opportunistic “Linked Increases” Algorithm (OLIA), in the Linux kernel and study its performance over our testbed by simulations and by theoretical analysis. We prove that OLIA is Pareto-optimal, hence avoids the problems (P1) and (P2). Our mea- surements and simulations indicate that MPTCP with OLIA is as responsive and non-flappy as MPTCP with LIA, while solving problems (P1) and (P2).

Related material