140 likes | 305 Views
Implementation and Performance Analysis of a Delay Based Packet Scheduling Algorithm for an Embedded Open Source Router. Master’s Thesis Presentation June 5, 2007 Olli-Pekka Lamminen TKK, Networking Laboratory Supervisor: Professor Raimo Kantola Instructor: Lic.Sc.(Tech.) Marko Luoma.
E N D
Implementation and Performance Analysis of a Delay Based Packet Scheduling Algorithm for an Embedded Open Source Router Master’s Thesis Presentation June 5, 2007 Olli-Pekka Lamminen TKK, Networking Laboratory Supervisor: Professor Raimo Kantola Instructor: Lic.Sc.(Tech.) Marko Luoma
Outline • Goals • Technology • Packet forwarding and traffic control in Linux • Packet scheduling algorithms • Implementation • Development environment • HPD scheduling discipline • Validation • Measurement setup • Measurement results • Conclusions and future work Olli-Pekka Lamminen
Goals • To implement delay-bounded hybrid proportional delay packet scheduler for Linux traffic control • To port DBHPD scheduler enabled Linux for Necsom Media Switch embedded router environment • To validate the functionality of DBHPD scheduler against other packet schedulers already available on NMS system Olli-Pekka Lamminen
Linux Networking Kernel • Networking can be divided into receiving and transmitting sides • Both sides consist of three layers • Hardware layer handles communication with network interfaces via drivers • Network layer includes facilities to handle network level protocols, firewall, packet forwarding and traffic control • Application layer manages states for stateful traffic like TCP, and conveys data to and from software outside the kernel Olli-Pekka Lamminen
Linux Traffic Control • Linux traffic control includes shaping and queuing • Shaping is handled on receiving side • Queuing is done on transmitting side • Queuing has modular structure • The basic building block is queuing discipline • Queuing discipline includes filters and classes • Filters direct traffic to classes • Classes can have sub-queuing disciplines Olli-Pekka Lamminen
Common Packet Schedulers • Commonly used packet schedulers include FIFO, PRIQ and CBQ • FIFO is classless scheduler • First come, first serve • PRIQ and CBQ are classful schedulers • In PRIQ classes have static priorities • Classes are server in priority order • In CBQ classes form a hierarchical tree • Root bandwidth is shared by leaf classes • A class is allowed to transmit traffic according to its bandwidth allocation • Classes can borrow bandwidth from their parents and siblings Olli-Pekka Lamminen
DBHPD Packet Scheduler • HPD scheduler prioritizes traffic by experienced delay • Delay is calculated and normalized with one of three EWMA estimators • Simple EWMA estimator • EWMA estimator with restart • EWMA with proportional error of estimate • Classes can also have hard delay bounds Olli-Pekka Lamminen
NMS Hardware • Networking cards interconnected with circular FSR bus • Each card is a computer on its own • 200 MHz MPC 8260 processor • 64 MB of memory • 10/100 Mbps Ethernet interface • Runs Linux kernel version 2.4.18 • 8 MB flash for kernel and ramdisk Olli-Pekka Lamminen
DBHPD Implementation • HPD queuing discipline in kernel • Implements packet scheduling API • Scheduling functionality in enqueue and dequeue functions • Main management function called change_class • Statistics collected with dump function • Controlled with TC user application • Implements TC API • Controls queuing disciplines • Displays statistics Olli-Pekka Lamminen
Raw Performance Measurements • Designed to show raw system performance • Maximum throughput • How many packets per second the router can process • Queuing delay • How long it takes for the router to process a packet Olli-Pekka Lamminen
Traffic Simulations • Designed to simulate real life traffic situations • Delay distribution shows the effectiveness of the scheduler • Traffic classes correspond to different traffic types • VoIP, WWW, FTP, and noise • Both high and low noise traffic mixture used Olli-Pekka Lamminen
Measurement Results • Raw performance measurements show no real difference between the schedulers • The limiting factor is the hardware not the algorithm • Traffic measurements show HPD having a long tail • Problem either with the implementation or with the hardware Olli-Pekka Lamminen
Conclusions and Future Work • NMS hardware is old and unfinished • Development has ceased • Drivers are still buggy • Supported version of Linux outdated • HPD algorithm is promising • Ability to prioritize according to delays • Tailing should be investigated with more modern hardware • For future research the scheduler should be ported to Linux version 2.6 and ran on PC hardware or a network processor Olli-Pekka Lamminen
Thank you! Any questions?