Hardware Reference
In-Depth Information
a
Initial Requests
Local arbitration (SA1)
Global arbitration (SA2)
VC#0
VC#1
VC#2
VC#3
VC#4
VC#5
Output Ports
b
VC
#0
VC
#0
VC
#0
VC
#1
VC
#1
VC
#1
Out
#0
Out
#0
Out
#0
VC
#2
VC
#3
VC
#2
VC
#3
VC
#2
VC
#3
Out
#1
Out
#1
Out
#1
Out
#2
Out
#2
Out
#2
VC
#4
VC
#5
VC
#4
VC
#5
VC
#4
VC
#5
Fig. 7.16 An example of the requests seen by the switch allocator and the derived grants in SA1
and SA2 following ( a ) a matrix representation and ( b ) a bipartite graph model between input VCs
and outputs. Local arbitration (SA1) allows the request of at most one input VC to qualify per
input, while global arbitration (SA2) selects one input to access a specific output port
Please notice that, like in the many-to-one connection, the arbiters of the
SA1 stage should update their priority only once their selected input VC is
also granted at the SA2 stage. Even though the arbiters operate independently,
their eventual outcomes in switch allocation are very much dependent each one
affecting each other port separately, as well as the aggregate matching quality of the
router (Mukherjee et al. 2002 ). In order to improve the efficiency of such separable
switch allocators that rely on independent per-input and per-output arbitration steps
we have two generic options. We can either try to “desynchronize” their bindings, so
that each input (output) requests a different output (input) on every new scheduling
cycle, or to employ multiple scheduling iterations until a good match with many
input-output pairs is constructed. Desynchronization is hard to achieve in the context
of NoCs since it requires the addition of many independent queues per input equal
to the number of output ports (McKeown 1999 ). This is either prohibitive, or it may
lead to very shallow buffers that will destroy throughput. On the other hand the
execution of multiple scheduling iterations for converging to one allocation remains
an unexplored alternative for NoCs mostly because it prolongs the scheduling
time; SA evolves in multiple iterations, where in each iteration the set of already
 
Search WWH ::




Custom Search