configs,mem-ruby: SimpleNetwork physical channels
Setting the physical_vnets_channels parameter enables the emulation of the bandwidth impact of having multiple physical channels for each virtual network. This is implemented by computing bandwidth in a per-vnet/channel basis within Throttle objects. The size of the message buffers are also scaled according to this setting (when buffer are not unlimited). The physical_vnets_bandwidth can be used to override the channel width set for each link and assign different widths for each virtual network. The --simple-physical-channels option can be used with the generic configuration scripts to automatically assign a single physical channel to each virtual network defined in the protocol. JIRA: https://gem5.atlassian.net/browse/GEM5-920 Change-Id: Ia8c9ec8651405eac8710d3f4d67f637a8054a76b Signed-off-by: Tiago Mück <tiago.muck@arm.com> Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/41854 Reviewed-by: Meatboy 106 <garbage2collector@gmail.com> Maintainer: Bobby Bruce <bbruce@ucdavis.edu> Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
@@ -80,6 +80,10 @@ def define_options(parser):
|
||||
"--garnet-deadlock-threshold", action="store",
|
||||
type=int, default=50000,
|
||||
help="network-level deadlock threshold.")
|
||||
parser.add_argument("--simple-physical-channels", action="store_true",
|
||||
default=False,
|
||||
help="""SimpleNetwork links uses a separate physical
|
||||
channel for each virtual network""")
|
||||
|
||||
def create_network(options, ruby):
|
||||
|
||||
@@ -187,6 +191,9 @@ def init_network(options, network, InterfaceClass):
|
||||
extLink.int_cred_bridge = int_cred_bridges
|
||||
|
||||
if options.network == "simple":
|
||||
if options.simple_physical_channels:
|
||||
network.physical_vnets_channels = \
|
||||
[1] * int(network.number_of_virtual_networks)
|
||||
network.setup_buffers()
|
||||
|
||||
if InterfaceClass != None:
|
||||
|
||||
Reference in New Issue
Block a user