Title: An Efficient Packet Scheduling Algorithm in Network Processors
1An Efficient Packet Scheduling Algorithm in
Network Processors
- CS260
- ---November 2004---
2Packet Scheduling in Network Processors
- Design Goals
- The input load is well balanced among the worker
processors - Flow order is maintained at the output port
3Channel Stripping
- N channels
- Sender strip incoming traffic across the N
channels - Receiver combine the traffic into a single stream
4Surplus Round Robin
5Desired Load Distribution Pattern
D-Step Packet Dispatching P-Step Packet
Processing T-Step Packet Transmission
Dynamic Batch CoScheduling (DBCS)
6Problems to Be Addressed
- Q How much workload should be scheduled to each
processor? - A Divisible load scheduling Processing unit
bytes or packets? - Q What if the packets are of variable lengths?
- A Packetized DBCS! Packets ? Bytes
- Q Go for Batches?
- A To improve performance. Applicable to a
dynamic non-backlogged system. - Q How much workload should be scheduled in a
batch? When to initiate the next batch? - A Batch Size Determination Scheduling Time
Determination - Q What if there are multiple flows?
- A Fair scheduling among multiple flows with
different reservations?
7Load Scheduling Model
- Known Zr,i wi Zs,i N
- To determine ai B Time
8Load Distribution in A Single Batch
9Optimal Load Fractions in A Single Batch
10Load Distribution in Batches
11Batch Size Determination
- Minimal schedulable batch size
- I C L (L maximal possible length of a
packet) - At least one packet should be dispatched to each
processor mini(aiCL) gt L - Batch size multiple of I
- B m I
12Scheduling Time Determination
13For a Homogeneous Sytem
- zs,i zr,i z wi w ? ai 1/N
14N 8 GaprGapdGapi0
15N 4 GaprGapdgt0 Gapi0
16N 10 GaprGapd0 Gapigt0
17Best Scheduling Time (N, m, L)
18Scalability of the Throughput
19Packetized DBCS Dispatch Decision
- If (PacketSize lt Balancewhich ) Dispatch
- Else if
- (PacketSize Balancewhich lt Balancewhich)
- (Balancewhich gt PacketSize/2) Dispatch
- Else Do not dispatch. Move on to next processor.
20Packetized DBCS
21Throughput Verification of P-DBCS
22Out of Order Rate Verification of P-DBCS
23Throughput Comparison
24Out of Order Rate Comparison
25Fair Scheduling Among Multiple Flows
26Fair Scheduling Among Multiple Flows
- Minimal schedulable batch size
- I C L (L maximal possible length of a
packet) - At least one packet should be dispatched to each
processor mini(aiCL) gt L - At least one packet should be selected from each
flow mini(riCL) gt L - Batch size multiple of I
- B m I
- Load fraction for each flow
- Fi ri B
27Select Decision
- (F1, F2, , FM) (F1, F2, , FM)
- If (PacketSize lt FBalancewhich ) Select
- Else if
- (PacketSize FBalancewhich lt FBalancewhich)
- (FBalancewhich gt PacketSize/2) Select
- Else Do not select. Move on to next flow.
28Fair Scheduling Among Multiple Flows
29Fair Scheduling Among Multiple Flows
30Throughput of Multiple Flows
- Reservations (0.3, 0.3, 0.1, 0.1, 0.1, 0.1)
31Out of Order Rate of Multiple Flows