Implementation and Performance Analysis of a Delay Based Packet Open Source Router

advertisement
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
June 5, 2007
Olli-Pekka Lamminen
2
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
June 5, 2007
Olli-Pekka Lamminen
3
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
June 5, 2007
Olli-Pekka Lamminen
4
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
June 5, 2007
Olli-Pekka Lamminen
5
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
June 5, 2007
Olli-Pekka Lamminen
6
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
June 5, 2007
Olli-Pekka Lamminen
7
NMS Hardware
• Networking cards interconnected
with circular FSR bus
• Each card is a computer on its own
•
•
•
•
•
June 5, 2007
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
8
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
June 5, 2007
Olli-Pekka Lamminen
9
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
June 5, 2007
Olli-Pekka Lamminen
10
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
June 5, 2007
Olli-Pekka Lamminen
11
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
June 5, 2007
Olli-Pekka Lamminen
12
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
June 5, 2007
Olli-Pekka Lamminen
13
Thank you!
Any questions?
Download