在 garnet (gem5) 中进行模拟时,在 stats.txt 文件中获取平均数据包延迟,flit 延迟在数千范围内

问题描述

我使用命令从 gem5.org 下载了 gem5 git克隆https://gem5.googlesource.com/public/gem5 我使用 scons 命令构建 sudo scons build/NULL/gem5.opt 协议=Garnet_standalone -j 9 我用配置模拟了网络 ./build/NULL/gem5.opt configs/example/garnet_synth_traffic.py --num-cpus=64 --num-dirs=64 --network=garnet --topology=Mesh_XY --mesh-rows=8 --synthetic =tornado --routing-algorithm=1 --sim-cycles=10000 --injectionrate=0.1

然后我得到了数千(7000)范围内的数据包延迟值......它是否正确 如果我给出的注入率小于 0.1,那么我将获得 nan(不是数字)作为数据包延迟值 我的朋友们使用相同的配置,他们都得到了像 15,17....

这样的值

你能告诉我犯了什么错误吗...我没有改变任何代码...只做了模拟...

解决方法

我以前使用过一个较旧的存储库,它给出的延迟值范围为 10-15。下载最新的 repo 后,我也得到了以千为单位的值。

阅读 NetworkInterface.cc::incrementStats() 中的代码后,我们可以很容易地发现以下变化:在较旧的 repo 中,延迟收集在 'Cycles' 中,而在较新的 repo 中,它收集在 'Ticks' 中。 据我所知,1 个周期 = 500 个滴答声(但我需要确认)。

因此,我们通过新存储库获得的值是正确的,只是它们以刻度为单位。