310 likes | 436 Vues
This document explores Class-Based Queueing (CBQ) as a framework for link sharing, detailing its principles and application in distributing bandwidth according to established hierarchies. Key goals include ensuring that each class, whether interior or leaf, receives its allocated bandwidth during sufficient demand. CBQ offers advantages such as bandwidth protection and priority support for real-time, delay-sensitive services, along with guidelines for regulating classes based on bandwidth utilization. The document also addresses open questions regarding traffic classification and server interaction.
E N D
WebTP Meeting (10/18/1999) Link Sharing Principles Class Based Queueing (CBQ) S. Floyd and V. Jacobson - ToN 1995
Goals • Link Sharing: • Distribute bandwidth according to some hierarchy
Goals • Link Sharing: • Distribute bandwidth according to some hierarchy • CBQ: A unified framework for supporting • Link Sharing • Real-time (delay sensitive) services
Link Sharing Interior Class Leaf Class
Link Sharing Level 3 Level 2 Level 1
Link Weights Allocation • Static • Dynamic • network condition • user preferences • adding/removing connections
Link Sharing Goal Over appropriate time-intervals, each interior or leaf class should receive its allocated bandwidth (given sufficient demand)
CBQ Fundamentals • Scheduling • General scheduler • Link sharing scheduler
CBQ Fundamentals • Scheduling • General scheduler • Link sharing scheduler • Classes • Unregulated • Regulated
CBQ Fundamentals • Scheduling • General scheduler • Link sharing scheduler • Classes • Unregulated • Regulated • Bandwidth Estimator • Exponential weighted moving average
Classes - Definitions • Bandwidth Utilization • Overlimit • Underlimit • At-limit
Classes - Definitions • Bandwidth Utilization • Overlimit • Underlimit • At-limit • Satisfaction • Unsatisfied: Underlimit + persistent backlog • Satisfied
Link Sharing - Guidelines • A class stays unregulated if 1. It is not overlimit
Link Sharing - Guidelines • A class stays unregulated if 1. It is not overlimit, OR 2. It has a not-overlimit ancestor at level j, andthere are no unsatisfied classes in the link-sharing structure at levels lower than j.
Link Sharing - Guidelines • A class stays unregulated if 1. It is not overlimit, OR 2. It has a not-overlimit ancestor at level j, andthere are no unsatisfied classes in the link-sharing structure at levels lower than j. • Otherwise it should be regulated
Link Sharing - Guidelines • A class stays unregulated if 1. It is not overlimit, OR 2. It has a not-overlimit ancestor at level j, andthere are no unsatisfied classes in the link-sharing structure at levels lower than j. • Otherwise it should be regulated • Remark: The root is always not-overlimit
Example 1 Under Over
Example 2 Under Over
Example 2 Backlog
Example 2 Unsatisfied Unsatisfied
Example 2 Unsatisfied Unsatisfied Regulated
Example 3 Unsatisfied Regulated Overlimit + Backlog
CBQ - Pros • Bandwidth protection • Hierarchy • Support of priorities for delay-sensitive services • flexibility
CBQ - Cons • No deterministic/statistical guarantees on performance measure (delay, throughput) • Many tunable parameters with unknown effects
CBQ and WebTP • Allow sharing of multiple connections with different requirements within a pipe • Allow sharing between multiple users or protocols (FAT pipes) • Open questions: • Traffic classification, admission control • Variable-rate server • interaction with the ADU scheduler