# Priority Queues with Fractional Service for Tiered Delay QoS
## 6 Discussion  
Our two-stage architecture basically separates throughput protection and delay protection into two different modules. The interactions between the stages are summarized by the traffic statistics of packets entering the queueing engine and the engine's key parameters \(m\) and \(K_{i}\). The analytical results from Equations (1)-(4), (7), and (9) showed the relationships between the worst-case delay, the delay limit violation probability, and the key parameters \(m\) and \(K_{i}\) of the queueing engine. By tuning these parameters, the protections offered to each delay class can be altered. Figure 9: Probabilities of overflow _versus_ normalized system loads. \(X\) is truncated exponential with a maximum size four times the mean, \(K_{0}=10\), \(K_{1}=20\), \(K_{3}=30\), \(K_{3}=40\), \(K_{4}=50\). Recall that \(K_{i}\) is the limit on the aggregate queue length of \(L_{i}\). Supposing that we set these thresholds to be multiples of \(K_{0}\), _i.e._, \(K_{1}=2K_{0}\), \(K_{2}=3K_{0}\dots\). That is, for each additional service class, we increase the buffer capacity by a constant amount \(K_{0}\). In this setup, one may expect the worst-case delays of these classes to scale linearly as the priority decreases. However, this is not the case. Figure 10 plots worst-case delay against priority level, which shows that the increase in delay is faster than a linear rate. This is because the rate of promotion worsens as \(i\) increases and for lower-priority buffers (larger \(i\)), effects of slower promotion rates compound. This phenomenon is best observed in Equation (9): the difference of the worst-case delays between two adjacent priority classes, \(\tau_{i}-\tau_{i-1}\), has a denominator that decreases faster than a linear rate as \(i\) increases. For example, when \(m=1\), the denominators of \(\tau_{i}-\tau_{i-1}\) are \(\eta_{1}/(1+\eta_{1})=0.5,\eta_{2}/(1+\eta_{2})=1/3\), and \(\eta_{3}/(1+\eta_{3})=1/4\), for \(i=1,2,3\), respectively, while the numerators remain constant with respect to \(i\). Changing parameter \(m\) affects the rate of promotion and thus the worst-case delay. It can be used to tune the relative service quality level, in terms of packet delays, received by the delay classes, a concept similar to delay-ratios used in [8]. A large \(m\) favors higher-priority classes because with a slower promotion rate, the worst-case delays for lower-priority classes would worsen. Figure 10 plots worst-case delays of all the buffers for several values of \(m\). Note that a larger \(m\) gives a steeper decrease in the rate of promotion and results in an increasing gap between the curves as priority level increases (_i.e._, delay limit worsens). A small \(m\) should be used when there are many traffic classes to prevent starvation of lower-priority classes. In this paper, we have imposed a unit fraction \(\eta_{i}=1/(mi)\) upon the rate at which Buffer-\(i\) can promote its packets. Although this has simplified the analysis and implementation of the FSB considerably, it has also greatly limited its configurability, since a single parameter \(m\) controls all the unit fractions \(\eta_{i}\). Without such a unit fraction restriction, the values of \(\eta_{i}\) can be set and tuned individually in order to yield more flexible performance tradeoffs between delay classes. Under this general approach, to lower the worst-case for the \(i\)th class, one can choose to either increase \(\eta_{i}\) or decrease \(K_{i}\). From the iterative relationship of the worst-case delay, Equation (9), lowering the threshold \(K_{i}\) will naturally lower the delays of all classes \(i\) and above. By lowering \(K_{i}\), the buffer capacity for accommodating packets from the \(i\)th class will also be lowered thus leading to a higher delay violation probability for the \(i\)th class. Increasing \(\eta_{i}\) will also lower the worst-case delay of all classes \(i\) and above. However, by increasing \(\eta_{i}\), we are increasing the service share dedicated to the lower-priority buffers.