next up previous
Next: Overload Based Algorithm: GeneralUp: The Switch SchemesPrevious: The Switch Schemes

Overview of ERICA+

ERICA+ operates at the output port of a switch. It periodically monitors the load, active number of VCs and provides feedback in the BRM (backward RM) cells. The measurement period is called the ``averaging interval.'' The measurements are done in forward direction and feedback is given in the reverse direction.

ERICA+ Algorithm
At the end of the Averaging Interval:

           
$\displaystyle \mbox{Total ABR Capacity}$ $\textstyle \mbox{$\leftarrow$ }$ $\displaystyle \mbox{Link Capacity} - \mbox{VBR Capacity}$ (1)
$\displaystyle \mbox{Target ABR Capacity}$ $\textstyle \mbox{$\leftarrow$ }$ $\displaystyle Fraction \times \mbox{Total ABR Capacity}$ (2)
      (3)
z $\textstyle \mbox{$\leftarrow$ }$ $\displaystyle \frac{\mbox{ABR Input Rate}}{\mbox{Target ABR Capacity}}$ (4)
$\displaystyle \mbox{FairShare}$ $\textstyle \mbox{$\leftarrow$ }$ $\displaystyle \frac{\mbox{Target ABR Capacity}}{\mbox{Number of Active VCs}}$ (5)
$\displaystyle \mbox{MaxAllocPrevious}$ $\textstyle \mbox{$\leftarrow$ }$ $\displaystyle \mbox{MaxAllocCurrent}$ (6)
$\displaystyle \mbox{MaxAllocCurrent}$ $\textstyle \mbox{$\leftarrow$ }$ $\displaystyle \mbox{FairShare}$ (7)

When an FRM is received:

CCR[VC] $\mbox{$\leftarrow$ }$CCR_in_RM_Cell

When a BRM is received:

           
$\displaystyle \mbox{VCShare}$ $\textstyle \mbox{$\leftarrow$ }$ $\displaystyle \frac{CCR[VC]}{z}$ (8)
$\displaystyle \mbox{IF}~(z >1+ \delta)$      
$\displaystyle \mbox{THEN ER}$ $\textstyle \mbox{$\leftarrow$ }$ $\displaystyle \mbox{Max (FairShare, VCShare)}$ (9)
$\displaystyle \mbox{ELSE ER}$ $\textstyle \mbox{$\leftarrow$ }$ $\displaystyle \mbox{Max (MaxAllocPrevious, VCShare)}$ (10)
$\displaystyle \mbox{MaxAllocCurrent}$ $\textstyle \mbox{$\leftarrow$ }$ $\displaystyle \mbox{Max (MaxAllocCurrent,ER)}$ (11)
$\displaystyle \mbox{IF (ER} >\mbox{FairShare}$ $\textstyle \mbox{AND}$ $\displaystyle \mbox{CCR[VC]} < \mbox{FairShare)}$  
$\displaystyle \mbox{THEN ER}$ $\textstyle \mbox{$\leftarrow$ }$ $\displaystyle \mbox{FairShare}$ (12)
$\displaystyle \mbox{ER\_in\_RM\_Cell}$ $\textstyle \mbox{$\leftarrow$ }$ $\displaystyle \mbox{Min (ER\_in\_RM\_Cell, ER, Target ABR Capacity)}$ (13)

In overload ( $z >1 + \delta$) conditions, the algorithm calculates the maximum of the FairShareand VCShareas the feedback rate. In under-load conditions, the maximum of MaxAllocPrevious(which is the maximum allocation given in the previous averaging interval) and the previous two terms is the feedback rate. Equation  12avoids sudden increase in the feedback rate. The Fractionterm is used to control the queues, by dynamically varying target ABR capacity.


next up previous
Next: Overload Based Algorithm: GeneralUp: The Switch SchemesPrevious: The Switch Schemes
Bobby Vandalore
1998-07-22