[Gems-users] g_endpoint_bandwidth


Date: Tue, 1 Jun 2010 17:18:44 -0500
From: Byn Choi <bynchoi1@xxxxxxxxxxxx>
Subject: [Gems-users] g_endpoint_bandwidth
Hi list-

I'm looking closely at GEMS's default network simulation (non-Garnet) and am a little confused by the g_endpoint_bandwidth parameter.

Specifically, this is where its default value is set:

-- ruby/config/rubyconfig.defaults:225

// bandwidth unit is 1/1000 byte per cycle. the following parameter is multiplied by
//  topology specific link weights
g_endpoint_bandwidth: 10000
---

However, the value is used as is here

-- ruby/network/simple/Throttle.C:155
  int bw_remaining = getLinkBandwidth();
-- ruby/network/simple/Throttle.h:99
int getLinkBandwidth() const { return g_endpoint_bandwidth * m_link_bandwidth_multiplier; }
--

essentially giving each link quasi-infinite bandwidth (confirmed in ruby dump statistics file).

--
switch_7_inlinks: 7
switch_7_outlinks: 7
links_utilized_percent_switch_7: 1.26672
  links_utilized_percent_switch_7_link_0: 0 bw: 800000 base_latency: 20
links_utilized_percent_switch_7_link_1: 0.584954 bw: 10000 base_latency: 1 links_utilized_percent_switch_7_link_2: 2.38933 bw: 10000 base_latency: 1 links_utilized_percent_switch_7_link_3: 1.28999 bw: 10000 base_latency: 1 links_utilized_percent_switch_7_link_4: 1.71208 bw: 10000 base_latency: 1 links_utilized_percent_switch_7_link_5: 1.50054 bw: 10000 base_latency: 1 links_utilized_percent_switch_7_link_6: 1.39014 bw: 10000 base_latency: 1
--

I guess my question is: is this intentional? It could make sense if ruby by itself wasn't meant to model network bandwidth accurately, but I just feel that this is a rather convoluted way to achieve that effect - one doesn't really as sophisticated logic in Throttle::wakeup () as what's already there to achieve this effect. That comment found in rubyconfig.defaults is another mystery.

Any ideas?

Thanks,

Byn Choi
[← Prev in Thread] Current Thread [Next in Thread→]
  • [Gems-users] g_endpoint_bandwidth, Byn Choi <=