AMTCP: An Adaptive
Multi-path Transmission Control Protocol
Long Li
1,2
1
Institute of Computing
Technology, CAS
2
University of Chinese
Academy of Sciences, China
lilong_lee@ict.ac.cn
Nongda Hu
∗
Communications Technology
Laboratory, Huawei
Technologies Co., Ltd., China
hunongda@huawei.com
Ke Liu
Institute of Computing
Technology, CAS
liuke@ict.ac.cn
Binzhang Fu
Institute of Computing
Technology, CAS
fubinzhang@ict.ac.cn
Mingyu Chen
Institute of Computing
Technology, CAS
cmy@ict.ac.cn
Lixin Zhang
Institute of Computing
Technology, CAS
zhanglixin@ict.ac.cn
ABSTRACT
Enabling multiple paths in datacenter networks is a com-
mon practice to improve the p erformance and robustness.
Multi-path TCP (MPTCP) explores multiple paths by s-
plitting a single flow into multiple subflows. The number
of the subflows in MPTCP is determined before a connec-
tion is established, and it usually remains unchanged dur-
ing the lifetime of that connection. While MPTCP im-
proves both bandwidth efficiency and network reliability,
more subflows incur additional overhead, especially for s-
mall (so-called mice) subflows. Additionally, it is difficult
to choose the appropriate numb er of the subflows for each
TCP connection to achieve good performance without in-
curring significant overhead. To address this problem, we
propose an adaptive multi-path transmission control pro-
tocol, namely the AMTCP, which dynamically adjusts the
number of the subflows according to application workloads.
Specifically, AMTCP divides the time into small intervals
and measures the throughput of each subflow over the latest
interval, then adjusts the number of the subflows dynami-
cally with the goal of reducing resource and scheduling over-
heads for mice flows and achieving a higher throughput for
elephant flows. Our evaluations show that AMTCP increas-
es the throughput by over 30% compared to conventional
TCP. Meanwhile, AMTCP decreases the average number of
the subflows by more than 37.5% while achieving a similar
throughput compared to MPTCP.
Keywords
MPTCP, datacenter networks, TCP, subflows
∗
He and the listed first author made an equal contribution.
Permission to make digital or hard copies of all or part of this work for
personal or classroom use is granted without fee provided that copies are not
made or distributed for profit or commercial advantage and that copies bear
this notice and the full citation on the first page. Copyrights for components
of this work owned by others than ACM must be honored. Abstracting with
credit is permitted. To copy otherwise, or republish, to post on servers or to
redistribute to lists, requires prior specific permission and/or a fee. Request
permissions from Permissions@acm.org.
CF’15 May 18 - 21, 2015, Ischia, Italy
Copyright 2015 ACM 978-1-4503-3358-0/15/05 ...$15.00
http://dx.doi.org/10.1145/2742854.2742871
1. INTRODUCTION
Many datacenters have hundreds of thousands of server-
s while running a large number of distributed applications.
Those applications each can spread computation and storage
across hundreds of nodes. Because many datacenters sepa-
rate computation nodes from storage nodes, lots of commu-
nication is needed between computation nodes and storage
nodes for those applications. As a result, east-west traffic
(i.e., intra-datacenter traffic) dominates overall datacenter
traffic. It is estimated that more than 80% of the packets
stay inside a datacenter [14]. To improve performance and
reliability, today’s datacenters usually adopt topologies with
redundant paths between endpoints, such as FatTree [2],
VL2 [9] and BCube [10]. In those networks, it is possi-
ble to spread traffic across multiple paths to improve ag-
gregate bandwidth and network resilience. However, single-
path routing only provides one of the best paths, e.g., one of
the shortest paths to the destination, thus cannot effectively
utilize the existing redundant paths. Therefore, multi-path
routing is used to exploit multiple paths between a source-
destination pair and dispatch flows to the same destination
across available paths, thus can dramatically improve net-
work throughput.
Equal-cost multi-path (ECMP) routing, one of the widely
used multi-path routing protocols, distributes packets to the
same destination across multiple equal-cost paths, e.g., mul-
tiple shortest paths to a destination. To avoid out-of-order
delivery, a flow based hash algorithm is implemented to map
all packets of a flow on the same path to guarantee all pack-
ets of a flow reach the destination in order. However, the
optimal performance of ECMP can only be obtained when
there are a sufficient number of simultaneous flows [3]. Oth-
erwise, the flow collision, e.g., multiple flows are routed to
the same link, caused by ECMP may overload several links
while the others go idle, resulting in the achieved network
throughput to be less than 50% of the full bisectional band-
width [16]. Moreover, since a given flow is only routed along
a single path, its throughput is limited by link capacity, even
if there are many available paths.
To address the problem of flow conflicts in ECMP, some
researchers have proposed to schedule traffic based on traf-
fic characteristics and network status [3, 8]. By collecting