Adaptive Real-Time Resource Management



Similar documents
A Quality-of-Service Enhanced Socket API in GNU/Linux

Chapter 3 ATM and Multimedia Traffic

CPU Scheduling. Basic Concepts. Basic Concepts (2) Basic Concepts Scheduling Criteria Scheduling Algorithms Batch systems Interactive systems

Smart Queue Scheduling for QoS Spring 2001 Final Report

Scheduling. Yücel Saygın. These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum

Multimedia Requirements. Multimedia and Networks. Quality of Service

Real-Time Scheduling 1 / 39

Operating Systems Concepts: Chapter 7: Scheduling Strategies

QOS Requirements and Service Level Agreements. LECTURE 4 Lecturer: Associate Professor A.S. Eremenko

How To Provide Qos Based Routing In The Internet

Real-Time Scheduling (Part 1) (Working Draft) Real-Time System Example

CPU Scheduling. Core Definitions

Lecture Outline Overview of real-time scheduling algorithms Outline relative strengths, weaknesses

Quality of Service versus Fairness. Inelastic Applications. QoS Analogy: Surface Mail. How to Provide QoS?

The network we see so far. Internet Best Effort Service. Is best-effort good enough? An Audio Example. Network Support for Playback

CPU Scheduling Outline

Improving Quality of Service

6.6 Scheduling and Policing Mechanisms

16/5-05 Datakommunikation - Jonny Pettersson, UmU 2. 16/5-05 Datakommunikation - Jonny Pettersson, UmU 4

A Transport Protocol for Multimedia Wireless Sensor Networks

Experiences with Interactive Video Using TFRC

Quality of Service in ATM Networks

Performance Evaluation of Linux Bridge

NETWORK ISSUES: COSTS & OPTIONS

Operating Systems. III. Scheduling.

IMPROVING QUALITY OF VIDEOS IN VIDEO STREAMING USING FRAMEWORK IN THE CLOUD

Performance Evaluation of AODV, OLSR Routing Protocol in VOIP Over Ad Hoc

Voice over IP: RTP/RTCP The transport layer

Network Management Quality of Service I

Analysis of IP Network for different Quality of Service

Requirements of Voice in an IP Internetwork

4. Fixed-Priority Scheduling

AN OVERVIEW OF QUALITY OF SERVICE COMPUTER NETWORK

Real-Time (Paradigms) (51)

4 Internet QoS Management

Advanced Networking Voice over IP: RTP/RTCP The transport layer

Quality of Service. Translation of QoS Parameters. Quality of Service

/ Operating Systems I. Process Scheduling. Warren R. Carithers Rob Duncan

Earliest Due Date (EDD) [Ferrari] Delay EDD. Jitter EDD

Measure wireless network performance using testing tool iperf

Authors Mário Serafim Nunes IST / INESC-ID Lisbon, Portugal mario.nunes@inesc-id.pt

Lecture 33. Streaming Media. Streaming Media. Real-Time. Streaming Stored Multimedia. Streaming Stored Multimedia

QoS Parameters. Quality of Service in the Internet. Traffic Shaping: Congestion Control. Keeping the QoS

PART IV Performance oriented design, Performance testing, Performance tuning & Performance solutions. Outline. Performance oriented design

Process Scheduling CS 241. February 24, Copyright University of Illinois CS 241 Staff

Objectives. Chapter 5: CPU Scheduling. CPU Scheduler. Non-preemptive and preemptive. Dispatcher. Alternating Sequence of CPU And I/O Bursts

Bandwidth Adaptation for MPEG-4 Video Streaming over the Internet

Quality of Service on the Internet: Evaluation of the IntServ Architecture on the Linux Operative System 1

OPERATING SYSTEMS SCHEDULING

Transparent Optimization of Grid Server Selection with Real-Time Passive Network Measurements. Marcia Zangrilli and Bruce Lowekamp

Chapter 7 outline. 7.5 providing multiple classes of service 7.6 providing QoS guarantees RTP, RTCP, SIP. 7: Multimedia Networking 7-71

VMWARE WHITE PAPER 1

Configuring QoS in a Wireless Environment

Broadband Networks. Prof. Dr. Abhay Karandikar. Electrical Engineering Department. Indian Institute of Technology, Bombay. Lecture - 29.

Comp 204: Computer Systems and Their Implementation. Lecture 12: Scheduling Algorithms cont d

Quality of Service in the Internet. QoS Parameters. Keeping the QoS. Traffic Shaping: Leaky Bucket Algorithm

MEASURING WORKLOAD PERFORMANCE IS THE INFRASTRUCTURE A PROBLEM?

Please purchase PDF Split-Merge on to remove this watermark.

Lecture 3 Theoretical Foundations of RTOS

Traffic Engineering & Network Planning Tool for MPLS Networks

Low-rate TCP-targeted Denial of Service Attack Defense

Comparative Analysis of Congestion Control Algorithms Using ns-2

CPU Scheduling. CPU Scheduling

A Power Efficient QoS Provisioning Architecture for Wireless Ad Hoc Networks

Introduction VOIP in an Network VOIP 3

Network Considerations for IP Video

CHAPTER 1 ATM TRAFFIC MANAGEMENT

Impact of Control Theory on QoS Adaptation in Distributed Middleware Systems

A Scalable Video-on-Demand Service for the Provision of VCR-Like Functions 1

Predictive rate control for realtime video streaming with network triggered handover

Testing & Assuring Mobile End User Experience Before Production. Neotys

Competitive Analysis of QoS Networks

Chapter 5 Process Scheduling

Assessment of Traffic Prioritization in Switched Local Area Networks Carrying Multimedia Traffic

Digital Audio and Video Data

Motivation. QoS Guarantees. Internet service classes. Certain applications require minimum level of network performance:

Real-time apps and Quality of Service

A NOVEL RESOURCE EFFICIENT DMMS APPROACH

Using TrueSpeed VNF to Test TCP Throughput in a Call Center Environment

ICS Principles of Operating Systems

Introduction. Application Performance in the QLinux Multimedia Operating System. Solution: QLinux. Introduction. Outline. QLinux Design Principles

Technote. SmartNode Quality of Service for VoIP on the Internet Access Link

Operating System: Scheduling

Giving life to today s media distribution services

White paper. Latency in live network video surveillance

A New Resource Based QoS Pricing Model

Transcription:

Adaptive Real-Time Resource Management Richard West Boston University Computer Science Department

Outline of Talk Problem Statement. How to guarantee QoS to applications? Variable resource demands / availability. Approach. System mechanisms. Dionisys. System policies. Dynamic Window-Constrained Scheduling. Conclusions.

Problem Statement Distributed, real-time (RT) applications: e.g., VE, RT multimedia, tele-medicine, ATR. Require QoS guarantees on end-to-end transfer of information. How do we guarantee QoS? Need system support to maintain / maximize QoS: Policies & mechanisms. Adaptive / coordinated resource management.

Application Characteristics Dynamic exchanges between processes. The information (content & type) to be exchanged changes with time. Variable rates (bursts) of exchanges. Variable resource demands. Bandwidth, CPU cycles, memory. Variable QoS requirements on information exchanged.

QoS Requirements Delay: e.g., max end-to-end delay, delay variation. Loss-tolerance, fidelity, resolution: Minimum degree of detail. Throughput, rate: e.g., 30 fps video. e.g., min/max updates per second to shared data. Consistency constraints: When, with whom semantics.

Example Scenario Video Server Video Client Distributed Video Game Video Client

Example: Distributed Video Game

Distributed Video Game Requires consistency of shared (tank) objects. Here QoS (and, hence, resource) requirements vary with time based on current state of application. Application-level spatial & temporal semantics. Exchange state info only when two objects less than distance d apart. Exchange position, orientation and (varying amounts of) graphical info about shared objects based on their distance apart.

Example: Video Server QoS requirements: Loss-tolerance and frame rate. Suppose a client requires at least 15fps playback rate but prefers 30fps. If network bandwidth is limited: Adapt CPU service. e.g. allocate more CPU cycles to compress video info. Adapt network service. e.g. allow 1 frame in 2 to be dropped.

Video Server (continued) If CPU cycles are limited: Adapt CPU service. If possible, reduce frame generation rate. Adapt network service. e.g. ensure no frames are now dropped. If CPU and network resources are limited: Adapt to new QoS region / requirements if possible! Re-negotiation?

Summary of Problem Need to maintain / maximize QoS on end-to-end transfer of information. Varying resource requirements & availability. Static resource allocation too expensive. Poor resource utilization & scalability. Suppose enough resources are reserved to meet the minimum needs of all applications. How can we do better?

Approach Dionisys QoS mechanisms. Allow real-time applications to specify: How actual service should be adapted to meet required / improved QoS. When and where adaptations should occur. Coordinated CPU and network management. Dynamic Window-Constrained Scheduling.

Dionisys Key components: Service managers (SMs). Monitors - influence when to adapt. Handlers - influence how to adapt. Events. Delivered to SMs, where adaptation is needed. Event channels.

SOURCE HOST DESTINATION HOST Process Process Events for App. Process App. Level Process processes Application Application Monitors Specific Application Monitors Monitors Specific Policy Specific Policy Handlers Policy Handlers Handlers App-Specific SM Packet Monitors Scheduling, Policing etc Handlers Network SM CPU SM Monitors Handlers Scheduler System Level Network Control path

SOURCE HOST DESTINATION HOST Process Process Events for App. Process App. Level Process processes Application Application Monitors Specific Application Monitors Monitors Specific Policy Specific Policy Handlers Policy Handlers Handlers App-Specific SM Packet Monitors Scheduling, Policing etc Handlers Network SM CPU SM Monitors Handlers Scheduler System Level Network Control path QoS attribute path Data path

SOURCE HOST DESTINATION HOST Process Process Events for App. Process App. Level Process processes Application Application Monitors Specific Application Monitors Monitors Specific Policy Specific Policy Handlers Policy Handlers Handlers App-Specific SM CPU SM Monitors Handlers Scheduler System Level Monitors Handlers Scheduler Monitors Handlers Application Specific Policy Packet Monitors Scheduling, Policing etc Handlers Network SM Monitors Handlers Buffer Mgmt. etc Network Control path QoS attribute path Data path

Dionisys Key Process Application process. Event channel. QoS attribute channel (shared memory on a single host). Data channel. Service Manager (SM) e.g., CPU SM. SM functions: App-specific monitors, handlers and service policy. Host machine.

Service Managers Responsible for: Monitoring application-specific service. Handling events for service adaptation. Providing service to applications. Resource allocation. Kernel level threads.

Monitors Functions that monitor a specific service. Influence when to adapt service provided to an application. e.g., QoS below desired level, or unacceptable. Compiled into objects. Dynamically-linked into target SM address-space.

Handlers Functions executed in SMs to decide how to adapt service provided to an application. e.g., increase / decrease CPU cycles, or network bandwidth. Compiled into objects. Dynamically-linked into target SM address-space.

Events Generated when service adaptation is necessary. Delivered to handlers where service needs adapting. Have attributes that influence extent to which service is adapted. Quality Events.

Event Channels Monitors Handlers M(1) M(2) M(m1) H(1) H(2) H(h1) SM 1...... SM 2...... M(1) M(2) M(m2) H(1) H(2) H(h2)

SERVER HOST Process Process Ring Buffers Memory Manager QoS attrs QoS attrs Monitors Handlers Example: Video Server Scheduler Packet Scheduling, Rate Ctrl. Network SM Monitors Handlers CPU SM Network Process Process REMOTE HOST Client Processes

Example Adaptation Strategies Packet Scheduling, Policing etc Upstream Adaptation Monitors Handlers Network Service Manager Monitors Handlers Scheduler Downstream Adaptation Intra-SM Adaptation CPU Service Manager

Adaptation Strategies (continued) Upstream adaptation: Applied in direction opposing flow of data. e.g. feedback congestion control. Downstream adaptation: Applied in direction corresponding to flow of data. e.g. forward error correction. Intra-SM adaptation: Applied to current service manager. Lacks coordination between SMs.

Adaptation Example: Video Server QoS requirements: Loss-tolerance and frame rate. If network bandwidth is limited: Apply upstream adaptation to increase CPU cycles to e.g. compress video information. Apply intra-sm adaptation in the network SM to increase loss-tolerance.

Adaptation Example (continued) If CPU cycles are limited: Apply intra-sm adaptation in the CPU-SM to reduce, for example, frame (generation) rate. Apply downstream adaptation to reduce losstolerance.

Experimental Scenario - Part 1 Server-side processes (one per stream): Generate data for streaming to remote clients. Stream of MPEG-1 I-frames (160x120 pixels) per generator process. Data placed in circular queues in shared memory. QoS attributes associated with each data stream: Min / Max / Target frame rate. Quality event channels between Network and CPU service managers.

Experimental Scenario - Part 2 Client-side processes (one per stream): Decode and playback incoming frames. SparcStation Ultra-2 170Mhz dual processor server, running Solaris 2.6 connected via switched 100Mbps Ethernet to one client (w/ UDP connection). 3 Streams: Stream 1: Target 30fps +/- 10% (3000 frames) Stream 2: Target 20fps +/- 10% (2000 frames) Stream 3: Target 10fps +/- 20% (1000 frames) 3 second exponential idle time every 1000 frames.

Adaptation in Video Server (Downstream) CPU SM monitors frame generation rate. (Upstream) Net SM monitors frame transmission rate. Apply adaptation if (monitored rate!= target rate). All monitors / SMs run at 10mS intervals.

Adaptation Handlers CPU-Level: Adjust priorities & time-slices of generator processes by a function of target and monitored service rates. Network-Level: Invoke rate control if monitored rate exceeds maximum rate. Raise priority of packet stream S i if its service falls below minimum service rate. i.e., alter bandwidth allocation (y i -x i ) / y i.

Adaptive Rate Control Block Diagram PID Controller + Σ HANDLER CPU SM - 1 Target Service Rate 3 4 SENSOR BUFFER Σ + - 3 4 Upstream Adaptation Downstream Adaptation + - Σ HANDLER SENSOR NET SM 2 Actual Transmission Rate MONITOR

Quality Functions - Example Q 180 160 140 120 100 80 60 40 20 0 8 10 12 17 20 23 26 30 34 S (Rate, fps) Can embed quality functions into handlers. Service adaptation is a function of actual and required service of all applications.

Non-Adaptive Rate Allocating Service 45 Actual Rate (Network Level) 40 35 30 25 20 15 10 5 0 Target 10 fps Target 20 fps Target 30 fps 0 10 20 30 40 50 60 70 80 Time (seconds)

Non-Adaptive Rate Controlled Service 35 Actual Rate (Network Level) 30 25 20 15 10 5 0 Time (seconds) Target 10 fps Target 20 fps Target 30 fps 0 10 20 30 40 50 60 70 80 90 100

Network Rate - Upstream Adaptation 35 Actual Rate (Network Level) 30 25 20 15 10 5 0 Target 10 fps Target 20 fps Target 30 fps 0 20 40 60 80 100 120 Time (seconds)

Network Rate - Downstream Adaptation 35 Actual Rate (Network Level) 30 25 20 15 10 5 0 0 20 40 60 80 100 120 Time (seconds) Target 10 fps Target 20 fps Target 30 fps

Comparison of Rate Control Methods % of Time 100 80 60 40 20 Non-adaptive Rate Control Downstream Adaptation Upstream Adaptation 0 On Target In Range Above Max Rate

Rate Control Upstream adaptation leads to poorer rate control. Longer time to reach steady state. More prominent sawtooth effect as target rate is tracked. Larger fluctuations of actual rate from target. Better tracking of target rate for more quality critical streams.

Upstream Adaptation - 10fps Buffered Frames & Missed Deadlines 250 200 150 100 50 Buffered Frames Cumulative Missed Deadlines 0 0 20 40 60 80 100 120 Time (seconds) (2000)

Downstream Adaptation - 10fps Buffered Frames & Missed Deadlines 250 200 150 100 50 Buffered Frames Cumulative Missed Deadlines 0 0 20 40 60 80 100 120 Time (seconds) (2000)

Buffering Upstream adaptation leads to greater variance in buffer usage, compared to downstream / intra SM adaptation. Network monitor triggers request for generation of frames too late. That is, after buffer has emptied. Effect of an event being raised not seen until the next phase of monitoring and handling.

Missed Deadlines Higher buffering variance and, consequently, higher queueing delays, imply potentially higher consecutive numbers ( bursts ) of missed deadlines. Downstream adaptation can reduce the number of consecutive deadlines missed at any time by: Providing more accurate (responsive) service. By effecting changes more quickly (in the current event/monitoring cycle) at the network-level to compensate for inadequacies in service at the CPU-level.

Summary Dionisys QoS mechanisms allow real-time applications to specify: How actual service should be adapted to meet required / improved QoS. When and where adaptations should occur. Flexible approach to run-time service adaptation.

What About Service Policies? Certain applications can tolerate lost / late information. Restrictions on: when losses of info can occur. when info must be generated. Need real-time scheduling of: threads / processes (info generators). packets (info carriers).

DWCS Dynamic Window-Constrained Scheduling of: Threads Guarantee minimum quantum of service every fixed window of service time. Packets Guarantee at most x late / lost packets every window of y packets.

DWCS Packet Scheduling Two attributes per packet stream, S i : Request period, T i. Defines interval between deadlines of consecutive pairs of packets in S i. Window-constraint, W i = x i /y i. Essentially, a loss-tolerance.

x out of y Guarantees e.g., Stream S 1 with C 1 =1, T 1 =2 and W 1 =1/2 s 1 s 1 s 1 s 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 time, t Sliding window Feasible schedule if x out of y guarantees are met.

DWCS - Original Conceptual View Higher Priority = Lower Loss-Tolerance... Network Pipe EDF-ordered queues

(x,y)-firm DWCS: Pairwise Packet Ordering Table Precedence amongst pairs of packets Lowest window-constraint first Same non-zero window-constraints, order EDF Same non-zero window-constraints & deadlines, order lowest window-numerator first Zero window-constraints and denominators, order EDF Zero window-constraints, order highest windowdenominator first All other cases: first-come-first-serve

Example: Fair Scheduling S 1 S 2 S 1 S 3 S 1 S 2 S 1 S 3 S 1 S 2 S 1 S 3 S 1 S 2 S 1 S 3 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 S 1 1/2(0) 1/1(1) 1/2(2) 1/1(3) 1/2(4)... S 2 3/4(0) 2/3(1) 2/2(2) 1/1(3) 3/4(4)... S 3 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)... Time

Example: Variable Length Packets S 1 S 2 S 2 S 1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 S 2 S 2 S 2 S 1 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 Time S 1 1/2(0) 1/1(5) 1/2(10) 0/1(15) 1/2(20) 0/1(25) 1/2(30)... S 2 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)...

Window-Constraint Adjustment (A) For stream S i whose head packet is serviced before its deadline: if (y i > x i ) then y i =y i -1; else if (y i = x i ) and (x i > 0) then x i =x i -1; y i =y i -1; if (x i =y i =0) or (S i is tagged) then x i =x i ; y i =y i ; if (S i is tagged) then reset tag;

Window-Constraint Adjustment (B) For stream S j whose head packet misses its deadline: if (x j > 0) then x j =x j -1; y j =y j -1; if (x j =y j =0) then x j =x j ; y j =y j ; else if (x j =0) and (y j > 0) then violation! One solution y j =y j +ε; Tag S j with a violation;

DWCS Algorithm Outline Find stream S i with highest priority (see Table) Service head packet of stream S i Adjust W i according to (A) Deadline i = Deadline i + T i For each stream S j missing its deadline: While deadline is missed: Adjust W j according to (B) Drop head packet of stream S j if droppable Deadline j = Deadline j + T j

DWCS Implementation Deadline Heap S i S j S k Back of queue Head packet (stream 1) Loss-Tolerance Heap S x S y S z To back. Select next packet from head packets in each stream Head packet (stream n) To back

Scheduling Overhead Scheduling Overhead (us) 2000 1800 1600 1400 1200 1000 800 600 400 200 0 1914 Without heaps 1555 With heaps 1307 999 760 510 230 57 63 76 87 122 157 208 120 240 360 480 600 720 840 Number of Streams

Fair Scheduling: b/w ratios:1,1,2,4 W s=7/8,14/16,6/8,4/8 1400 1200 Bandwidth (Kbps) 1000 800 600 400 200 DWCS (s4) & SFQ (s4) DWCS (s1,s2) & SFQ (s1,s2) DWCS (s3) & SFQ (s3) 0 0 10 20 30 40 50 Time (seconds)

Mixed Traffic: W1=1/3,W2=2/3, Bandwidth (Kbps) 800 700 600 500 400 300 200 W3=0/100,T1=1,T2=1,T3= s1 s2 s3 100 0 0 50 100 150 200 250 Time (seconds)

Mixed Traffic: W1=1/3,W2=2/3, Bandwidth (Kbps) 800 700 600 500 400 300 200 100 W3=0/1500,T1=1,T2=1,T3= s1 s2 s3 0 0 50 100 150 200 250 Time (seconds)

Loss-Tolerance Violations (T=500, C=1) Number of Loss-Tolerance Violations 12000 10000 8000 6000 4000 2000 FIFO 1/80 1/90 1/100 1/110 1/120 1/130 1/140 1/150 DWCS total 0 0 100 200 300 400 500 600 700 800 Number of Streams

DWCS Spreads Losses X X X X X DWCS X X X X X 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Time FIFO X X X X X X X X X X 16 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Time Here, loss tolerance of 1/3 is violated more times with DWCS than FIFO, but losses are spread evenly.

Approximation Overheads (T=500) 250 Scheduler Overhead (us) 200 150 100 50 0 840 720 600 480 360 Number of Streams 240 120 12 8 4 2 1 Cycles Between Checking Deadlines

Approximation Overheads (T=200) 300 Scheduler Overhead (us) 250 200 150 100 50 0 840 720 600 480 360 240 Number of Streams 120 8 12 4 1 2 Cycles Between Checking Deadlines

Deadlines Missed (T=500) 800000 700000 Deadlines Missed 600000 500000 400000 300000 200000 100000 0 840 720 600 480 360 240 120 Number of Streams 8 12 4 2 1 Y

Deadlines Missed (T=200) Deadlines Missed 4500000 4000000 3500000 3000000 2500000 2000000 1500000 1000000 500000 0 840 720 600 480 360 240 120 Number of Streams 8 12 4 2 1 Y

Loss-Tolerance Violations (T=500) 16000 14000 Violations 12000 10000 8000 6000 4000 2000 0 840 720 600 480 360 240 Number of Streams 120 8 12 4 2 1 Y

Loss-Tolerance Violations (T=200) 40000 35000 Violations 30000 25000 20000 15000 10000 5000 0 840 720 600 480 360 240 120 Number of Streams 8 12 4 2 1 Y

DWCS - Recent Developments Support for (x,y)-hard deadlines as opposed to (x,y)- firm deadlines. Bounded service delay. Guaranteed service in a finite window of time. Optimal (100%) utilization bound for fixed-length packets or (variable-length preemptive) threads. Replacement CPU scheduler in Linux kernel. www.cc.gatech.edu/~west/dwcs.html

(x,y)-hard DWCS: Pairwise Packet Ordering Table Precedence amongst pairs of packets Earliest deadline first (EDF) Same deadlines, order lowest windowconstraint first Equal deadlines and zero window-constraints, order highest window-denominator first Equal deadlines and equal non-zero windowconstraints, order lowest window-numerator first All other cases: first-come-first-serve

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

DWCS Delay Characteristics If feasible schedule, max delay of service to S i is: (x i + 1)T i - C i Note: Every time S i is not serviced for T i time units x i is decremented by 1 until it reaches 0. If no feasible schedule, max delay of service to S i is still bounded. Function of time to have: Earliest deadline, lowest window-constraint, highest window-denominator.

Bandwidth Utilization Minimum utilization factor of stream S i is: U i = (y i x i)ci yt i i i.e., min req rd fraction of bandwidth. Least upper bound on utilization is min of utilization factors for all streams that fully utilize bandwidth. i.e., guarantees a feasible schedule. L.U.B. is 100% in a slotted-time system.

Scheduling Test If: n i = 1 (1 xi ).C yi Ti i 1.0 and C i =K, T i =qk for all i, where q is 1,2, etc, then a feasible schedule exists. For variable length packets: let C i <=K for all i or fragment/combine packets & translate service constraints. e.g., ATM SAR layer.

Simulation Scenario 8 classes of packet streams: W i 1/10 1/20 1/30 1/40 1/50 1/60 1/70 1/80 T i 400 400 480 480 560 560 640 640 Varied number of streams n, uniformly distributed amongst traffic classes. Total of a million packets serviced.

Bandwidth Utilization Results n. 8 = C i T 8 n D V U i 1 480 0 0 0.9156 0.9518 496 0 0 0.9461 0.9835 504 0 0 0.9613 0.9994 512 15152 0 0.9766 1.0152 520 30990 0 0.9919 1.0311 528 46828 7038 1.0071 1.047 544 78528 31873 1.0376 1.0787 560 110240 53455 1.0681 1.1104 640 268800 148143 1.2207 1.269 i

(x,y)-hard Linux CPU DWCS: Average Violations per Process 6000 Avg Violations per Process 5000 4000 3000 2000 1000 0 quiescent (fft) quiescent (io) 0.125 0.25 0.375 0.444 0.571 0.667 0.8 0.875 1 Utilization 1.111 1.2 1.333 1.5

(x,y)-hard Linux CPU DWCS: Average Violations per Process Avg Violations per Process 100 90 80 70 60 50 40 30 20 10 0 quiescent (io) quiescent (fft) 0.125 0.222 0.286 0.375 0.438 0.5 0.571 0.656 0.75 Utilization 0.8 0.857 0.889 1

0.125 0.222 0.286 0.375 0.438 0.5 0.571 0.656 0.75 0.8 0.857 0.889 1 Avg Violations per Process I/O-bound CPU-bound 100 90 80 70 60 50 40 30 20 10 0 Utilization

(x,y)-hard Linux CPU DWCS: Scheduling Latency 100 80 Avg Latency (us) 60 40 20 0 (3,1,3,2) (4,1,4,3) (4,1,2,2) (5,1,5,4) (6,1,3,4) (6,1,2,3) (8,1,2,4) (tasks,x,y,period) (64,1,2,32) Standard (fft) Standard (io) DWCS (fft) DWCS (io)

(x,y)-hard Linux CPU DWCS: % Execution Time in Violation 100 80 % Time in Violation 60 40 20 io fft 0 1.5 1.333 1.2 1.111 1 0.875 Utilization 0.8 0.667 0.571 0.444 0.375 0.25 0.125

0.125 0.222 0.286 0.375 0.438 0.5 0.571 0.656 0.75 0.8 0.857 0.889 1 1.067 1.125 1.2 % Time in Violation 100 90 80 70 60 0 10 20 30 40 50 CPU-bound I/O -bound Utilization

Conclusions Flexible approach to run-time service adaptation. When, where and how to adapt. Coordinated resource management. Dionisys quality events, monitors, handlers etc. DWCS guarantees explicit loss and delay constraints for real-time / multimedia applications.

Current & Future Work Linux kernel-level implementation of Dionisys mechanisms. Cluster-wide coordination of resources. Language support for QoS safety. Stability analysis. Real-time batched events in Linux Ecalls. Switch / co-processor implementation of DWCS. Scheduling variable-length packets.

Related Work QoS Architectures: QoS-A (Campbell), Washington Univ. (Gopalakrishna & Parulkar), QoS Broker (Nahrstedt et al), U. Michigan (Abdelzaher, Shin), QuO (BBN) + more QoS Specification/Translation: Tenet (Ferrari), EPIQ (Illinois). QoS Evaluation: Rewards (Abdelzaher), Value fns (Jensen), Payoffs (Kravets). System Service Extensions: SPIN (U. Washington), Exokernel (MIT).

Scheduling Related Work Fair Scheduling: WFQ/WF 2 Q (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), Skip-Over (Koren & Shasha). Pinwheel Scheduling: Holte, Baruah etc. Other multimedia scheduling: SMART (Nieh and Lam).

Related Research Papers Quality Events: A Flexible Mechanism for Quality of Service Management, RTAS 2001. Analysis of a Window-Constrained Scheduler for Real-Time and Best-Effort Traffic Streams, RTSS 2000. Dynamic Window-Constrained Scheduling for Multimedia Applications, ICMCS 99. Scalable Scheduling Support for Loss and Delay- Constrained Media Streams, RTAS 99. Exploiting Temporal and Spatial Constraints on Distributed Shared Objects, ICDCS 97.