From Cng1wiki

Jump to: navigation, search

<analytics uacct="UA-1580095-2" ></analytics>

Deficit Round Robin (DRR) is a scheduling algorithm which provides fair queuing at O(1) complexity. However, due to its round robin structure, its latency properties are not adequate for latency-critical applications, such as voice. For this reason, router manufacturers implement variants of the DRR algorithm which guarantee lower latencies to one (or a subset of) queue(s). Two such variants, both of which are known as Modified Deficit Round Robin, are currently implemented in CISCO and Juniper routers.

In this site, you will find Network Simulator 2 (ns-2) modules for simulating the two schedulers.

The description of each scheduler can be found here:

If you use our software for your research, we would appreciate if you could cite either of the following references (ACM download from here):

   L. Lenzini, E. Mingozzi, G. Stea,
   Bandwidth and Latency Analysis of Modified Deficit Round Robin Scheduling Algorithms,
   proc. of VALUETOOLS 2006, Pisa, Italy, 11-13 October 2006

   L. Lenzini, E. Mingozzi, G. Stea, 
   Performance Analysis of Modified Deficit Round Robin Schedulers 
   IOS Journal of High-Speed Networks, 16/4, 2007, pp. 399-422

Modules and howto

The modules have been developed as queue objects for ns 2.26, compiled under Windows. They should work with other distributions as well, although they have not been tested.

The modules should be compiled with the distribution (they are meant to be put in a separate directory under the main code directory (e.g., ns226). Furthermore, the following lines should be added to the nsdefault.tcl file

   Queue/CMDRR set buckets_ 8
   Queue/CMDRR set complexity_ 0
   Queue/JMDRR set buckets_ 8
   Queue/JMDRR set complexity_ 0

Here is a zip file containing the modules and two sample scripts.

License information

These modules have been developed by the [Main Page|Computer Networking Group] of the Dipartimento di Ingegneria dell'Informazione of the University of Pisa, Italy.

All the software and documentation available in this page is released under the GNU General Public License, which means (roughly) that you can download the sources and modify them and do with them whatever you are legally entitled to, provided that you keep the license information in all the files that you use/redistribute. BUT, you cannot incorporate this software into proprietary programs.

We would really like to know if you are using this software. So, please, if you like it (or if you don't), drop an email to the author (giovanni dot stea at iet dot unipi dot it). Thanks.

Personal tools