Manual:Queues - PCQ: Difference between revisions
mNo edit summary |
|||
Line 3: | Line 3: | ||
==Usage== | ==Usage== | ||
PCQ was | PCQ was introduced to optimize massive QoS systems, where most of the queues are exactly the same for different sub-streams. For example a sub-stream can be download or upload for one particular client (IP) or connection to server. | ||
PCQ algorithm is very simple - at first it uses selected classifiers to distinguish one sub-stream from another, then applies individual FIFO queue size and limitation on every sub-stream (witch is exactly the same for every sub-stream), then group all sub-streams together and apply global FIFO queue size and limitation. | PCQ algorithm is very simple - at first it uses selected classifiers to distinguish one sub-stream from another, then applies individual FIFO queue size and limitation on every sub-stream (witch is exactly the same for every sub-stream), then group all sub-streams together and apply global FIFO queue size and limitation. | ||
Line 21: | Line 21: | ||
==Classification Examples== | ==Classification Examples== | ||
To better understand classification we will take a list of 18 packet streams from specific address and port to a specific address and port. Then we will choose a classifier and divide all 18 packet streams into PCQ sub-streams | To better understand classification we will take a list of 18 packet streams from specific address and port, to a specific address and port. Then we will choose a classifier and divide all 18 packet streams into PCQ sub-streams | ||
[[Image:PCQ_Example1.png|700px|Classifiers]] | [[Image:PCQ_Example1.png|700px|Classifiers]] | ||
Line 29: | Line 29: | ||
==PCQ Rate Examples== | ==PCQ Rate Examples== | ||
Here it is possible to see what | Here it is possible to see what happens if PCQ-rate is, or isn't specified. I must noted that if both limits (pcq-rate and max-limit) are unspecified, queue behavior can be imprecise. So it is strongly suggested to have at least one of these options set. | ||
Revision as of 14:01, 20 March 2009
Usage
PCQ was introduced to optimize massive QoS systems, where most of the queues are exactly the same for different sub-streams. For example a sub-stream can be download or upload for one particular client (IP) or connection to server.
PCQ algorithm is very simple - at first it uses selected classifiers to distinguish one sub-stream from another, then applies individual FIFO queue size and limitation on every sub-stream (witch is exactly the same for every sub-stream), then group all sub-streams together and apply global FIFO queue size and limitation.
PCQ parameters:
- pcq-classifier (dst-address | dst-port | src-address | src-port; default: "") : selection of sub-stream identifiers
- pcq-rate (number) : maximal available data rate of each sub-steam
- pcq-limit (number) : queue size of one sub-stream in packets
- pcq-total-limit (number) : queue size of global FIFO queue
So instead of having 100 queues with 1000kbps limitation for download we can have one PCQ queue with 100 sub-streams
Classification Examples
To better understand classification we will take a list of 18 packet streams from specific address and port, to a specific address and port. Then we will choose a classifier and divide all 18 packet streams into PCQ sub-streams
PCQ Rate Examples
Here it is possible to see what happens if PCQ-rate is, or isn't specified. I must noted that if both limits (pcq-rate and max-limit) are unspecified, queue behavior can be imprecise. So it is strongly suggested to have at least one of these options set.