1 / 14

Master’s Thesis Presentation June 5, 2007 Olli-Pekka Lamminen TKK, Networking Laboratory

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.

gayle
Download Presentation

Master’s Thesis Presentation June 5, 2007 Olli-Pekka Lamminen TKK, Networking Laboratory

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. Thank you! Any questions?

More Related