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

Review request for Default.


Repository: gem5


Description
-------

Changeset 11786:c9937aad9a53
---------------------------
ruby: PerfectSwitch add assured access arbitration

When operating near bandwidth saturation and using finite cache hierarchy
buffering, the round-robin arbitration in the PerfectSwitch caused low ID
input buffers to gain access to the switch more frequently than other input
buffers that might contain requests. This resulted from the priority cycling
starting on input buffers with no pending requests and cycling around to the
low ID buffers with pending requests. Part of the problem was that
input-to-output port allocation was done on-the-fly while cycling through
input ports.

To fix this, refactor the PerfectSwitch to remove on-the-fly arbitration, and
better delineate port allocation from switch traversal. Then, implement
cycling-priority assured access arbitration using output port request batches
to ensure that all input ports are given the same priority when buffers are
full.

This fix reduces GPU core progress asymmetry from >3x down to <12%, and in
line with hardware.


Diffs
-----

  src/mem/ruby/network/simple/PerfectSwitch.cc 6dc9ab9b2294 
  src/mem/ruby/network/simple/PerfectSwitch.hh 6dc9ab9b2294 

Diff: http://reviews.gem5.org/r/3773/diff/


Testing
-------


Thanks,

Joel Hestness

_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to