如何在并行C++程序中测量网络延迟?

3

我正在使用一段使用mpi在HPC上进行并行计算的C++代码。我想知道如何在我的代码中实现测量网络延迟的功能?(我想找出在模拟中网络延迟是否是一个重要问题。)

cpu的utime或stime是否包含这种延迟?

PS:我的集群正在使用Linux,由SGE管理。

2个回答

2
你应该看一下 VampirTrace

VampirTrace screenshot

它允许您跟踪MPI调用的延迟和吞吐量以及许多其他指标。由于它是商业许可证,因此您需要许可证才能使用。我建议您询问集群管理员是否拥有许可证(对于大学等机构通常如此)。

0

如果您只想测量延迟,可以计算发送长度为0的消息所需的时间,或者发送多个消息并取平均值。此外还有几个基准测试可供选择。我在英特尔工作,支持我们的一些软件开发产品之一是Intel® MPI基准测试,这是一组开源MPI基准测试,可与任何MPI实现一起使用。如果您想尝试一下,可以在https://software.intel.com/en-us/articles/intel-mpi-benchmarks/下载。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接