Dynamic Window-Constrained Scheduling for Multimedia Applications - - PowerPoint PPT Presentation

dynamic window constrained scheduling for multimedia
SMART_READER_LITE
LIVE PREVIEW

Dynamic Window-Constrained Scheduling for Multimedia Applications - - PowerPoint PPT Presentation

Dynamic Window-Constrained Scheduling for Multimedia Applications Richard West and Karsten Schwan Georgia Institute of Technology Rich West (1999) Introduction Real-Time media servers need to support 100s (even 1000s) of clients with


slide-1
SLIDE 1

Rich West (1999)

Dynamic Window-Constrained Scheduling for Multimedia Applications

Richard West and Karsten Schwan

Georgia Institute of Technology

slide-2
SLIDE 2

Rich West (1999)

Introduction

■ Real-Time media servers need to support 100s (even

1000s) of clients with individual RT (QoS) constraints.

■ Need fast/efficient scheduling on such servers. ■ We describe Dynamic Window-Constrained

Scheduling (DWCS):

■ DWCS limits the number of late packets over finite

windows of arrivals requiring service.

■ DWCS can be both fair and unfair when necessary

  • Performs Fair-Queueing, SP and EDF.

■ We demonstrate DWCS using a streaming video

application.

slide-3
SLIDE 3

Rich West (1999)

DWCS Packet Scheduling

■ Two attributes per packet: ■ Deadline (max inter-packet gap). ■ Loss-tolerance, x/y.

■ x late/lost packets every y arrivals for service

from same stream.

■ At any time, all packets in the same stream: ■ Have the same current loss-tolerance. ■ Have deadlines offset by a fixed amount from

predecessors.

slide-4
SLIDE 4

Rich West (1999)

DWCS - Conceptual View

Higher Priority = Lower Loss-Tolerance . . . Network Pipe EDF-ordered queues

slide-5
SLIDE 5

Rich West (1999)

Heterogeneous Scheduling

Higher Priority = Lower Loss-Tolerance . . . Network Pipe EDF-ordered queues (Time-constrained traffic) 0 loss-tolerance queue Lowest loss-tolerance first (Non-time-constrained traffic) Compare first packet with packet at head of 0 loss-tolerance queue to see if schedulable.

slide-6
SLIDE 6

Rich West (1999)

Pairwise Packet Ordering Table

Precedence amongs t pairs of packets

  • Lowest loss-tolerance first
  • Same non-zero loss-tolerance, order EDF
  • Same non-zero loss-tolerance & deadlines,
  • rder lowest loss-numerator first
  • Zero loss-tolerance and denominators,
  • rder EDF
  • Zero loss-tolerance, order highest loss-

denominator first

  • All other cases: first-come-first-serve
slide-7
SLIDE 7

Rich West (1999)

Example: L1=1/2, L2=3/4, L3=6/8 D=1, Service Time (C)=1

1 s1 s2 s1 s 16 s1 s1 s1 s1 1 s s3 s2 s3 s2 s3 s2 s3 s1 s 1 s3 2 15 14 13 12 11 10 9 8 7 6 5 4 3 2 time, t 1/2(0), 1/1(1),1/2(2),1/1(3),1/2(4)... 3/4(0),2/3(1),2/2(2),1/1(3),3/4(4),2/3(5),2/2(6),1/1(7),3/4(8)... 6/8(0),5/7(1),4/6(2),3/5(3),3/4(4),2/3(5),1/2(6),0/1(7),6/8(8)...

slide-8
SLIDE 8

Rich West (1999)

Example: L1=1/2, L2=1/2, C1=5, C2=3, D1=5, D2=3

9 10 11 12 13 14 15 16 1 8 time, t 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 time, t s1 s2 s2 s1 s1 s2 s2 s2 s1 s2 7 6 5 4 3 2 1/2(0),1/1(5),1/2(10),0/1(15),1/2(20),0/1(25),1/2(30)... 1/2(0),0/1(3),1/4(6),1/3(9),1/2(12),0/1(15),1/4(18), 1/3(21),1/2(24),0/1(27),1/2(30)...

slide-9
SLIDE 9

Rich West (1999)

Loss-Tolerance Adjustment (A)

■ For stream i whose head packet is serviced before its

deadline:

■ if (yi’ > xi’) then yi’=yi’-1; ■ if (xi’=yi’=0) then xi’=xi; yi’=yi; ■ Where: ■ xi=Original loss-numerator for stream i ■ yi=Original loss-denominator for stream i ■ xi’=Current loss-numerator for stream i ■ yi’=Current loss-denominator for stream i

slide-10
SLIDE 10

Rich West (1999)

Loss-Tolerance Adjustment (B)

■ For stream j whose head packet misses its deadline: ■ if (xj’ > 0) then

■ xj’=xj’-1; yj’=yj’-1; ■ if (xj’=yj’=0) then xj’=xj; yj’=yj;

■ else if (xj’=0) and (yj > 0) then

■ xj’=2xj-1; yj’=2yj+(yj’-1); (method 1) ■ xj’=xj; yj’=yj; (method 2) ■ if (xj > 0) then yj’=yj’+ (yj-xj)/xj; (method 3) ■ if (xj=0) then yj’=yj’+yj;

slide-11
SLIDE 11

Rich West (1999)

DWCS Algorithm Outline

■ While TRUE: ■ Find stream i with highest priority (see Table) ■ Service packet at head of stream i ■ Adjust loss-tolerance for i according to (A) ■ Deadline(i) = Deadline(i) + Inter-Pkt Gap(i) ■ For each stream j missing its deadline:

■ While deadline is missed: ■ Adjust loss-tolerance for j according to (B) ■ Drop head packet of stream j if droppable ■ Deadline(j) = Deadline(j) + Inter-Pkt Gap(j)

slide-12
SLIDE 12

Rich West (1999)

Video Server

ATM 1 2 n Network c c c MPEG-1 active stream Exponential idle time Scheduler VIDEO SERVER s1 s2 sn

slide-13
SLIDE 13

Rich West (1999)

Fair Scheduling: W=1,2 L=2/3,1/3

200000 300000 400000 500000 600000 700000 800000 900000 1e+06 1.1e+06 20000 40000 60000 80000 100000 120000 140000 160000 Bandwidth (bps) Time (mS) (b) DWCS (s1) & SFQ (s1) DWCS (s2) & SFQ (s2) DWCS (s1) DWCS (s2) SFQ (s1) SFQ (s2)

slide-14
SLIDE 14

Rich West (1999)

Fair Scheduling: W=1,1,2,4 L=7/8,14/16,6/8,4/8

200000 400000 600000 800000 1e+06 1.2e+06 1.4e+06 5000 10000 15000 20000 25000 30000 35000 40000 45000 50000 Bandwidth (bps) Time (mS) (a) DWCS (s1,s2) & SFQ (s1,s2) DWCS (s3) & SFQ (s3) DWCS (s4) & SFQ (s4) DWCS (s1) DWCS (s2) DWCS (s3) DWCS (s4) SFQ (s1) SFQ (s2) SFQ (s3) SFQ (s4)

slide-15
SLIDE 15

Rich West (1999)

Mixed Traffic: L1=1/3,L2=2/3, L3=0/100,D1=1,D2=1,D3=∞

200000 400000 600000 800000 1e+06 1.2e+06 1.4e+06 50000 100000 150000 200000 250000 Bandwidth (bps) Time (mS) (a) s1 s2 s3

slide-16
SLIDE 16

Rich West (1999)

Mixed Traffic: L1=1/3,L2=2/3, L3=0/1500,D1=1,D2=1,D3=∞

200000 400000 600000 800000 1e+06 1.2e+06 50000 100000 150000 200000 250000 Bandwidth (bps) Time (mS) (b) s1 s2 s3

slide-17
SLIDE 17

Rich West (1999)

Mixed Traffic: L1=1/3,L2=2/3, L3=0/100,D1=1,D2=1,D3=∞

20000 40000 60000 80000 100000 120000 140000 160000 200 400 600 800 1000 1200 1400 1600 Delay (mS) Number of Packets Sent (a) s1 s2 s3

slide-18
SLIDE 18

Rich West (1999)

Mixed Traffic: L1=1/3,L2=2/3, L3=0/1500,D1=1,D2=1,D3=∞

20000 40000 60000 80000 100000 120000 200 400 600 800 1000 1200 1400 1600 Delay (mS) Number of Packets Sent (b) s1 s2 s3

slide-19
SLIDE 19

Rich West (1999)

Missed Deadlines: W=1,2 L=2/3,1/3

200 400 600 800 1000 1200 1400 1600 20000 40000 60000 80000 100000 120000 140000 160000 Deadlines Missed Time (mS) (a) DWCS (s1) & SFQ (s1) DWCS (s2) & SFQ (s2) DWCS (s1) DWCS (s2) SFQ (s1) SFQ (s2)

slide-20
SLIDE 20

Rich West (1999)

Mean Packet Delay: W=1,2 L=2/3,1/3

10000 20000 30000 40000 50000 60000 200 400 600 800 1000 1200 1400 1600 Delay (mS) Number of Packets Sent (b) DWCS (s1) & SFQ (s1) DWCS (s2) SFQ (s2) DWCS (s1) DWCS (s2) SFQ (s1) SFQ (s2)

slide-21
SLIDE 21

Rich West (1999)

DWCS Summary

■ Aimed at servicing packets with delay and loss-

constraints.

■ Attempts to service each stream so that at most x

packets are lost/late for every y packets requiring service.

■ DWCS minimizes the number of consecutive late

packets over any finite window of packets in a given stream.

■ DWCS can perform fair scheduling, SP, and EDF

  • scheduling. (It can be unfair when necessary).
slide-22
SLIDE 22

Rich West (1999)

DWCS - Current Work

■ DWCS is currently being adapted for use as a CPU

scheduler (using Linux), for hard real-time threads, so that (y-x) out of y deadlines can be met.

■ Leads to bounded service delay, and guaranteed

service in any finite window of service time.

■ Aim is to support coordinated thread/packet

scheduling.

slide-23
SLIDE 23

Rich West (1999)

Scheduling Related Work

■ Fair Scheduling: WFQ/WF2Q (Shenker, Keshav,

Bennett, Zhang etc), SFQ (Goyal et al), EEVDF/Proportional Share (Stoica, Jeffay et al).

■ (m,k) Deadline Scheduling: Distance-Based Priority

(Hamdaoui & Ramanathan), Dual-Priority Scheduling (Bernat & Burns).