Hey everyone,
My research field is about NoC and I'm working on gem5/garnet 3.0
standalone.
For research purposes, I'm trying to push Garnet standalone protocol into
deadlock or traffic congestion during the simulation of Mesh_XY topology.
So, that's what i have done so far:

   - topologies/Mesh_XY.py ==> I changed the weight of all the internal
   links to be 1, to allow the routing to select random output.
   - mem/ruby/network/garnet/flitBuffer.cc ==> I reduced the max_size of
   the flit buffer to 2 instead of using INFINITE_ constant, by using
   setMaxSize(int size); method to apply this.
   - cpu/testers/garnet_synthetic_traffic/GarnetSyntheticTraffic.py ==> I
   reduced response_limit to be 1000.
   - cpu/testers/garnet_synthetic_traffic/GarnetSyntheticTraffic.cc ==> I
   used std::cout in the function doRetry() in order to check if there was any
   traffic congestion.
   - I'm using only two virtual channels by setting the option of
   --vcs-per-vnet=2

I rebuild gem5 using

*sudo scons build/NULL/gem5.debug PROTOCOL=Garnet_standalone -j13*
My simulation command is
*sudo build/NULL/gem5.debug configs/example/garnet_synth_traffic.py
--synthetic=uniform_random --network=garnet --num-cpus=16 --num-dirs=16
--mesh-rows=4 --topology=Mesh_XY --sim-cycles=50000000
--routing-algorithm=1 --vcs-per-vnet=2 --injectionrate=0.02*

I re-simulated using higher injection rates with no output from the
doRetry() method, and no deadlock happened, are there any parameters I
should change?




Best Regards,
*Eng. Karim Soliman*
Teaching Assistant
Computer Engineering Department
Pharos University in Alexandria (P.U.A)
_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org

Reply via email to