----------------------------------------------------------- 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
