FQ-PIE-ns-3
Resources used:
-
RFC 8033, Proportional Integral Controller Enhanced (PIE) https://tools.ietf.org/html/rfc8033
-
RFC 8290, Fq-Codel https://tools.ietf.org/html/rfc8290
-
NS3 documentation (Doxygen), https://www.nsnam.org/doxygen/
-
Algorithm for PIE followed, https://tools.ietf.org/html/rfc8033#appendix-A
Implementation Details (details)
Implementation of FQ-PIE was done in NS3
Files
-
fq-pie-queue-disc.h (Click here)
This file contains the basic definition of the the FqPieFlow class and FqPieQueueDisc class. -
fq-pie-queue-disc.cc (Click here)
This file contains all the declarations of the functions in fq-pie-queue-disc.h
Steps to reproduce the results :
- For validation of fq-pie, it is compared to pie :
- fq-pie-validation and pie-validation are compared
- For evaluation of fq-pie, it is compared with fq-codel :
- fq-pie-light-tcp and fq-codel-light-tcp
- fq-pie-mix-traffic and fq-codel-mix-traffic
- fq-pie-heavy-tcp and fq-codel-heavy-tcp
- List of example-files :
- fq-pie-light-tcp
- fq-codel-light-tcp
- fq-pie-mix-traffic
- fq-codel-mix-traffic
- fq-pie-heavy-tcp
- fq-codel-heavy-tcp
- fq-pie-validation
- pie-validation
Steps to run :
- Clone the repository
-
Run the following initialising code :
cd ns3/ ./waf configure --enable-examples ./waf build
-
To run an simulation for
example-file
(Check the list of example files above) :./waf –run example-file
-
If a validation script is run you have a Validation folder in your ns3 which has your example-file’s sub folder containing simulation documents (cwnd traces, pcap files and queue traces) which can be analysed
- If a evaluation script is run you have a Evaluation folder in your ns3 which has your example-file’s sub folder containing simulation documents (cwnd traces, pcap files and queue traces) which can be analysed
(PS: For getting results in FQPIE, one must change the directory to desired examples directory in fq-pie-queuedisc.cc
)