mem-garnet: Flexible VCs per Vnet for each router
authorSrikant Bharadwaj <srikant.bharadwaj@amd.com>
Thu, 28 Mar 2019 01:23:02 +0000 (21:23 -0400)
committerSrikant Bharadwaj <srikant.bharadwaj@amd.com>
Fri, 4 Sep 2020 22:17:36 +0000 (22:17 +0000)
commit615067c163f512da360dad7f0a1a6e58bb5753ac
tree907ebe99a6ce8367a108c10255a1072649e270bf
parent6be16d84da969319e9e25e709474e968808f39f4
mem-garnet: Flexible VCs per Vnet for each router

This change allows configuring each router with a certain number
of VCs for each VNET. This is beneficial when dealing with
heterogenous link widths in a system. Configuring VCs
for each router allows one to ensure equal throughput
within the network while avoiding head-of-line blocking.
Changing a router's VCs number can be done in topology files
using the vcs_per_vnet value argument of router.

Change-Id: Icf4f510248128429a1a11f19f9802ee96f340611
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/32599
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
Maintainer: Jason Lowe-Power <power.jg@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
14 files changed:
src/mem/ruby/network/garnet2.0/GarnetNetwork.cc
src/mem/ruby/network/garnet2.0/GarnetNetwork.hh
src/mem/ruby/network/garnet2.0/NetworkBridge.cc
src/mem/ruby/network/garnet2.0/NetworkBridge.hh
src/mem/ruby/network/garnet2.0/NetworkInterface.cc
src/mem/ruby/network/garnet2.0/NetworkInterface.hh
src/mem/ruby/network/garnet2.0/NetworkLink.cc
src/mem/ruby/network/garnet2.0/NetworkLink.hh
src/mem/ruby/network/garnet2.0/OutVcState.cc
src/mem/ruby/network/garnet2.0/OutVcState.hh
src/mem/ruby/network/garnet2.0/OutputUnit.cc
src/mem/ruby/network/garnet2.0/OutputUnit.hh
src/mem/ruby/network/garnet2.0/Router.cc
src/mem/ruby/network/garnet2.0/Router.hh