Bryce Cronkite-Ratcliff, Aran Bergman, Shay Vargaftik, Madhusudhan Ravi, Nick McKeown, Ittai Abraham and Isaac Keslassy,
"Virtualized Congestion Control,"
ACM SIGCOMM'16, Brazil, August 2016.
New congestion control algorithms are rapidly improving
datacenters by reducing latency, overcoming incast, increasing
throughput and improving fairness. Ideally, the operating
system in every server and virtual machine is updated
to support new congestion control algorithms. However,
legacy applications often cannot be upgraded to a new operating
system version, which means the advances are offlimits
to them. Worse, as we show, legacy applications can
be squeezed out, which in the worst case prevents the entire
network from adopting new algorithms.
Our goal is to make it easy to deploy new and improved
congestion control algorithms into multitenant datacenters,
without having to worry about TCP-friendliness with nonparticipating
virtual machines. This paper presents a solution
we call virtualized congestion control. The datacenter
owner may introduce a new congestion control algorithm
in the hypervisors. Internally, the hypervisors translate
between the new congestion control algorithm and the
old legacy congestion control, allowing legacy applications
to enjoy the benefits of the new algorithm. We have implemented
proof-of-concept systems for virtualized congestion
control in the Linux kernel and in VMware's ESXi hypervisor,
achieving improved fairness, performance, and control
over guest bandwidth allocations.
Repository 1 of Aran Bergman with all the scripts.
Repository 2 of Bryce Cronkite-Ratcliff with the modified kernel.
Extended version of the paper with two extended results in the appendix: