Buffering allows smoothing of peak cell traffic through storage of cells to be transmitted at a later time. Buffering in an ATM switch can take one of three basic forms: input buffering, output buffering and
central buffering [Karol 1987, Karol 1988, Kim 1990, Mun 1994, Re 1993]. Input buffering stores incoming cells at the input ports of an ATM switch while output buffering stores cells at the output ports
of an ATM switch. In case of central buffering, a central buffer space is shared by both input and output ports.
A. Input Buffering
With input buffering, the switching network can run at the same speed as the inputoutput port transmission speed. However, the performance of a switching network with input buffering and First-In
First-Out FIFO server strategy suffers considerably due to Head-Of-Line HOL blocking. The maximum throughput attainable with input buffering and FIFO strategy is limited to 0.586 as N becomes
large [Karol 1988].
The performance of input buffering can be improved significantly by changing the server strategy. If we allow the routing mechanism to choose cells for transmission to output ports from each input buffer
within a window of W cells, then it becomes possible to choose a maximum number of cells with disjoint output destinations to be transmitted in a single time slot. In [Karol 1988], it has been shown
that with such a modification, it is possible to increase the performance of input buffering to 0.88. However, the routing for such a scheme is a NP-complete problem and the solution has to be obtained
within one time slot so that while currently selected cells are being transmitted the routing mechanism can select a new set of cells to be transmitted in the next time slot.
B. Output Buffering
Output buffering is superior to input buffering in terms of performance. However, output buffering requires that the switching network has to run N times faster than the inputoutput port transmission
speed in order to be able to handle N packets arriving at the same output port within a single time slot.
Figure 7-2 Input buffering.
C. Central Buffering
Central buffering uses a shared memory inside the switch and combines the individual output queues of the output queuing into a central queue. The behavior of central buffering is very similar to output
buffering.
Figure 7-3 Output buffering.
The mean waiting time is the same as the output buffering. However, central buffering offers a better utilization of the available buffer space due to complete sharing. Thus, it requires a smaller buffer size
than the buffer size required for output buffering for the same cell loss ratio. However, a more complicated control logic is necessary to maintain the order of cells when delivering cells to output