1 / 31

An Efficient Packet Scheduling Algorithm in Network Processors

An Efficient Packet Scheduling Algorithm in Network Processors. CS260 ---November 2004---. Packet Scheduling in Network Processors. Design Goals: The input load is well balanced among the worker processors Flow order is maintained at the output port.

elvis
Télécharger la présentation

An Efficient Packet Scheduling Algorithm in Network Processors

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. An Efficient Packet Scheduling Algorithm in Network Processors CS260 ---November 2004---

  2. Packet Scheduling in Network Processors • Design Goals: • The input load is well balanced among the worker processors • Flow order is maintained at the output port

  3. Channel Stripping • N channels • Sender: strip incoming traffic across the N channels • Receiver: combine the traffic into a single stream

  4. Surplus Round Robin

  5. Desired Load Distribution Pattern D-Step: Packet Dispatching P-Step: Packet Processing T-Step: Packet Transmission Dynamic Batch CoScheduling (DBCS)

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

  7. Load Scheduling Model • Known: Zr,i wi Zs,i N • To determine: aiBTime

  8. Load Distribution in A Single Batch

  9. Optimal Load Fractions in A Single Batch

  10. Load Distribution in Batches

  11. Batch 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) >= L • Batch size: multiple of I B = m I

  12. Scheduling Time Determination

  13. For a Homogeneous Sytem • zs,i = zr,i = z & wi = w  ai = 1/N

  14. N = 8 Gapr=Gapd=Gapi=0

  15. N = 4 Gapr=Gapd>0 Gapi=0

  16. N = 10 Gapr=Gapd=0 Gapi>0

  17. Best Scheduling Time (N, m, L)

  18. Scalability of the Throughput

  19. Packetized DBCS : Dispatch Decision • If (PacketSize < Balancewhich ) Dispatch; • Else if: • (PacketSize – Balancewhich <= Balancewhich) • (Balancewhich >= PacketSize/2) Dispatch; Else: Do not dispatch. Move on to next processor.

  20. Packetized DBCS

  21. Throughput Verification of P-DBCS

  22. Out of Order Rate Verification of P-DBCS

  23. Throughput Comparison

  24. Out of Order Rate Comparison

  25. Fair Scheduling Among Multiple Flows

  26. Fair 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) >= L • At least one packet should be selected from each flow: mini(riCL) >= L • Batch size: multiple of I B = m I • Load fraction for each flow: Fi= ri B

  27. Select Decision (F1, F2, … , FM) (F1’, F2’, … , FM’) • If (PacketSize < FBalancewhich ) Select; • Else if: • (PacketSize – FBalancewhich <= FBalancewhich) • (FBalancewhich >= PacketSize/2) Select; Else: Do not select. Move on to next flow.

  28. Fair Scheduling Among Multiple Flows

  29. Fair Scheduling Among Multiple Flows

  30. Throughput of Multiple Flows • Reservations (0.3, 0.3, 0.1, 0.1, 0.1, 0.1)

  31. Out of Order Rate of Multiple Flows

More Related