implementation and performance analysis of a delay based packet scheduling algorithm for an embedded...

14
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

Upload: adela-riley

Post on 28-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Implementation and Performance Analysis of a Delay Based Packet Scheduling Algorithm for an Embedded Open Source Router Master’s Thesis Presentation June

Implementation and Performance Analysis of a Delay Based Packet

Scheduling Algorithm for an Embedded Open Source Router

Master’s Thesis PresentationJune 5, 2007

Olli-Pekka LamminenTKK, Networking Laboratory

Supervisor: Professor Raimo KantolaInstructor: Lic.Sc.(Tech.) Marko Luoma

Page 2: Implementation and Performance Analysis of a Delay Based Packet Scheduling Algorithm for an Embedded Open Source Router Master’s Thesis Presentation June

June 5, 2007 Olli-Pekka Lamminen 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

Page 3: Implementation and Performance Analysis of a Delay Based Packet Scheduling Algorithm for an Embedded Open Source Router Master’s Thesis Presentation June

June 5, 2007 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

Page 4: Implementation and Performance Analysis of a Delay Based Packet Scheduling Algorithm for an Embedded Open Source Router Master’s Thesis Presentation June

June 5, 2007 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

Page 5: Implementation and Performance Analysis of a Delay Based Packet Scheduling Algorithm for an Embedded Open Source Router Master’s Thesis Presentation June

June 5, 2007 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

Page 6: Implementation and Performance Analysis of a Delay Based Packet Scheduling Algorithm for an Embedded Open Source Router Master’s Thesis Presentation June

June 5, 2007 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

Page 7: Implementation and Performance Analysis of a Delay Based Packet Scheduling Algorithm for an Embedded Open Source Router Master’s Thesis Presentation June

June 5, 2007 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

Page 8: Implementation and Performance Analysis of a Delay Based Packet Scheduling Algorithm for an Embedded Open Source Router Master’s Thesis Presentation June

June 5, 2007 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

Page 9: Implementation and Performance Analysis of a Delay Based Packet Scheduling Algorithm for an Embedded Open Source Router Master’s Thesis Presentation June

June 5, 2007 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

Page 10: Implementation and Performance Analysis of a Delay Based Packet Scheduling Algorithm for an Embedded Open Source Router Master’s Thesis Presentation June

June 5, 2007 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

Page 11: Implementation and Performance Analysis of a Delay Based Packet Scheduling Algorithm for an Embedded Open Source Router Master’s Thesis Presentation June

June 5, 2007 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

Page 12: Implementation and Performance Analysis of a Delay Based Packet Scheduling Algorithm for an Embedded Open Source Router Master’s Thesis Presentation June

June 5, 2007 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

Page 13: Implementation and Performance Analysis of a Delay Based Packet Scheduling Algorithm for an Embedded Open Source Router Master’s Thesis Presentation June

June 5, 2007 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

Page 14: Implementation and Performance Analysis of a Delay Based Packet Scheduling Algorithm for an Embedded Open Source Router Master’s Thesis Presentation June

Thank you!

Any questions?