快手联合东南大学、清华大学在SIGCOMM'23提交了一篇poster:《Chameleon: Automatic and Adaptive Tuning for DCQCN Parameters in RDMA Networks》,描述了一种可自动调节DCQCN流控参数的工具,企图将复杂、枯燥而又漫长(据文章所属,调参过程可能需要数周)的RDMA调参过程自动化。
具体实现方法为:
1、在网络拓扑中的合适位置布置一个控制器,用于收集服务器-网卡和交换机上报的监控指标(metric)。文章特别描述了控制器在网络拓扑中的位置是比较重要的,需要做到到各个网元的距离基本均衡,已保证监控指标上送的延迟基本公平。此处文章还提到服务器和交换机具备一定的运算能力,可以在这些网元上做一些监控数据的预处理(例如计算平均值等),因此可以以较高频率(10ms级)在网元上收集监控指标,然后经过简单的预处理后,以较低频率(100ms级)送至控制器。控制器与各个网元使用TCP协议通信,并且与RDMA使用不同的优先级队列以避免互相影响。
2、具体的调参方法大致思想为:如果调整某个参数p可以使得监控项m变好,那么证明调参方向(指增大p或减小p)正确,可以继续向相同的方向调整p;如果调整p后使得m变差了,则说明调参方向错误,需要纠正;如果调整p后m的变化不明显,则考虑停止调节p。
文章给出了实验结果。实验使用了NS3仿真平台模拟了两层CLOS交换网络,使用100G链路连接。网络中有20个节点,进行all 2 all的通信。文章对两个参数进行了调参验证。对比实验的对象是:a、Mellanox的默认参数,b、一套专家经验参数。
实验表明:在FCT方面,自动调参工具Chameleon比Mellanox的默认参数低19.7%,比专家经验参数低13.2%;在平均吞吐方面,Chameleon比Mellanox的默认参数高40.5%,比专家经验参数高25.1%。如下图:
妄评:
- 自动调参是一种很容易想到的DCQCN调参方式,对比手动调参,可以节省测试人员的时间,提高工作效率。
- DCQCN的参数众多,而且更关键的是,其各个参数之间是会互相影响的,因此通过简单的参数遍历+调参方向遍历很难能得到最优解。
- 对于测试流量,自动调参有可能可以胜任,但是对于实际的业务流量模型,由于业务流量并非稳定且一成不变,所以自动调参在真实生产环境能否落地尚存在理论上的不确定性。
- 文章的实验中只介绍了对两个参数进行了自动调节,但并未详细描述是哪两个参数,可能处于保密和篇幅所限,只能表示可以理解。