> On 2011-02-09 09:44:20, Brad Beckmann wrote:
> > src/mem/ruby/buffers/MessageBuffer.cc, line 234
> > <http://reviews.m5sim.org/r/328/diff/2/?file=10257#file10257line234>
> >
> >     Is there a reason why you want to pass the message pointer instead of 
> > just the vnet id?

I would change that. It is a left over from the earlier approach that I 
was thinking of taking, the one in which all messages were queued in the
Perfect Switch as well.


- Nilay


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviews.m5sim.org/r/328/#review839
-----------------------------------------------------------


On 2011-02-05 12:47:34, Nilay Vaish wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviews.m5sim.org/r/328/
> -----------------------------------------------------------
> 
> (Updated 2011-02-05 12:47:34)
> 
> 
> Review request for Default.
> 
> 
> Summary
> -------
> 
> Currently the wakeup function for the PerfectSwitch contains three loops -
> 
> loop on number of virtual networks
>   loop on number of incoming links
>     loop till all messages for this (link, network) have been routed
> 
> With an 8 processor mesh network and Hammer protocol, about 11-12% of the 
> was observed to have been spent in this function, which is the highest 
> amongst all the functions. It was found that the innermost loop is executed 
> about 45 times per invocation of the wakeup function, when each invocation 
> of the wakeup function processes just about one message.
> 
> The patch tries to do away with the redundant executions of the innermost 
> loop. Counters have been added for each virtual network that record the 
> number of messages that need to be routed for that virtual network. The 
> inner loops are only executed when the number of messages for that particular 
> virtual network > 0. This does away with almost 80% of the executions of the 
> innermost loop. The function now consumes about 5-6% of the total execution 
> time.
> 
> 
> Diffs
> -----
> 
>   src/mem/ruby/buffers/MessageBuffer.hh UNKNOWN 
>   src/mem/ruby/buffers/MessageBuffer.cc UNKNOWN 
>   src/mem/ruby/common/Consumer.hh UNKNOWN 
>   src/mem/ruby/network/simple/PerfectSwitch.hh UNKNOWN 
>   src/mem/ruby/network/simple/PerfectSwitch.cc UNKNOWN 
>   src/mem/ruby/slicc_interface/Message.hh UNKNOWN 
>   src/mem/ruby/slicc_interface/NetworkMessage.hh UNKNOWN 
> 
> Diff: http://reviews.m5sim.org/r/328/diff
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Nilay
> 
>

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

Reply via email to