Figure 16 shows how much switch buffer space is used when one TCP sends into a slow link with credit flow control turned on, for the configuration depicted in Figure 15 (a). The flow control system makes sure that enough cells are always buffered that it can keep the output link busy, but never much more than that. The large oscillations correspond to packet boundaries.
Summary and Concluding Remarks
Although the cost of memory has been dropping over the years, the speed of networks and the potential number of simultaneous applications sharing a network have also been increasing. The brute-force way of simply enlarging buffers to avoid data loss will quickly become technically and economically impractical.
Traffic management is therefore essential. For data applications, we need to ensure no loss due to congestion, high utilization, and fairness, regardless of traffic patterns. This kind of guarantee may be a requirement, not just a luxury, in order to provide acceptable service under harsh conditions expected in real-world data traffic.
The most visible sign of network overload due to traffic bursts is usually buffer exhaustion. Credit flow control directly controls buffer allocation and monitors its usage.
Analysis, simulation, and actual experiments on switching hardware have shown that credit flow control can work well over a wide range of network conditions. At one extreme, static allocation of buffers is simple and provides the guarantee. The adaptive credit flow control system can reduce memory requirements to just a few round-trip times' worth of cells, while maintaining no loss and high performance. Thus, a credit system can provide good performance even if future networks are nothing like those currently predicted. Credit flow control is an existence proof that control of congestion can enforce a guarantee of no data loss.
As our field experience with ATM networks expands, we will have much to learn, especially about the interaction of ATM flow control with higher-lever protocols. Future research in congestion control should explore the patterns of real traffic on high-speed networks. Working prototypes of the competing flow control systems should be compared. Without such experience it is not possible to make proper trade-offs between performance and cost.