1. In Throttle.C, the function network_message_to_size() uses a constant
MESSAGE_SIZE_MULTIPLIER whose value is 1000 to multiply with the message
size. Why do we need this value? I think the message sizes in GEMS should be
8B for control message and 64+8B for data message. But with this value, the
message sizes are 1000 times larger. Is that correct?
The bandwidth unit in the simulator is 1/1000 of a byte. This was for
smooth graduation of curves for the BASH paper
2. What dese the link weight mean in network code? Basically we have three
properties in a link: latency, bandwidth and weight. I noticed by default
the link weight was set to the same as latency, but it has been used when
calculating the routing route. So I am a little confused about the weight.
i believe the link_weight is for E_cube routing when FINITE_BUFFERING is
enabled. I'm not positive though.
3. In the wakeup function of Throttle.C, there is a piece of Bash code. I am
wondering what it's used for.
BASH-- Bandwidth Adaptive Snooping, Martin et al.
http://www.cs.wisc.edu/multifacet/papers/hpca02_bash.pdf
|