Hierarchical Fair Service Curve – HFSC

The third, and easily the most complex, queuing discipline supported by the current version of pfSense is the Hierarchical Fair Service Curve. Think of an HFSC as a form of bandwidth allocation in which certain guarantees are made about latency. An HFSC queue is defined by a nonlinear curve. This curve has two parts. The first, m1, determines the amount of bandwidth the queue gets, up to p milliseconds. Once p milliseconds have elapsed, m2 determines the behavior of the queue. This second part, m2, is the amount of bandwidth guaranteed to the queue.

If we place VoIP traffic in a queue with 25% of the bandwidth, and the download in a queue with 75% of the bandwidth, we will fulfill the requirements for each connection, as we will be able to send a VoIP packet every 30 ms and a download packet every 9 ms. This, however, will result in a high amount of latency for the VoIP connection, which is something we want to avoid.

Now imagine a different service curve, such that the VoIP connection gets the bulk of available bandwidth until 10 ms. We will call this m1. For m1, the VoIP connection gets 75% of available bandwidth. The result is lower latency for VoIP traffic, but a higher latency for the file download traffic, but this is acceptable, since throughput is more important than latency with respect to file downloads.

The primary disadvantage of HFSC is that, unlike PRIQ and CBQ, which are defined by very simple criteria and, hence, are simple to implement, HFSC queues are inherently more complex because they are defined by nonlinear curves. Moreover, there will be times when HFSC cannot guarantee service to all curves at the same time, and it cannot guarantee service fairly. In spite of this, if we are using services that benefit from decoupling latency from bandwidth, HFSC is a good choice.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.129.15.99