Top Banner
Design Philosophy of Scheduler • Design a very general and flexible scheduler at transport layer that can – work at different locations in the network – provide mechanisms for implementing a wide range of traffic classification and bandwidth management policies. – Encourages traffic aggregation, hence increases bandwidth utilization. – Have a structured implementation and programming interfaces.
30

Design Philosophy of Scheduler Design a very general and flexible scheduler at transport layer that can –work at different locations in the network –provide.

Dec 21, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Design Philosophy of Scheduler Design a very general and flexible scheduler at transport layer that can –work at different locations in the network –provide.

Design Philosophy of Scheduler

• Design a very general and flexible scheduler at transport layer that can– work at different locations in the network– provide mechanisms for implementing a wide

range of traffic classification and bandwidth management policies.

– Encourages traffic aggregation, hence increases bandwidth utilization.

– Have a structured implementation and programming interfaces.

Page 2: Design Philosophy of Scheduler Design a very general and flexible scheduler at transport layer that can –work at different locations in the network –provide.

Client 1

Server 1

ISP 1

Backbone Network

Client 2Server 2ISP 2

ISP 3

ISP 4

Original Model – Scheduler at the End-Systems

Connection Relationships

Page 3: Design Philosophy of Scheduler Design a very general and flexible scheduler at transport layer that can –work at different locations in the network –provide.

Corporate Network

T1/T3ISP

Backbone NetworkCorporate Intranet

Client

Rate Control Device

Access Link

Page 4: Design Philosophy of Scheduler Design a very general and flexible scheduler at transport layer that can –work at different locations in the network –provide.

ISP Network and Server Farms

Home Clients Backbone Network

POP

ISP Network

Layer4/7 Switch

Server Farm

Page 5: Design Philosophy of Scheduler Design a very general and flexible scheduler at transport layer that can –work at different locations in the network –provide.

Inter-Domain Scenario

Backbone

Domain A

Client

Domain C

Domain B

Edge Device

Access Link

Fat Pipe

Page 6: Design Philosophy of Scheduler Design a very general and flexible scheduler at transport layer that can –work at different locations in the network –provide.

Examples of User Requirements

• A user requests some rates for each of his ftp connections.• A user requests that his connection be guaranteed a delay

bound d and a probability 1- .• A manager requests that connections from his department be

given a combined bandwidth of .• Based on the company's mission, the administrator specifies

that database traffic be given a bandwidth 2 and realtime video traffic be given a bandwidth . He also specifies that realtime video be given a delay guarantee of d with probability 1- .

• The administrator decides that all users should be given equal bandwidth.

Page 7: Design Philosophy of Scheduler Design a very general and flexible scheduler at transport layer that can –work at different locations in the network –provide.

H-PFQ (Bennett and Zhang 96)

Link

AgencyA

AgencyC

AgencyB

10%40%50%

real-time

ftptelnet

10%10%

30%

real-time

ftptelnet

5%2%3%

IP DEC-net

20%

20%

conn.1

conn.n

1%1%

ftptelnet

0%5%15%

real-time...

...

Page 8: Design Philosophy of Scheduler Design a very general and flexible scheduler at transport layer that can –work at different locations in the network –provide.

A CBQ Implementation Example• Ftp class has a minimum bandwidth reservation over

appropriate time scale.

• Can be viewed as priority scheduler with link sharing constraints.

Link

AgencyA

AgencyB

80%20%

real-time

ftpinter-active

real-time

ftpinter-active

3, 30%2, 25%1, 25%3, 10%2, 5%1, 5%

Page 9: Design Philosophy of Scheduler Design a very general and flexible scheduler at transport layer that can –work at different locations in the network –provide.

Our SchedulerType I

Type II

Type III

11 12 13

21 22

r41 r42

r31 r32

r51 r52 r53

Type II-Infinity

1, d1 2, d2

1, d3 2, d4

3

3

1 2 3

Page 10: Design Philosophy of Scheduler Design a very general and flexible scheduler at transport layer that can –work at different locations in the network –provide.

An Instance

Link

Real-time

Elastic

Buf.video ftp

33%67%

Inter-active

1, d1 2, d2

3

Page 11: Design Philosophy of Scheduler Design a very general and flexible scheduler at transport layer that can –work at different locations in the network –provide.

Goal of Scheduling• Satisfies requirements (vaguely) from individual

connections, together with admission control.

• Satisfies the requirements from individual classes, which are aggregation of a set of connections with some common characteristics.

• Distributes extra bandwidth prudently.

• Participates in flow control and regulates excess traffic.

• Achieve flow isolation and fairness.

• Always aims at high bandwidth utilization.

• Optimize operator’s objectives: bandwidth utilization, revenue, or combined user’s satisfactions, subject to constraints.

Page 12: Design Philosophy of Scheduler Design a very general and flexible scheduler at transport layer that can –work at different locations in the network –provide.

Goal of Scheduling – Cont.

• The items in the list have overlap. Need to understand these objectives better.

• One approach is to define a precedence relation among the objectives (Shenker et al, 93).

• It is hopefule to design mechanisms that can achieve any suitable arrangement of objectives.

• Ways to achieve higher utilization– Aggregation of realtime traffic– Tradeoff between realtime and elastic connections.

Page 13: Design Philosophy of Scheduler Design a very general and flexible scheduler at transport layer that can –work at different locations in the network –provide.

Key Features of H-PFQ

• Goals:– Provides realtime traffic delay bound (loose)

– Distribute excess bandwidth according to the tree hierarchy (link sharing)

• What does the tree representation mean– An edge means parent-children relationship of classes;

– a missing edge means disjoint classes;

– children of an class is a partition of the class.

• Weighted fair-queueing on each level of the tree.

Page 14: Design Philosophy of Scheduler Design a very general and flexible scheduler at transport layer that can –work at different locations in the network –provide.

Weakness of H-PFQ

• Bandwidth defined only on the shortest timescale; cannot trade-off realtime traffic and elastic traffic.

• All requirements are handled by bandwidth allocation and hence it discourages aggregation.

• Unnatural to emulate more than two priority levels.• It is problematic for time-varying link capacity,

where delay cannot be guranteed, but multiple prioirty levels still makes sense.

• Limitation of tree representation: assumes classes are disjoint.

Page 15: Design Philosophy of Scheduler Design a very general and flexible scheduler at transport layer that can –work at different locations in the network –provide.

CBQ (Floyd and Jacobson 95)

• Goals:– Satisfies realtime traffic– Provides link-sharing services for classes

• Each class receives its allocated bandwidth over appropriate time interval

• Prudent distribution of excess bandwidth (It is for this purpose the tree hierarchy is defined.)

• Not an implementation, but a guideline– The tree is represents bandwidth-sharing

requirements.

Page 16: Design Philosophy of Scheduler Design a very general and flexible scheduler at transport layer that can –work at different locations in the network –provide.

CBQ Realtime Services

• Realtime class takes priority when the traffic is bursty and lightly loaded. (note: the bandwidth are measured on different time scales)

80%

video ftp

20%60%

video1 video2 ftp1 ftp2

2, 5%2, 15%1, 40%1, 20%

80%

video ftp

2

1

ftp1 ftp2

33%67%

Page 17: Design Philosophy of Scheduler Design a very general and flexible scheduler at transport layer that can –work at different locations in the network –provide.

CBQ Realtime Service – Cont. 1

• Link sharing becomes effective when a backlogged lower-priority classes do not get the bandwidth assigned over their timescale.

• Guard against overloading by realtime traffic due to admission control error or misbehavior.

• Give up notion of hard delay guarantee.• Allow some realtime applications to adapt

bandwidth fluctuation.

Page 18: Design Philosophy of Scheduler Design a very general and flexible scheduler at transport layer that can –work at different locations in the network –provide.

CBQ Realtime Service – Cont. 2

• With more low-priority classes, it becomes harder to provide strict priority to the high-priority class. It becomes more like processor sharing.

• If two different priority levels have the same timescales, it becomes processor sharing.

Page 19: Design Philosophy of Scheduler Design a very general and flexible scheduler at transport layer that can –work at different locations in the network –provide.

Weakness of CBQ

• Since bandwidth are measured on different time intervals, weight assignment makes no sense. They do not have to add up to 1.

• Assumes classes are disjoint.

Link

audio mailftptelnetvideo

Link

AgencyA

AgencyC

AgencyB

20% 50% 10% 20% 0% 10%40%50%

Page 20: Design Philosophy of Scheduler Design a very general and flexible scheduler at transport layer that can –work at different locations in the network –provide.

Weakness of CBQ - Cont

• The following makes no sense. Has to use the previous classification scheme.

• What if the classes cannot be represented by a tree?

Link

AgencyA

AgencyC

Video

10%40%50%

Page 21: Design Philosophy of Scheduler Design a very general and flexible scheduler at transport layer that can –work at different locations in the network –provide.

Vagueness in User Requirements

• Bandwidth: minimum, maximum and average bandwidth and their relevant timescales.

• Traffic Classes: including short-interactive flow, bulk transfer, realtime stream, and buffered stream

• Delay: average and maximum delay, and probabilistic bound

• Transfer Size: special handling of short flows

• Bandwidth Adaptability: the application control the data generating rate, and can render the received data at different level of quality.

Page 22: Design Philosophy of Scheduler Design a very general and flexible scheduler at transport layer that can –work at different locations in the network –provide.

Goals of Scheduler Design

• Want to support the following services– Bandwidth guarantee at the shortest time scale– Various probabilistic delay-guarantees– Bandwidth guarantee on longer time scales– Priority class when bandwidth is uncertain.– Best effort services

• Want a structured representation of the above.• Want more general notion of connection classes• Want a representation that leads directly to

implementation. Timescales are explicit in the representation.

Page 23: Design Philosophy of Scheduler Design a very general and flexible scheduler at transport layer that can –work at different locations in the network –provide.

Scheduler Definition

• Define three classes – Type I: bandwidth guaranteed on shortest time scale. Each

class is associated with a number i, which is the rate assignment for the class.

– Type II: delay guarantee is characterized by a tuple (di, pi, ri), indicating Pr(D > di) < pi, where D is the queueing delay. Note that di can be infinity. The optional ri stands for the average rate of this class, and is used for admission control.

– Type III: best-effort class, bandwidth guaranteed on longer time scale. Each is associated with a pair (mi,ri), where the mi is the minimum rate and ri is the average rate.

Page 24: Design Philosophy of Scheduler Design a very general and flexible scheduler at transport layer that can –work at different locations in the network –provide.

Rules for Scheduler Hierarchy

• Type I class can have Type I, II, or III as children.• Type II class has no children, except that Type II-Infinity

may have Type III or Type II-Infinity as children.• Type III class can have Type III or Type II-Infinity as

children.• All children of a class must themselves be the same type.• Notice that Type I can only have Type I as parent. Type II

can only have Type I as parent, except for Type II-Infinity. Type III can have Type I, III, or Type II-Infinity as parent. Type II-Infinity can have type I, III, or Type II-Infinity as parent.

Page 25: Design Philosophy of Scheduler Design a very general and flexible scheduler at transport layer that can –work at different locations in the network –provide.

Our SchedulerType I

Type II

Type III

11 12 13

21 22

r41 r42

r31 r32

r51 r52 r53

Type II-Infinity

1, d1 2, d2

1, d3 2, d4

3

3

1 2 3

Page 26: Design Philosophy of Scheduler Design a very general and flexible scheduler at transport layer that can –work at different locations in the network –provide.

Time-Varying Pipe

r21 r22 r23

Page 27: Design Philosophy of Scheduler Design a very general and flexible scheduler at transport layer that can –work at different locations in the network –provide.

Key Features

• For all children of a Type I or III class, bandwidth is defined on comparable timescale.

• Priority classes are added.

• The representation is actually a general scheduler (in CBQ terminology), not a link-sharing representation (link-sharing requirement should be kept separately, not necessarily in tree

structure).

Page 28: Design Philosophy of Scheduler Design a very general and flexible scheduler at transport layer that can –work at different locations in the network –provide.

A Scheduler Implementation

• The immediate children of a class are scheduled as follows– Type I classes are scheduled by WFQ.

– A Type II classes are numbered by 1,2,…,n, which stand for their scheduling priority. For instance, a class with a lower delay bound takes priority over one with a higher delay bound. When two Type II classes have the same delay bound, the one with smaller p_i value takes priority over the one with larger p_i value. Type II-Infinity classes are numbered a priori.

– Type III classes are scheduled according to WFQ among themselves.

Page 29: Design Philosophy of Scheduler Design a very general and flexible scheduler at transport layer that can –work at different locations in the network –provide.

Admission Control and Usage Accounting

• To guarantee delay, admission control is necessary for ordinary Type II classes.

• To guarantee minimum rate, admission control is necessary for Type III classes.

• Admission control is aided by usage accounting.

• Additional connection classes can be defined outside the scheduler.

Page 30: Design Philosophy of Scheduler Design a very general and flexible scheduler at transport layer that can –work at different locations in the network –provide.

Overall Architecture

SchedulerSchedulerMeasurement

Classifier

Usage Accounting

AdmissionControl /Policing

Pricing

Kernel

UserSchedulerAdjustment

Class Management