如何分析NetPIPE基准测试结果

我使用基准工具NetPIPE测量了两台Raspberry Pi B型单板计算机之间的以太网延迟和吞吐量。 基准测试在两个进程之间的一系列消息大小上进行测试。 它仅通过使用TCP作为端到端协议执行一次,而通过使用Open MPI消息传递层库执行一次。

连接不是直接链接。 两台设备之间都有一台非托管第2层交换机(10/100 Mbps以太网)。

MTU = 1500字节。

这些数字表明,使用MPI(也使用TCP作为传输层协议)是一种开销,会对吞吐量和延迟产生负面影响。 使用MPI时测得的最佳吞吐量为65 Mbit / s。 仅使用TCP时,吞吐量可达85 Mbit / s。

只要有效负载适合单个TCP段,使用MPI时的延迟比仅使用TCP时大约低10倍。 指定以太网帧内最大有效载荷的最大传输单元(MTU)在我们的集群中为1500字节。 因此,指定TCP段内最大有效载荷的最大段大小(MSS)是1460字节。

一些问题:

  • 为什么MPI图与TCP图形共同映射更多异常值? 这可以在左下图中清楚地看到。 这是因为操作系统的进程调度? TCP堆栈是Linux内核的一部分,因此在内核空间中执行。 MPI库在用户空间中执行。

  • 与TCP相比,使用MPI时为什么延迟时间较长? 在右上图中可以清楚地看到。

  • 对于我错过的结果有没有进一步的解释?

  • 使用NetPIPE基准分析两台Raspberry Pi B型单板计算机之间的网络性能

    BTW:糟糕的总体以太网性能可能是因为Raspberry Pi的10/100 Mbit以太网控制器内部连接到USB 2.0集线器。

    更新

    性能下降,尤其是大约4 MB的有效负载大小可能是由于Raspberry Pi节点的CPU资源有限所致。 我用htop检查了CPU利用率,并且在运行MPI基准测试时几乎完全利用了它。


    性能下降大约512 KiB是由于MPI协议1:

  • 渴望模式=> 1次往返时间
  • rendevouz => 2x往返时间
  • 请参阅:https://computing.llnl.gov/tutorials/mpi_performance/#EagerVsRendezvous它更改配置时的默认点取决于所选的MPI实施。 还有一些配置变量可以改变它,在你的情况下,你应该稍后从渴望切换到rendevouz。 额外的延迟导致性能再次缓慢提高,直到1 MiB传输大小。 后来的表现下降对我来说还不清楚。

    链接地址: http://www.djcxy.com/p/86529.html

    上一篇: Howto analyze the results of the NetPIPE benchmark

    下一篇: Weird performance increase in simple benchmark