如何分析NetPIPE基准测试的结果

时间:2016-02-23 22:50:21

标签: linux networking benchmarking performance-testing ethernet

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

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

MTU = 1500字节。

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

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

有些问题:

  • 为什么MPI图表会出现更多与TCP图表相关的异常值?这可以在左下图中清楚地看到。这是因为操作系统的进程调度吗? TCP堆栈是linux内核的一部分,因此在内核空间中执行。 MPI库在用户空间中执行。

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

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

Analysis of the network performance between two Raspberry Pi Model B single board computers by using the NetPIPE benchmark

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

更新

性能下降,特别是大约4 MB的有效负载大小可能是由R​​aspberry Pi节点的有限CPU资源引起的。我用htop检查了CPU利用率,当运行MPI基准测试时,它几乎被完全利用了。

1 个答案:

答案 0 :(得分:2)

大约512 KiB的性能下降归因于MPI协议:

  • 渴望模式=> 1倍往返时间
  • rendevouz => 2倍往返时间

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