Professional Documents
Culture Documents
Klara Nahrstedt
Outline
Requirements on Multimedia Communication and Operating Systems Real-time and multimedia Resource management
Resources Quality
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
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
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
Real-time system system in which correctness of computation depends not only on obtaining the right results, but also providing them on time
Examples:
Deadline represents the latest acceptable time for the result delivery
Soft
tolerance and security Soft deadlines versus hard deadlines Periodic behavior versus random behavior Bandwidth requirements
Layered Partition of Multimedia Systems with respect to Required Resources and Individual Services
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
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
QoS Classes
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
QoS1 required value; QoS2 desired value Example: <QoSavg,QoSpeak>; <QoSmin, QoSmax>
Example:
<QoSpeak,
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
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
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
Media Scaling
Transparent
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
Outline
Requirements on Multimedia Communication and Operating System Real-time and multimedia Resource management
Resources Quality
Subsystem
QoS Negotiation
Negotiation
Media Scaling
Transparent
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
of QoS parameters between equal peers in the same layer of QoS parameters between
Triangular Negotiation
Negotiation
layers
QoS Routing
Node B Node A 10G 100M 2G 100M
2G
1G 10G 2G 2G
200 M
10G
10G
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
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
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
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
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
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
maximum message size (in bytes) R maximum message rate in messages per second B maximum burstiness (accumulation of messages)
M
CS 414 - Spring 2008
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
approach - Worst case reservation of resources Optimistic approach - Average case reservation of resources
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
Transmission
Audio Capture Compression Processing
Transmission
A/V Playback
Multimedia System/Network
Sender MM Application OS/DS/Network Receiver MM Application OS/DS/Network
Network
Subsystem
QoS Negotiation
Negotiation
Translation
Network
Example
size: 320x240 pixels, 24 bits (3 Bytes per pixel) Application frame rate RA: 20 fps
network packet size is 4KBytes Network packet rate (RN):= 320x240x3x20 bytes / 4096 bytes
QoS Negotiation
of QoS parameters between equal peers in the same layer of QoS parameters between
Triangular Negotiation
Negotiation
layers
Callee Pseudo-Code
Operations are executed where schedulable units utilizing shared resources must be admitted, reserved and allocated according to QoS requirements
Operations are executed where reservations and allocations must be enforced, and adapted if needed
CS 414 - Spring 2012
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
Logical Negotiation of App QoS Parameters Translation Logical Negotiation of Net QoS Parameters
Admission Tests
Network Packet schedulability tests for sharing host network interfaces, network switches
Network Link bandwidth tests This is done for network throughput guarantees
CS 414 - Spring 2012
approach - Worst case reservation of resources Optimistic approach - Average case reservation of resources
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
Compression
Receiver MM Application
Error Control
OS/DS/Network
Resource scheduling
Example: rate-monotonic scheduling
Flow control
Open
loop flow control (no feedback) Close look flow control (with feedback channel)
CS 414 - Spring 2012
types of monitoring
QoS Maintenance
Compares
QoS Degradation
graceful
degradation needed
CS 414 - Spring 2012
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
QoS/Resource Adaptation
system Network
Resource adaptation
Network
adaptation (e.g., dynamic re-routing mechanism) Source adaptation (e.g., temporal scaling with feedback)
CS 414 - Spring 2012
Sender-initiated
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