150 likes | 243 Views
Introduction to Packet Scheduling. Packet Switch. Output Scheduling. Routing Table. Switch Fabric. Forwarding Decision. Routing Table. Forwarding Decision. Routing Table. Forwarding Decision. Packet Scheduling.
E N D
Introduction to Packet Scheduling ECE 1545
Packet Switch Output Scheduling RoutingTable Switch Fabric ForwardingDecision RoutingTable ForwardingDecision RoutingTable ForwardingDecision
Packet Scheduling • Packet scheduling algorithm determines the order in which backlogged packets are transmitted on an output link Allocates output bandwidth Controls packet delay scheduler
Flows and Classes • A flow is a single end-to-end data stream • In a virtual circuit network, it is a connection • In a datagram network it is a transport level flow • A class is a group of flows with common characteristics • Belong to the same application (video, data) • Belong to the same service (port number) • Have common header fields (e.g., DiffServ field)
Desirable Properties of a Packet Scheduler • Protection among flows • Misbehaving flows do not affect well-behaving flows • Guarantees • Differentiate between different types of traffic • Give guarantees on delay and rate • Flexible • Accommodate wide range of service requests • Simple • Easy to implement
Packet Scheduling • Packet scheduling algorithms are mostly work-conserving, i.e., the scheduler transmits packets as long as there are packets waiting • Non-workconserving: Even though there are packets waiting, scheduler may not transmit
First-Come-First Served (FIFO) • Packets are transmitted in the order of their arrival • Advantage: • Very simple to implement • Disadvantage: • Cannot give different service to different types of connections • Each flow (even with low data rate) can experience long delays
Also called Head-of-Line (HOL) queueing: Each traffic flow belong to a class Each class has a priority One FIFO queue for each class Transmit from the highest priority queue with a backlog Advantage: Simple Disadvantage: Tends to “starve” the lower priority classes Static Priority
Earliest Deadline First (EDF) • Each flow is associated with a delay index (d1, d2, d3) • Packet from flow i that arrives at time t is assigned deadline t+di • Packets are transmitted in the order of their deadlines
FIFO Fair Queueing Fair Queueing • Attempts to implement a scheduler that serves all flows with a backlog at the same rate • Emulates a bitwise Round Robin scheduling algorithm • Not easy to implement Fair Queuing in a packet network
Weighted Round Robin (WRR) • An approximation of fair queueing: • One FIFO queue for each flow • Operates in “rounds”, where each queue with a backlog is visited once in a round • Packet sizes are considered when determining the amount of traffic that can be sent in a round