gem5-users@gem5.org

The gem5 Users mailing list

View all threads

Gem5_Garnet-Sythetic_traffic - Garnet_standalone - early network conjestion

A
akavaler@ee.duth.gr
Fri, Oct 11, 2024 5:51 PM

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!

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!