Skip to content

A proof of concept implementation of PowerTCP within Linux Kernel

License

Notifications You must be signed in to change notification settings

inet-tub/powertcp-linux

Repository files navigation

PowerTCP for Linux

This repository presents an implementation of the PowerTCP congestion control for the Linux kernel. The two variants of PowerTCP are provided as separate congestion control algorithms:

  • the telemetry-based PowerTCP and
  • the simplified, timing-based RTT-PowerTCP (called θ-PowerTCP in the paper).

Please see the references for background on this work.

This repository contains two implementations of PowerTCP: a kernel module and an eBPF program.

Step-by-step instructions

The main focus of this work is on the eBPF implementation. Follow its instructions for experimenting with it.

There is also a proof-of-concept implementation as a kernel module, see its instructions.

Implementation details

There is some documentation on aspects of the implementation(s) in doc/.

References

For the work in this repository

Jörn-Thorben Hinz, Vamsi Addanki, Csaba Györgyi, Theo Jepsen, and Stefan Schmid.
“TCP's Third Eye: Leveraging eBPF for Telemetry-Powered Congestion Control”
In Proceedings of the 1st Workshop on eBPF and Kernel Extensions, pp. 1-7. 2023.

https://doi.org/10.1145/3609021.3609295

Click for BibTex citation
@inproceedings{tcpsthirdeye,
author = {Hinz, J\"{o}rn-Thorben and Addanki, Vamsi and Gy\"{o}rgyi, Csaba and Jepsen, Theo and Schmid, Stefan},
title = {TCP's Third Eye: Leveraging EBPF for Telemetry-Powered Congestion Control},
year = {2023},
isbn = {9798400702938},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/3609021.3609295},
doi = {10.1145/3609021.3609295},
booktitle = {Proceedings of the 1st Workshop on EBPF and Kernel Extensions},
pages = {1–7},
numpages = {7},
keywords = {eBPF, datacenter, INT, congestion control, TCP, linux kernel},
location = {New York, NY, USA},
series = {eBPF '23}
}

For PowerTCP

Vamsi Addanki, Oliver Michel, and Stefan Schmid.
“PowerTCP: Pushing the Performance Limits of Datacenter NEtworks”
In 19th USENIX Symposium on Networked Systems Design and Implementation (NSDI 22), pp. 51-70. 2022.

https://www.usenix.org/conference/nsdi22/presentation/addanki

Click for BibTex citation
@inproceedings{powertcp,
author = {Vamsi Addanki and Oliver Michel and Stefan Schmid},
title = {{PowerTCP}: Pushing the Performance Limits of Datacenter Networks},
booktitle = {19th USENIX Symposium on Networked Systems Design and Implementation (NSDI 22)},
year = {2022},
isbn = {978-1-939133-27-4},
address = {Renton, WA},
pages = {51--70},
url = {https://www.usenix.org/conference/nsdi22/presentation/addanki},
publisher = {USENIX Association},
month = apr
}

For TCP-INT

Grzegorz Jereczek, Theo Jepsen, Simon Wass, Bimmy Pujari, Jerry Zhen, and Jeongkeun Lee.
“TCP-INT: Lightweight Network Telemetry with TCP Transport”
In Proceedings of the SIGCOMM'22 Poster and Demo Sessions, pp. 58-60. 2022.

https://doi.org/10.1145/3546037.3546064

Click for BibTex citation
@inproceedings{tcpint,
author = {Jereczek, Grzegorz and Jepsen, Theo and Wass, Simon and Pujari, Bimmy and Zhen, Jerry and Lee, Jeongkeun},
title = {TCP-INT: Lightweight Network Telemetry with TCP Transport},
year = {2022},
isbn = {9781450394345},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/3546037.3546064},
doi = {10.1145/3546037.3546064},
pages = {58–60},
numpages = {3},
keywords = {in-band network telemetry, network monitoring},
location = {Amsterdam, Netherlands},
series = {SIGCOMM '22}
}

About

A proof of concept implementation of PowerTCP within Linux Kernel

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published