性能导向的拥塞控制(PCC)用户空间实现教程
PCC-UspaceThe userspace implementations of PCC.项目地址:https://gitcode.com/gh_mirrors/pc/PCC-Uspace
项目介绍
性能导向的拥塞控制(PCC)是一个基于在线学习的新传输速率控制架构,通过观察何种行为能够带来高性能,PCC 实现了远超传统基于固定规则的TCP拥塞控制器的性能。本仓库包含了PCC的用户空间实现,它采用了Proteus架构支持不同优先级和效用函数。更多细节可参考我们在ACM SIGCOMM 2020上关于PCC Proteus的论文以及NSDI 2018中关于PCC Vivace的版本。
项目快速启动
要为UDT构建PCC,只需执行以下步骤:
cd src
make
这将在 src/app
目录下生成两个应用程序 (pccclient
和 pccserver
)。为了测试PCC是否正常工作,首先运行一个监听特定端口的数据接收服务器:
./app/pccserver recv <pcc_server_port>
随后,创建一个连接到该服务器并发送数据的客户端,最后参数指定使用Vivace率控制算法(详情见NSDI 2018上的PCC Vivace论文):
./app/pccclient send <pcc_server_ip> <pcc_server_port> Vivace
默认情况下,使用主要优先级的效用函数进行数据传输。若需使用其他效用函数,提供相应的参数即可。
应用案例和最佳实践
PCC在高速网络环境和云数据中心中的应用展现了其优化网络吞吐量和降低延迟的强大能力。对于最佳实践,建议深入理解PCC算法的自适应机制,并根据实际网络条件调整策略,比如通过实验确定最适合的效用函数配置,以达到最佳传输效率。
典型生态项目
PCC项目不仅仅限于PCC-Uspace
。它的生态系统还包括强化学习资源库PCC-RL
,适用于对PCC策略进行更高级的定制和优化。此外,PCC-Kernel
提供了内核级别的实现,而pantheon
作为一项基础研究工具,促进了多种拥塞控制算法的比较研究。这些组件共同构成了一个强大的研发和应用平台,支持研究人员和开发者探索和实施新的拥塞控制策略。
以上是关于PCC-Uspace
的基本使用教程及其生态环境概览,希望对您了解和应用PCC技术有所帮助。在实际部署过程中,建议密切关注官方仓库的更新和社区讨论,以便获取最新的功能和优化策略。
PCC-UspaceThe userspace implementations of PCC.项目地址:https://gitcode.com/gh_mirrors/pc/PCC-Uspace