hi,
  The virtual networks are mainly used for avoiding protocol deadlocks, 
i.e., one message type per vnet. 
the output 5 virtual channels is because you set vcs-per-vnet=1(i.e., one 
virtual channel per vnet)
 and the garnet model has 5 virtual networks (I think so)
 
As for the last problem, it's because your cmd line set the routing algorithm 
to XY by default. So the
deadlock will never occur. Maybe you can change the routing algorithm to a 
random oblivious or adaptive
algorithm that is not deadlock-free. I guess you can see a warning message that 
shows a deadlock occurred.


Best wishes,
Zifeng Zhao
 
 
------------------ Original ------------------
From: "Karim Soliman via gem5-users"; 
Date: 2023年3月25日(星期六) 下午3:18
To: "gem5-users"; 
Cc: "Karim Soliman"; 
Subject: [gem5-users] Gem5 - garnet 3.0 - Mesh_XY - Deadlock

 
Hey everyone,For learning purposes, I'm trying to understand the deadlock and 
virtual channels, so in gem5/garnet 3.0 in file
mem/ruby/network/garnet/InputUnit.cc
I have tried to output the following: 
std::cout << " - VCs " << m_router-&gt;get_num_vcs() << " Vnetworks: " << 
m_router-&gt;get_num_vnets() << " VCs per Vnet: " << 
m_router-&gt;get_vc_per_vnet() << &nbsp;" - route.vnet: " << route.vnet << 
&nbsp;std::endl; 


Using Mesh_XY topology to inspect the variables.
I'm also used the options –-vcs-per-vnet and&nbsp;–-inj-vnet


The following is my simulation command:
sudo build/NULL/gem5.debug configs/example/garnet_synth_traffic.py 
--network=garnet --topology=Mesh_XY --mesh-rows=4 --num-cpus=16 --num-dirs=16 
--sim-cycles=5000000 --injectionrate=0.2 --synthetic=uniform_random 
--vcs-per-vnet=1 --inj-vnet=0



the variables output are&nbsp;
m_router-&gt;get_num_vcs() = 5&nbsp;
m_router-&gt;get_num_vnets() = 5
m_router-&gt;get_vc_per_vnet = 1


My questions are, Why is the output 5 virtual channels? and what's the virtual 
network?&nbsp;
Also, I'm trying to force the simulation to get into deadlock by increasing the 
injectinorate and always using only 1 virtual channel per link.&nbsp;
but the simulation never went to a deadlock, why? I'm using only one virtual 
channel.



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