Greetings dear gem5 Community,
The problem I encounter is related with my inability to explain the output of the metrics that heterogarnet provided.
The environment that I work in WSL(Windows Subsystem for Linux) from VSCode.
step_1)
As written clearly inside the: https://www.gem5.org/documentation/learning_gem5/part1/building/
using the command :
python3 which scons build/NULL/gem5.opt -j3
step_2)
and after that from : https://www.gem5.org/documentation/general_docs/ruby/garnet_synthetic_traffic/
using the following:
scons defconfig build/NULL build_opts/NULL
scons setconfig build/NULL RUBY_PROTOCOL_GARNET_STANDALONE=y
scons build/NULL/gem5.debug
step_3)
and I also made some changes inside "/gem5/src/mem/ruby/network/garnet/GarnetNetwork.py"
altering (the lines 47 and 48) buffers_per_data_vc and buffers_per_ctrl_vc to 8 before step_2, to change the data and ctrl buffer size.
The environment is ready.
Then with an automated script I run the command below with injection rate form 0.01 to 0.15 with packet length 1024 (the script stops when latency is above 100 cycles):
./build/NULL/gem5.debug configs/example/garnet_synth_traffic.py
--num-cpus=64
--num-dirs=64
--network=garnet
--topology=Mesh_XY
--mesh-rows=8
--sim-cycles=100000000
--synthetic=uniform_random
--inj-vne=2
--injectionrate=$injectionrate
--router-latency=1
--link-latency=1
--vcs-per-vnet=1
--routing-algorithm=1
--sys-clock=1GHz
--ruby-clock=1GHz
--link-width-bits=1024
The problem is that for uniform random traffic in an 8x8 2D mesh with routing (XY) algorithm, the saturation throughput flits/node/cycle that i get is much less than the expected one from related papers ( my network has a congestion too early!). For example i have attached some pictures:
Any commend would be quite helpful. I will also provide the metrics in excel for better understanding
Thank you in advance!