You are on page 1of 83

Introduction to Quality of Service

Ir. Gunawan Wibisono, M.Sc, Ph.D

Klara Nahrstedt

Outline
Requirements on Multimedia Communication and Operating Systems Real-time and multimedia Resource management

Resources Quality

of Service (QoS) Concept Operations


CS 414 - Spring 2008

Requirements
Resource management resource reservation/allocation/adaptation Transport system guaranteed delivery with respect to metrics such as delay, reliability, bandwidth requirements Process management real-time processing of continuous data, communication and synchronization between processes/threads

CS 414 - Spring 2008

Requirements (2)
Memory/Buffer management guaranteed timing delay and efficient data manipulation File system/Media Servers transparent and guaranteed continuous retrieval of audio/video Device management integration of audio and video

CS 414 - Spring 2008

Resources Classification
Resource is a system entity required by tasks for manipulating data Active versus Passive Resources (CPU active; main memory passive) Shared versus Exclusive Resources (CPU shared; audio device exclusive) Single Versus Multiple Resources (single CPU in PC, multiple CPU in multi-core system

CS 414 - Spring 2008

Real-Time and Deadlines

Real-time system system in which correctness of computation depends not only on obtaining the right results, but also providing them on time
Examples:

control of temperature in a chemical plant; control of a flight simulator

Deadline represents the latest acceptable time for the result delivery
Soft

deadlines versus hard deadlines


CS 414 - Spring 2008

Real-Time and Multimedia

Difference between RT requirements for traditional RT systems and Multimedia systems


Fault

tolerance and security Soft deadlines versus hard deadlines Periodic behavior versus random behavior Bandwidth requirements

CS 414 - Spring 2008

Resource Management (Why do


we need resource management?)
Limited capacity in digital distributed systems despite data compression and usage of new technologies Need adherence for processing of continuous data by every hardware and software component along the data path Competition for resources exist in an integrated multimedia system

CS 414 - Spring 2008

Window of Insufficient Resources

CS 414 - Spring 2008

Layered Partition of Multimedia Systems with respect to Required Resources and Individual Services

CS 414 - Spring 2008

Quality of Service

MM systems consist of set of services To provide generic MM services, services get parameterized with so called Quality of Service Examples of QoS parameters: QoS for Audio service:
Sample rate 8000 samples/second Sample resolution 8 bits per sample

QoS

for network service:

Throughput 100 Mbps Connection setup time 50 ms


CS 414 - Spring 2008

QoS (cont.)

QoS concept comes from networking service and was introduced for specification how good the offered network services are Services are performed on different objects
Media

sources Media sinks Connections

QoS specification characterizes the service objects


CS 414 - Spring 2008

Layered Model for QoS

CS 414 - Spring 2008

Application QoS Parameters

CS 414 - Spring 2008

System QoS Parameters

CS 414 - Spring 2008

Network QoS Parameters

CS 414 - Spring 2008

QoS Classes

Guaranteed Service Class


QoS

guarantees are provided based on deterministic and statistical QoS parameters parameter values are estimated and based on the past behavior of the service are no guarantees or only partial guarantees are provided
CS 414 - Spring 2008

Predictive Service Class


QoS

Best Effort Service Class


There

QoS Classes (cont.)


QoS Class determines: (a) reliability of offered QoS, (b) utilization of resources

CS 414 - Spring 2008

Deterministic QoS Parameters


Single Value: QoS1 average (QoSave), contractual value, threshold value, target value Pair Value: <QoS1, QoS2> with

QoS1 required value; QoS2 desired value Example: <QoSavg,QoSpeak>; <QoSmin, QoSmax>

CS 414 - Spring 2008

Deterministic QoS Parameter Values

Triple of Values <QoS1, QoS2, QoS3>


best value QoS2 average value QoS3 worst value
QoS1

Example:
<QoSpeak,

QoSavg, QoSmin>, where QoS is network bandwidth

CS 414 - Spring 2008

Guaranteed QoS

We need to provide 100% guarantees for QoS values (hard guarantees) or very close to 100% (soft guarantees) Current QoS calculation and resource allocation are based on:
1. 2.

Hard upper bounds for imposed workloads Worst case assumptions about system behavior

1.

2.

Advantages: QoS guarantees are satisfied even in the worst case case (high reliability in guarantees) Disadvantage: Over-reservation of resources, hence needless rejection of requests

CS 414 - Spring 2008

Predictive QoS Parameters

We utilize QoS values (QoS1, ..QoSi) and compute average


QoSbound

step at K>i is QoSK = 1/i*jQoSj

We utilize QoS values (QoS1, , QoSi) and compute maximum value


QoSK

= max j=1,i (QoSj)

We utilize QoS values (QoS1, , QoSi) and compute minimum value


QoSK

= min j=1,i (QoSj)


CS 414 - Spring 2008

Best Effort QoS


No QoS bounds or possible very weak QoS bounds Advantages: resource capacities can be statistically multiplexed, hence more processing requests can be granted Disadvantages: QoS may be temporally violated

CS 414 - Spring 2008

Quality-aware Service Model

Quality-aware Autonomous Single Service

Consists of a set of functions Accepts input data with QoS level QoSin QoSin=[q1in,..qnin] Generates output data with QoS level QoSout QoSout=[q1out,..qnout]
Input QoS: [Recorded Video Frame Rate, Recorded Frame Size, Recorded Pixel Precision] QoSin=[30fps, 640x480 pixels, 24 bits per pixel] Output QoS: [Playback Video Frame Rate, Playback Frame Size, Playback Pixel Precision] QoSout=[20fps, 320x240pixels, 24bits per pixel]
CS 414 - Spring 2008

Example: Video player service

Quality-aware Service Model

Quality-aware Composite Service

Consists of set of autonomous services that are connected into a directed acyclic graph, called service graph Is correct if the inter-service satisfied the following relation:

QoSout of Service K satisfies QoSin of Service M iff qKjout = qMlin for qMlin being single QoS value qKjout is in qMlin for qMlin being a range of QoS value

Example:

Video-on-demand service, consists of two services: retrieval service and playback service

Output quality of the retrieval service needs to correspond to input quality of playback service, or at least falls into the range of input quality of playback service

CS 414 - Spring 2008

Relation between QoS and Resources

CS 414 - Spring 2008

Operations on QoS in Phase 1 (Translations)

Layered Translation of QoS parameters (must be bidirectional)


(user QoS) application QoS Application QoS system QoS System QoS network QoS
Human

Media Scaling
Transparent

scaling Non-transparent scaling


CS 414 - Spring 2008

Layered Translation (Example)

CS 414 - Spring 2008

Media Scaling (Examples)

Audio
Transparent

scaling difficult (one hears the quantization noise) Non-transparent scaling should be used

Video
Temporal

scaling Spatial scaling Color space scaling (reduction of number of entries in color space)
CS 414 - Spring 2008

Conclusion
QoS an important concept in multimedia systems Very different types of QoS parameters and values Important relation between QoS and Resources Need to understand operations on QoS and their impact on resource management

CS 414 - Spring 2008

Outline
Requirements on Multimedia Communication and Operating System Real-time and multimedia Resource management

Resources Quality

of Service (QoS) Concept Operations


CS 414 - Spring 2008

Relation between QoS and Resources

CS 414 - Spring 2008

Phase 1: Establishment Phase


(QoS Operations)

QoS Translation at different Layers


User-Application Application-OS/Transport

Subsystem

QoS Negotiation
Negotiation

of QoS parameters among two peers/components

QoS Routing along the end-to-end path

CS 414 - Spring 2008

QoS Operations within Establishment Phase

User/Application QoS Translation

Overlay P2P QoS Negotiation Application/Transport QoS Translation

QoS Negotiation/ QoS Routing in Transport Subsystem

CS 414 - Spring 2008

Operations on QoS in Phase 1 (QoS Translations)

Layered Translation of QoS parameters (must be bidirectional)


(user QoS) application QoS Application QoS system QoS System QoS network QoS
Human

Media Scaling
Transparent

scaling Non-transparent scaling


CS 414 - Spring 2008

Layered Translation (Example)

CS 414 - Spring 2008

Media Scaling (Examples)

Audio
Transparent

scaling difficult (one hears the quantization noise) Non-transparent scaling should be used

Video
Temporal

scaling Spatial scaling Color space scaling (reduction of number of entries in color space)
CS 414 - Spring 2008

QoS Negotiation

CS 414 - Spring 2008

Different Types of Negotiation Protocols

Bilateral Peer-to-Peer Negotiation


Negotiation

of QoS parameters between equal peers in the same layer of QoS parameters between

Triangular Negotiation
Negotiation

layers

Triangular Negotiation with Bounded Value


CS 414 - Spring 2008

Bilateral QoS Negotiation

CS 414 - Spring 2008

Triangular QoS Negotiation

CS 414 - Spring 2008

Triangular Negotiation with Bounded Value

CS 414 - Spring 2008

QoS Routing
Node B Node A 10G 100M 2G 100M

2G
1G 10G 2G 2G

200 M

10G

10G

1G = 1Gbps 10G = 10 Gbps 100 M = 100 Mbps

End Node
CS 414 - Spring 2008

Network Router

QoS Routing
Node A 10G 100M

If QoS Request on a connection from Node A to B is 150 Mbps, the QoS Routing question is -Does a route from A to B exist that satisfies the QoS requirement? - What is the best route?
Node B 2G 100M 200 M

2G
1G 10G 2G 2G

10G

10G

1G = 1Gbps 10G = 10 Gbps 100 M = 100 Mbps

End Node
CS 414 - Spring 2008

Network Router

QoS Routing
Performed during establishment phase mostly, but also during transmission phase to adapt a route if needed Need to discover route (path) that meets QoS requirements such as throughput, end-to-end delay, loss rate

End-to-end

Throughput is a min-based metric End-to-end Delay is additive metric

CS 414 - Spring 2008

Unicast QoS Routing

Problem Formulation:
Given

a source node A, destination B, a set of QoS constraints C, and possibly an optimization goal, we aim to find the best feasible path from A to B which satisfies C.

Bandwidth-optimization problem: to find a path that has the largest bandwidth on the bottleneck link (widest path) Bandwidth-constrained problem: to find a path whose bottleneck bandwidth is above a required threshold value Delay-optimized problem: to find a path whose total delay is minimized Delay-constrained problem: to find a path whose delay is bounded by a required value.
CS 414 - Spring 2008

QoS Routing Strategies

Source Routing

Each node maintains global state and feasible path is locally computed at the source node

Distributed Routing

Control messages exchanged among nodes and the state information kept at each node is collectively used for the path search

Hierarchical Routing

Nodes are clustered into groups creating multi-level hierarchy One can use source routing within a cluster and distributed routing among clusters
CS 414 - Spring 2008

Multimedia Resource Management

Resource managers with operations and resource management protocols

Various operations must be performed by resource managers in order to provide QoS

Establishment Phase

Operations are executed where schedulable units utilizing shared resources must be admitted, reserved and allocated according to QoS requirements

Enforcement Phase

Operations are executed where reservations and allocations must be enforced, and adapted if needed
CS 414 - Spring 2008

Establishment Phase Operations


QoS to Resource Mapping


Need

translation profiles

Resource Admission
Need

admission tests to check availability of shared resources reservation mechanisms along the end-toend path to keep information about reservations

Resource Reservation
Need

Resource Allocation
CS 414 - Spring 2008

Continuous Media Resource Model


One possible resource utilization model for multimedia data Linear Bounded Arrival Process Model (LBAP) LBAP models message arrival process:

maximum message size (in bytes) R maximum message rate in messages per second B maximum burstiness (accumulation of messages)
M
CS 414 - Spring 2008

LBAP Resource Model

If we have (M,R,B), we can predict utilization of resources:


Maximum

number N of messages arriving at the resource: N = B + R x TimeInterval Maximal Average Rate R (in bytes per second): R = M x R Maximal Buffer Size (BS in bytes): BS = M x (B+1)
CS 414 - Spring 2008

Example of LBAP

Consider M = 1176 Bytes per message, R = 75 messages per second, B = 10 messages During a time interval of 1 second, the maximum number of messages arriving at a resource must not exceed N = 10 messages + (75 messages/second * 1 second) = 85 messages Maximum average data rate in bytes per second is R = 1176 bytes * 10 messages/second = 88200 bytes/second Maximum buffer size in bytes in BS = 1176 bytes * (10 messages + 1) = 12936 bytes
CS 414 - Spring 2008

Admission Tests

Task schedulability tests for CPUs

This is done for delay guarantees

Packet schedulability tests for sharing host interfaces, switches

This is done for delay and jitter guarantees

Spatial tests for buffer allocation

This is done for delay and reliability guarantees

Link bandwidth tests


This

is done for throughput guarantees


CS 414 - Spring 2008

Resource Reservation and Allocation

Two types of reservations


Pessimistic

approach - Worst case reservation of resources Optimistic approach - Average case reservation of resources

To implement resource reservation we need:


Resource

table

to capture information about managed table (e.g., process management PID table)

Reservation

table function

to capture reservation information to map QoS to resources and operate over reservation table
CS 414 - Spring 2008

Reservation

Resource Reservation

Two types of reservation styles:


Sender-initiated

reservation Receiver-initiated reservation

CS 414 - Spring 2008

Covered Aspects of Multimedia


Image/Video Capture
Audio/Video Perception/ Playback Audio/Video Presentation Playback

Image/Video Information Representation

Transmission
Audio Capture Compression Processing

Transmission

Audio Information Representation

Media Server Storage

A/V Playback

CS 414 - Spring 2012

Multimedia System/Network
Sender MM Application OS/DS/Network Receiver MM Application OS/DS/Network

Network

CS 414 - Spring 2012

Relation between QoS and Resources (Phase 1) Admission,


Reservation Translation, Negotiation

CS 414 - Spring 2012

Phase 1: Establishment Phase


(QoS Operations)

QoS Translation at different Layers


User-Application Application-OS/Transport

Subsystem

QoS Negotiation
Negotiation

of QoS parameters among two peers/components

CS 414 - Spring 2012

Phase 1: Connection Establishment


Sender MM Application OS/DS/Network
Logical Negotiation of Network QoS Parameters Logical Negotiation of Application QoS Parameters

Receiver MM Application OS/DS/Network

Translation

Physical Transmission of Negotiation Parameters

Network

CS 414 - Spring 2012

QoS Operations within Establishment Phase

User/Application QoS Translation

Overlay P2P QoS Negotiation Application/Transport QoS Translation

QoS Negotiation in Transport Subsystem

CS 414 - Spring 2012

Example

Video Stream Quality:


Frame

size: 320x240 pixels, 24 bits (3 Bytes per pixel) Application frame rate RA: 20 fps

Translate to Network QoS if


Assume

network packet size is 4KBytes Network packet rate (RN):= 320x240x3x20 bytes / 4096 bytes

CS 414 - Spring 2012

Layered Translation (Example)

CS 414 - Spring 2012

QoS Negotiation

CS 414 - Spring 2012

Different Types of Negotiation Protocols

Bilateral Peer-to-Peer Negotiation


Negotiation

of QoS parameters between equal peers in the same layer of QoS parameters between

Triangular Negotiation
Negotiation

layers

Triangular Negotiation with Bounded Value


CS 414 - Spring 2012

Bilateral QoS Negotiation

CS 414 - Spring 2012

Triangular QoS Negotiation

CS 414 - Spring 2012

Triangular Negotiation with Bounded Value

CS 414 - Spring 2012

Triangular Negotiation Protocol (Pseudo-Code Example)


Caller Callee Caller Pseudo-Code

Network-Service Provider Pseudo-Code

Callee Pseudo-Code

CS 414 - Spring 2012

Multimedia Resource Management

Resource managers with operations and resource management protocols

Various operations must be performed by resource managers in order to provide QoS

Phase 1: Establishment Phase (resource operations)

Operations are executed where schedulable units utilizing shared resources must be admitted, reserved and allocated according to QoS requirements

Phase 2: Enforcement Phase

Operations are executed where reservations and allocations must be enforced, and adapted if needed
CS 414 - Spring 2012

Phase 1: Resource Preparation Operations

QoS to Resource Mapping Need translation or profiling (e.g., how much processing CPU cycles, i.e., processing time, it takes to process 320x240 pixel video frame) Resource Admission Need admission tests to check availability of shared resources Resource Reservation Need reservation mechanisms along the end-toend path to keep information about reservations Resource Allocation
CS 414 - Spring 2012

Phase 1: Connection Establishment


Sender MM Application OS/DS/Network
System Resource Admission and Reservation

Logical Negotiation of App QoS Parameters Translation Logical Negotiation of Net QoS Parameters

Receiver MM Application OS/DS/Network

Physical Transmission of Negotiation Parameters Network Network Resource Reservation Protocol


Network Resource Admission and Resource Reservation

CS 414 - Spring 2012

Admission Tests

Task (System) schedulability tests for CPU resources

This is done for delay guarantees

Network Packet schedulability tests for sharing host network interfaces, network switches

This is done for network delay and jitter guarantees

Spatial tests for memory/buffer allocation

This is done for delay and reliability guarantees

Network Link bandwidth tests This is done for network throughput guarantees
CS 414 - Spring 2012

Resource Reservation and Allocation

Two types of reservations


Pessimistic

approach - Worst case reservation of resources Optimistic approach - Average case reservation of resources

To implement resource reservation we need:


Resource

table

to capture information about managed table (e.g., process management PID table)

Reservation

table function

to capture reservation information to map QoS to resources and operate over reservation table
CS 414 - Spring 2012

Reservation

Resource Reservation

Two types of reservation styles:


Sender-initiated

reservation Receiver-initiated reservation

CS 414 - Spring 2012

Relation between QoS and Resources (Phase 2) Admission,


Reservation Translation, Negotiation

Compression

Scheduling, Rate Control, Error Control Flow Control QoS Management

CS 414 - Spring 2012

Phase 2: Media Processing and Transmission


Sender MM Application OS/DS/Network
System Resource Scheduling Rate Control Flow Control

Receiver MM Application
Error Control

OS/DS/Network

Physical Transmission of Media Network


Network Resource Scheduling
CS 414 - Spring 2012

Phase 2: Enforcement Operations

Resource scheduling
Example: rate-monotonic scheduling

Rate control traffic shaping


Example:

leaky bucket forward error correction

End-to-end error control


Example:

Flow control
Open

loop flow control (no feedback) Close look flow control (with feedback channel)
CS 414 - Spring 2012

QoS Management during Transmission Phase

Resource and QoS Monitoring


Flexibility, i.e., monitoring should be turned on/off
Two

types of monitoring

User-mode monitoring Network-mode monitoring

QoS Maintenance
Compares

monitored QoS with contract QoS

QoS Degradation
graceful

degradation needed
CS 414 - Spring 2012

QoS Management during Transmission Phase

QoS Renegotiation and Signaling


In

case QoS parameters need to change, renegotiation must be initiated a result of re-negotiation request (request for change in quality) adaptation in QoS and resource allocation must happen

QoS/Resource Adaptation
As

CS 414 - Spring 2012

QoS/Resource Adaptation

Renegotiation request can come from


User Host

system Network

Resource adaptation
Network

adaptation (e.g., dynamic re-routing mechanism) Source adaptation (e.g., temporal scaling with feedback)
CS 414 - Spring 2012

Resource De-allocation TearDown Phase


Reserved Resource must be freed up once multimedia session is over Tear-down process

Sender-initiated

closing (release reservation) Receiver-initiated closing (release reservation)

CS 414 - Spring 2012

Conclusion Current State of Art

Lack of mechanisms to support QoS guarantees


Need

research in distributed control, monitoring, adaptation and maintenance of QoS mechanisms QoS frameworks for heterogeneous environments (diverse networks, diverse devices, diverse OS)
CS 414 - Spring 2012

Lack of overall frameworks


Need

You might also like