gem5-users@gem5.org

The gem5 Users mailing list

View all threads

Increasing the Number of Received Flits and Packets in Garnet Network

AK
Ali Karazmoodeh
Sun, Jun 9, 2024 7:17 PM

Hi,
I am trying to increase the number of received flits and packets in the
garnet network. I first ran this simulation which uses uniform-random
synthetic traffic:

---============
build/NULL/gem5.opt configs/example/garnet_synth_traffic.py
--network=garnet --num-cpus=64 --num-dirs=64 --topology=Mesh_XY
--mesh-rows=8  --sim-cycles=100000 --synthetic=uniform_random --precision=3
--injectionrate=0.15 --router-latency=1 --link-latency=1 --vcs-per-vnet=4
--link-width-bits=64 --routing-algorithm=0

---============
In this simulation, approximately 80% of flits (1774 out of 2218) and 86%
of the packets (1356 out of 1578) were successfully received. Increasing
VCs from 4 to 6 yielded minimal improvement (less than 1% increase in
received flits, 1.2% increase in received packets).

Assuming the contention was the main reason behind lost flits and packets,
I reduced the injection rate significantly from 0.15 to 0.04. But this made
things worse. Only 72.6% of flits (768 out of 1058) and 80.56% of packets
(369 out of 458) were received successfully.

Why does reducing the injection rate lead to fewer received flits and
packets? How can we effectively enhance reception in the Garnet network?

Kind regards,
Ali

Hi, I am trying to increase the number of received flits and packets in the garnet network. I first ran this simulation which uses uniform-random synthetic traffic: ============================================= build/NULL/gem5.opt configs/example/garnet_synth_traffic.py --network=garnet --num-cpus=64 --num-dirs=64 --topology=Mesh_XY --mesh-rows=8 --sim-cycles=100000 --synthetic=uniform_random --precision=3 --injectionrate=0.15 --router-latency=1 --link-latency=1 --vcs-per-vnet=4 --link-width-bits=64 --routing-algorithm=0 ============================================= In this simulation, approximately 80% of flits (1774 out of 2218) and 86% of the packets (1356 out of 1578) were successfully received. Increasing VCs from 4 to 6 yielded minimal improvement (less than 1% increase in received flits, 1.2% increase in received packets). Assuming the contention was the main reason behind lost flits and packets, I reduced the injection rate significantly from 0.15 to 0.04. But this made things worse. Only 72.6% of flits (768 out of 1058) and 80.56% of packets (369 out of 458) were received successfully. Why does reducing the injection rate lead to fewer received flits and packets? How can we effectively enhance reception in the Garnet network? Kind regards, Ali
KT
Krishna, Tushar
Wed, Jul 3, 2024 12:48 PM

One thing to keep in mind is that flits are always being injected at a certain rate, so whenever you end the simulation (i.e sim cycles) some flits will still be inside the network. So received flits will aways be lower than injected flits.
There is a command line parameter called --num-packets-max  that you can use and you will then observe 100% packets received as it stops injecting after the max packets are injected (the param is per node).
https://www.gem5.org/documentation/general_docs/ruby/garnet_synthetic_traffic/
Note: you need to have sufficient --sim-cycles though so there’s enough time for all packets to be injected and received.

Cheers,
Tushar
On Jun 9, 2024 at 3:18 PM -0400, Ali Karazmoodeh via gem5-users gem5-users@gem5.org, wrote:
Hi,
I am trying to increase the number of received flits and packets in the garnet network. I first ran this simulation which uses uniform-random synthetic traffic:

---============
build/NULL/gem5.opt configs/example/garnet_synth_traffic.py --network=garnet --num-cpus=64 --num-dirs=64 --topology=Mesh_XY --mesh-rows=8  --sim-cycles=100000 --synthetic=uniform_random --precision=3 --injectionrate=0.15 --router-latency=1 --link-latency=1 --vcs-per-vnet=4 --link-width-bits=64 --routing-algorithm=0

---============
In this simulation, approximately 80% of flits (1774 out of 2218) and 86% of the packets (1356 out of 1578) were successfully received. Increasing VCs from 4 to 6 yielded minimal improvement (less than 1% increase in received flits, 1.2% increase in received packets).

Assuming the contention was the main reason behind lost flits and packets, I reduced the injection rate significantly from 0.15 to 0.04. But this made things worse. Only 72.6% of flits (768 out of 1058) and 80.56% of packets (369 out of 458) were received successfully.

Why does reducing the injection rate lead to fewer received flits and packets? How can we effectively enhance reception in the Garnet network?

Kind regards,
Ali

One thing to keep in mind is that flits are always being injected at a certain rate, so whenever you end the simulation (i.e sim cycles) some flits will still be inside the network. So received flits will aways be lower than injected flits. There is a command line parameter called --num-packets-max that you can use and you will then observe 100% packets received as it stops injecting after the max packets are injected (the param is per node). https://www.gem5.org/documentation/general_docs/ruby/garnet_synthetic_traffic/ Note: you need to have sufficient --sim-cycles though so there’s enough time for all packets to be injected and received. Cheers, Tushar On Jun 9, 2024 at 3:18 PM -0400, Ali Karazmoodeh via gem5-users <gem5-users@gem5.org>, wrote: Hi, I am trying to increase the number of received flits and packets in the garnet network. I first ran this simulation which uses uniform-random synthetic traffic: ============================================= build/NULL/gem5.opt configs/example/garnet_synth_traffic.py --network=garnet --num-cpus=64 --num-dirs=64 --topology=Mesh_XY --mesh-rows=8 --sim-cycles=100000 --synthetic=uniform_random --precision=3 --injectionrate=0.15 --router-latency=1 --link-latency=1 --vcs-per-vnet=4 --link-width-bits=64 --routing-algorithm=0 ============================================= In this simulation, approximately 80% of flits (1774 out of 2218) and 86% of the packets (1356 out of 1578) were successfully received. Increasing VCs from 4 to 6 yielded minimal improvement (less than 1% increase in received flits, 1.2% increase in received packets). Assuming the contention was the main reason behind lost flits and packets, I reduced the injection rate significantly from 0.15 to 0.04. But this made things worse. Only 72.6% of flits (768 out of 1058) and 80.56% of packets (369 out of 458) were received successfully. Why does reducing the injection rate lead to fewer received flits and packets? How can we effectively enhance reception in the Garnet network? Kind regards, Ali