High-Precision-Congestion-Control icon indicating copy to clipboard operation
High-Precision-Congestion-Control copied to clipboard

About calculation formula for throughput

Open Jiawei1996 opened this issue 1 year ago • 3 comments

为了观察DCQCN算法的性能,我在simulation目录下执行了以下命令: python run.py --topo topology --trace flow --bw 25 --cc dcqcn --enable_trace 1

其中topology.txt的内容为: 7 1 6 0 0 1 100Gbps 0.001ms 0 0 2 100Gbps 0.001ms 0 0 3 100Gbps 0.001ms 0 0 4 100Gbps 0.001ms 0 0 5 100Gbps 0.001ms 0 0 6 100Gbps 0.001ms 0

flow.txt的内容为: 5 2 1 3 100 200000000 2 3 1 3 100 200000000 2 4 1 3 100 150000000 2 5 1 3 100 5000000 2 6 1 3 100 5000000 2

仿真结束后在mix目录下生成了mix_topology_flow_dcqcn.tr,之后使用trace_reader对该trace文件进行了解析。

为了知道不同flow的吞吐量,我采用的计算方式是:针对某一条flow,使用该flow对应的sender收到的相邻ACK报文的size差除以时间差。例如针对sender#3而言,以下片段展示了sender#3上收到的相邻ACK报文示例: ... 2052481446 n:3 1:0 0 Recv ecn:0 0b000101 0b000301 100 10000 A 0x00 3 178993000 0 60 ... 2052481697 n:3 1:0 0 Recv ecn:0 0b000101 0b000301 100 10000 A 0x00 3 178994000 0 60 ... 那么这一段时间的吞吐量为 (178994000B - 178993000B) * 8 / (2052481697ns - 2052481446ns) = 31.87Gbps【问题1】为什么这种方法算出的吞吐量会比仿真命令中设置的网卡带宽(25Gbps)还大?

按照以上方式计算所有5条flow的吞吐量,如下所示: test 【问题2】为什么吞吐量的变化情况不符合“先线速,然后迅速降低并趋于公平“的趋势? 【问题3】论文中的吞吐量计算公式是什么呢?

Jiawei1996 avatar Dec 29 '23 06:12 Jiawei1996