Niket Agarwal wrote:
Hi all.
I have questions regarding the network functioning in Gems.
What I figured out is, all 'Perfect' Switches are woken up in an
event driven fashion and the wakeup() method is called. This
happen's whenever there is an 'event' for that particular switch
to handle. The switch then processes the request.
I have 2 questions:
1. Where is the wakeup() call being made ?
The global event queue. See EventQueue.C
2. I followed the code and figured out that the switch transfers
the message from m_in to m_out. How is the message being
transfered into the next switch? Is link contention being modeled?
PerfectSwitch does not model link contention. This is the job of a
Throttle, which keeps track of link bandwidth and adds queuing delay.
Every link has a PerfectSwitch and a Throttle.
--Mike