While the datapaths of routers are made up of buffers and switches, the control paths
of routers are largely composed of arbiters and allocators.As discussed in Chapter 16,
we use allocators to allocate virtual channels to packets and to allocate switch cycles
to ﬂits. This chapter discusses arbiters, which resolve multiple requests for a single
resource. In addition to being useful in their own right, arbiters form the fundamental
building block for allocators that match multiple requesters with multiple resources.
Allocators are discussed in Chapter 19.
Whenever a resource, such as a buffer, a channel, or a switch port is shared ...