> On Dec. 9, 2016, 5:03 a.m., Tushar Krishna wrote:
> > src/mem/ruby/network/garnet2.0/NetworkInterface.cc, line 139
> > <http://reviews.gem5.org/r/3753/diff/2/?file=63961#file63961line139>
> >
> >     If a flit is waiting for the output buffer to become free, this will 
> > get counted in its network delay component in the current implementation.
> >     It should be counted in its queueing delay component I think ...
> >     Queueing delay is the delay at the message buffers and NICs, network 
> > delay is from src NI to dest NI and includes delay in routers and links.
> 
> Matthew Poremba wrote:
>     That's true. I think this will need to be changed to account for queueing 
> latency at the source plus time in stall queue. I could add a member/method 
> to flit like get/set_dequeue_time which is set when the link is consumed. 
> Then the calculation becomes `network_delay = t_flit->get_dequeue_time() - 
> t_flit->get_enqueue_time()` and `queueing_delay = t_flit->get_src_delay() + 
> (curCycle() - t_flit->get_dequeue_time())`. Will that suffice? We could also 
> split the source and "destination" delays into two stats if we want. That 
> would still require modifying flit class, though.

Yes this suffices. I don't think we need to break the input queueing delay and 
output queueing delay by default.
But we can show them separately in case someone wants to pring both separately.
How about doing something like this:
int source_queueing_delay = t_flit->get_src_delay();
int destination_queueing_delay = (curCycle() - t_flit->get_dequeue_time());

// source_queueing_delay and destination_queueing_delay can be printed as 
// separate stats if required
queueing_delay = source_queueing_delay + destination_queueing_delay.


> On Dec. 9, 2016, 5:03 a.m., Tushar Krishna wrote:
> > src/mem/ruby/network/garnet2.0/NetworkInterface.cc, line 277
> > <http://reviews.gem5.org/r/3753/diff/2/?file=63961#file63961line277>
> >
> >     The name of this variable is a little confusing.
> >     
> >     
> >     Hmm I think I can see why you named it like that. If a message that was 
> > stalled gets unstalled, then this variable becomes true.
> >     
> >     But if the stall queue is empty, unstalledMessage is returned false, 
> > which means stalledMessage is true .. which is not quite right.
> 
> Matthew Poremba wrote:
>     I see. How about messageEnqueued or similar to imply only one message per 
> cycle is enqueued?

yeah ...
messageEnqueuedThisCycle .. ?


- Tushar


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviews.gem5.org/r/3753/#review9197
-----------------------------------------------------------


On Dec. 9, 2016, 1:58 a.m., Matthew Poremba wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviews.gem5.org/r/3753/
> -----------------------------------------------------------
> 
> (Updated Dec. 9, 2016, 1:58 a.m.)
> 
> 
> Review request for Default and Tushar Krishna.
> 
> 
> Repository: gem5
> 
> 
> Description
> -------
> 
> Changeset 11761:fd4126ef5e73
> ---------------------------
> ruby: Check MessageBuffer space in garnet NetworkInterface
> 
> Garnet's NetworkInterface does not consider the size of MessageBuffers when
> ejecting a Message from the network. Add a size check for the MessageBuffer
> and only enqueue if space is available. If space is not available, the
> message if placed in a queue and the credit is held. A callback from the
> MessageBuffer is implemented to wake the NetworkInterface. If there are
> messages in the stalled queue, they are processed first, in a FIFO manner
> and if succesfully ejected, the credit is finally sent back upstream. The
> maximum size of the stall queue is equal to the number of valid VNETs
> with MessageBuffers attached.
> 
> 
> Diffs
> -----
> 
>   src/mem/ruby/network/MessageBuffer.hh 
> 78ef8daecd81de0c392034809b3bc155396bf983 
>   src/mem/ruby/network/MessageBuffer.cc 
> 78ef8daecd81de0c392034809b3bc155396bf983 
>   src/mem/ruby/network/garnet2.0/NetworkInterface.hh 
> 78ef8daecd81de0c392034809b3bc155396bf983 
>   src/mem/ruby/network/garnet2.0/NetworkInterface.cc 
> 78ef8daecd81de0c392034809b3bc155396bf983 
> 
> Diff: http://reviews.gem5.org/r/3753/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Matthew Poremba
> 
>

_______________________________________________
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to