Abstract
The Pathway project, by VMware Research, constructs a
global overlay network across public clouds. Pathway
interconnects geographically- dispersed corporate data
centers and branches. The project leverages the global
geographical spread of public clouds and their vast
compute and networking infrastructure.
Clients using Pathway could see improvements in
download times sometimes by orders of magnitude. The
main contributor to improving network performance was
shown to be the split TCP technique. Unfortunately,
the available TCP split solutions incur a penalty on
connection time, and actually hurt the performance of
short flows.
In addition, available TCP split implementations are
in user-space, and thus have two expensive system
calls per forwarded buffer. The redundant system calls
hurt server performance and limit the scalability of
such solutions.
This talk describes KTCP, a Linux Kernel module
running on a modified Linux Kernel. The design of KTCP
aims to minimize and effectively eliminate any
overheads of establishing the split TCP connection.
We define a theoretical model for optimal transmission
and cover the methods we use to bring KTCP as close as
possible to this ideal model. We demonstrate that KTCP
is able to considerably increase the link utilization
by TCP connections and reduce the connection latency
close to its theoretical minimum.
On the OS, KTCP avoids the performance costs
associated with splicing sockets; system calls,
context switch costs and memory copying.
global overlay network across public clouds. Pathway
interconnects geographically- dispersed corporate data
centers and branches. The project leverages the global
geographical spread of public clouds and their vast
compute and networking infrastructure.
Clients using Pathway could see improvements in
download times sometimes by orders of magnitude. The
main contributor to improving network performance was
shown to be the split TCP technique. Unfortunately,
the available TCP split solutions incur a penalty on
connection time, and actually hurt the performance of
short flows.
In addition, available TCP split implementations are
in user-space, and thus have two expensive system
calls per forwarded buffer. The redundant system calls
hurt server performance and limit the scalability of
such solutions.
This talk describes KTCP, a Linux Kernel module
running on a modified Linux Kernel. The design of KTCP
aims to minimize and effectively eliminate any
overheads of establishing the split TCP connection.
We define a theoretical model for optimal transmission
and cover the methods we use to bring KTCP as close as
possible to this ideal model. We demonstrate that KTCP
is able to considerably increase the link utilization
by TCP connections and reduce the connection latency
close to its theoretical minimum.
On the OS, KTCP avoids the performance costs
associated with splicing sockets; system calls,
context switch costs and memory copying.
Original language | American English |
---|---|
Title of host publication | The Technical Conference on Linux Networking |
State | Published - 2020 |
Event | The Technical Conference on Linux Networking - Duration: 13 Aug 2020 → 21 Aug 2020 Conference number: 14 https://legacy.netdevconf.info/0x14/index.html |
Conference
Conference | The Technical Conference on Linux Networking |
---|---|
Abbreviated title | Netdev |
Period | 13/08/20 → 21/08/20 |
Internet address |