11.1. SYSTEM-LEVEL FLOW CONTROL
A switch-fabric-based system can encounter several types of congestion, differentiated by the duration of the event. Table 11.1 presents four different classifications of congestion that may occur in systems.
Congestion can be detected inside a switch, at the connections between the switch and other switches and end points. Conceptually, the congestion is detected at an output port that is trying to transmit data to the connected device, but is receiving more information than it is able to transmit. This excess data can then 'pile up' until the switch is out of storage capacity, at this point the congestion may spread to other devices in the system. Therefore, contention for a particular connection in the fabric can affect the ability of the fabric to transmit data unrelated to the contested connection. This type of behavior is highly undesirable for many applications.
The best analogy for this congestion is rush hour traffic congestion. Because of congestion, intersections can back up to the point where they affect the flow of traffic through other intersections; traffic that is not destined for the point of congestion, yet is nevertheless affected by the congestion. As RapidIO is intended to operate in systems with potentially thousands of devices and hundreds of switches it is prudent to anticipate that these congestion scenarios may occur, and to provide mechanisms to reduce the impact of this congestion on the rest of the system. The length ...