千兆以太网的 mpdringtest 合理延迟时间是多少?

千兆以太网的 mpdringtest 合理延迟时间是多少?

你好,我有一个小型测试网络,我用它来为我的论文做一些数字运算。我的网络由三台装有英特尔千兆网卡的机器组成(所有 em 驱动程序,其中两个主机设置为 laggs),具有默认 MTU 设置等...运行 Freebsd 9.1 和 mpich2。

当我运行 mpdringtest 时,我得到的延迟是:

time for 1   loops = 0.00105500221252 seconds
time for 2   loops = 0.101227998734 seconds
time for 3   loops = 0.200784921646 seconds
time for 4   loops = 0.300806045532 seconds
time for 10  loops = 0.942656040192 seconds
time for 100 loops = 11.5054900646 seconds

网络延迟为:

Max Latency:
from \ to     city17    glados     blackmesa
city17                  0.335      0.739
glados        0.319                0.689 
blackmesa     0.992     0.746 

Mean Latency:
from \ to     city17    glados     blackmesa
city17                  0.205      0.525 
glados        0.195                0.518 
blackmesa     0.599   0.503

for hosts
city17:8
glados:4
blackmesa:4

根据我的假设,每个循环大约需要平均延迟矩阵的上三角部分或下三角部分的总和(通过 ping 获得)。这似乎与单环结果相符。但是,对于多环,延迟似乎会大大增加。我阅读了有关此主题的手册页,除了说它在环中传递了一条消息之外,它并没有真正解释太多。这些结果是否与延迟和 mdpringresults 相当正常?

如果重要的话(没有其他流量通过交换机),交换机是 HP procurve 1810g-8。

答案1

根据我的经验,粗略地计算一下:千兆位在物理层上给你大约 50µs (0.50ms),并且使用“正确”的中断处理,在当前的机器/操作系统上,你应该会看到对等点之间的 ping 时间小于 100µs。

最大延迟可能表明您遇到了由于中断合并而导致的问题(例如,NIC 让数据包停留在缓冲区中直到出现超时),我注意到这是 Broadcom 卡而不是 Intel 卡的问题。

如果我正确理解了矩阵,那么您会看到平均延迟在 200ms 到 500ms 之间,这对我来说太多了。

尝试从两个主机之间进行 ping 开始,以检查可能的中断合并,我建议查看输出中的曲折时间(例如 1 2 3 1 2 3 1 2 3)。

另外,尝试在机器之间进行洪水 ping 以查看抵消合并的良好平均值。

相关内容