如何分析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时为什么延迟时间较长? 在右上图中可以清楚地看到。
对于我错过的结果有没有进一步的解释?
BTW:糟糕的总体以太网性能可能是因为Raspberry Pi的10/100 Mbit以太网控制器内部连接到USB 2.0集线器。
更新
性能下降,尤其是大约4 MB的有效负载大小可能是由于Raspberry Pi节点的CPU资源有限所致。 我用htop
检查了CPU利用率,并且在运行MPI基准测试时几乎完全利用了它。
性能下降大约512 KiB是由于MPI协议1:
请参阅:https://computing.llnl.gov/tutorials/mpi_performance/#EagerVsRendezvous它更改配置时的默认点取决于所选的MPI实施。 还有一些配置变量可以改变它,在你的情况下,你应该稍后从渴望切换到rendevouz。 额外的延迟导致性能再次缓慢提高,直到1 MiB传输大小。 后来的表现下降对我来说还不清楚。
链接地址: http://www.djcxy.com/p/86529.html