beautypg.com

Optimal buffer credit allocation – Dell POWEREDGE M1000E User Manual

Page 556

background image

556

Fabric OS Administrator’s Guide

53-1002745-02

Buffer credit management

23

Buffer-to-buffer flow control is flow control between adjacent ports in the I/O path, for example,
transmission control over individual network links. A separate, independent pool of credits is used
to manage buffer-to-buffer flow control.A sending port uses its available credit supply and waits to
have the credits replenished by the port on the opposite end of the link. These buffer credits are
used by Class 2 and Class 3 services and rely on the Fibre Channel Receiver-Ready (R_RDY) control
word to be sent by the receiving link port to the sender. The rate of frame transmission is regulated
by the receiving port, and is based on the availability of buffers to hold received frames.

If Virtual Channel technology is in use, the VC_RDY or EXT_VC control word is used instead of the
R_RDY control word to manage buffer credits. For Virtual Channels, the buffer credits are managed
for each Virtual Channel, and not for the entire physical link.

The Virtual Channels used in VC_RDY flow-control mode range from VC0 through VC7. When QoS is
enabled, EXT_VC_RDY flow-control mode allocates VC0 through VC14. VC8 through VC14 are
allocated specifically for QoS VCs.

Upon arriving at a receiver, a frame goes through several steps. It is received, deserialized, and
decoded, and is stored in a receive buffer where it is processed by the receiving port. If another
frame arrives while the receiver is processing the first frame, a second receive buffer is needed to
hold this new frame. Unless the receiver is capable of processing frames as fast as the transmitter
is capable of sending them, it is possible for all of the receive buffers to fill up with received frames.
At this point, if the transmitter should send another frame, the receiver will not have a receive
buffer available and the frame is lost. Buffer-to-buffer flow control provides consistent and reliable
frame delivery of information from sender to receiver.

Optimal buffer credit allocation

The optimal number of buffer credits is determined by the distance (frame delivery time), the
processing time at the receiving port, the link signaling rate, and the size of the frames being
transmitted. As the link speed increases, the frame delivery time is reduced and the number of
buffer credits must be increased to obtain full link utilization, even in a short-distance environment.

For each frame that is transferred, the hardware at the other end must acknowledge that the frame
has been received before a successful transmission occurs. This flow requires enough capacity in
the hardware to allow continuous transmission of frames on the link, while waiting for the
acknowledgment to be sent by the receiver at the other end.

As the distance between switches and the link speed increases, additional buffer credits are
required for the ports used for long-distance connections. Distance levels define how buffer credits
are allocated and managed for extended ISLs. Buffer credits are managed from a common pool
available to a group of ports on a switch. The buffer credit can be changed for specific applications
or operating environments, but it must be in agreement among all switches to allow formation of
the fabric.