[NetDev-People] 0x12: Moonshot Talk! A PCC-Vivace Kernel Module for Congestion Control

Jamal Hadi Salim jhs at mojatatu.com
Mon May 7 14:48:13 UTC 2018


Nathan Jay et al assert that there is no one-size-fits-all TCP
congestion control algorithm.
Different apps have different goals for their service lifetimes:
Streaming video apps are sensitive to bandwidth fluctuations,
voice chats desire low latency and bulk transfers only care about 
completion time. Varying link characteristics add another dimension
to a congestion control algorithm: hardwired assumptions about the
cause of  packet loss or measured latency inflation can lead to
reduced application performance.

PCC-Vivace was created to address these issues.
PCC-Vivace congestion control algorithm provides an explicit
utility function that allows developers to provide weights to
different performance metrics like throughput, latency, packet
loss and jitter. PCC-Vivace's online learning framework also
allows it to adapt to a variety of network conditions,
consistently delivering high performance.

The talk will discuss the challenges of implementing PCC-Vivace
in the Linux kernel. Nathan will present initial results comparing
the performance of Vivace with other existing Linux congestion
controllers(BBR etc). The talk will also demonstrate the 
implementation's flexibility by creating and testing a variety of
utility functions.

More info at:


More information about the people mailing list