Buffer Management

Download Report

Transcript Buffer Management

CS 414 – Multimedia Systems Design
Lecture 30 –
Final Comments on DASH and
Client-Server Buffer Management
Klara Nahrstedt
Spring 2014
CS 414 - Spring 2014
Administrative


MP2 posted
MP2 Deadline – April 12, Saturday, 5pm.
CS 414 - Spring 2014
DASH AND INTERNET VIDEO
CS 414 - Spring 2014
Media Presentation Data Model
MDP - description of accessible segments and corresponding timing
Media Segments (2)
Media segment
duration
advantages
disadvantages
Short duration
Commonality with live
high switching
granularity on segment
level
- Large number of files
- Large number of
URLs
- Fixed request size
- Switching granularity
on segment level
Long duration
- Small number of files
- Small number of URLs
- High switching
granularity
- Flexible request sizes
- Improved cache
performance
- Need for segment
index
- Difference from live
CS 414 - Spring 2014
Segment Indexing

Provides information in ISO box structure on
 Accessible
units of data (e.g., frames) in media segment
 Byte range in segments (easy access through HTTP
GET)
 Accurate presentation duration (seamless switching)
 Presence of representation access positions

Provides compact bitrate-over-time to client
 Can


be used for intelligent request schedule
Generic data structure
Hierarchical structuring for efficient access
CS 414 - Spring 2014
Media Segment with Segment
Index
CS 414 - Spring 2014
MPEG-DASH Summary







Is rich and simple at the same time
Supports both un-chunked and chunked
Supports both separate and combined AV
Index formats for efficient byte range operation
ISO base media file format w/common
encryption
Many useful stream and track annotations
Currently – best candidate for open standard
for adaptive streaming in video-on-demand
services
CS 414 - Spring 2014
MULTIMEDIA BUFFERING
ISSUES
CS 414 - Spring 2014
Covered Aspects of Multimedia
Image/Video
Capture
Audio/Video
Perception/
Playback
Audio/Video
Presentation
Playback
Image/Video Information
Representation
Transmission
Audio
Capture
Transmission
Compression
Processing
Audio Information
Representation
Media
Server
Storage
CS 414 - Spring 2014
A/V
Playback
Motivation for Buffering
Buffers are temporary holding areas of
RAM that contain transferable data.
 In multimedia systems, transferable data
occur when

 Transmitting
multimedia from sender to
receiver over Internet
 Transferring multimedia from disk to RAM
 Transferring multimedia RAM to I/O Devices
CS 414 - Spring 2014
Layered Code in Multimedia Systems
RECEIVER
SENDER
Sampling/Encoding
Streaming Application
Decoding/Playout
Streaming Application
Real-time Transport
Protocol (RTP)
(Packetization)
Real-time Transport
Protocol (DePacketization)
UDP
UDP
IP
IP
Ethernet
Ethernet
CS 414 - Spring 2014
Protocol Requirements on Buffer Management
(Summary)

Protocol Requirement: Segmentation



Protocol Requirement: Reassembly


Maintain logical copy of buffer to store SDU for possible
retransmission
Protocol Requirement: Multicast


Linking memory to form one buffer
Protocol Requirement: Retransmission (in case of TCP)


Splitting of service data units (SDU)
Identification of each split SDU
Keep one buffer for all recipients and use multicast group
address
Protocol Requirement: Multi-target

Keep one memory segment common to all buffers
CS 414 - Spring 2014
End-to-end Processing and Transmission of
Digital Media Signals
Sampling
A/D
ps(t)
encoder
e(t)
packetization
Analog
Media
signal
pr(t)
bs(t)
network
playout
d(t)
r(t)
Dec oder
Depacketization
br(t)
p(t) – amount of captured/playout bits at time t; e(t), d(t) amount of encoded/decoded
bits at time t; b(t) - amount of clustered bits at time t
CS 414 - Spring 2014
Example: Sender and Receiver Curves for
transmission of CBR signal (digital speech with 64
kbps over a circuit-switched network)
buffering
bytes
ps(t)
br(t)
pr(t)
bs(t)
time
CS 414 - Spring 2014
Sender/Receiver Curves for Transmission of Voice
over Packet-switched network
bytes
ps(t)
pr(t)
bs(t)
r(t)
Late
loss
CS 414 - Spring 2014
Outline
Protocol Requirements on Buffer
Management
 Buffer Management

 Data
Copying
 Offset Management
 Scatter/Gather System

Buffering Strategies
 Minbuf
 Maxbuf
CS 414 - Spring 2014
Buffer Management




Buffers can be viewed as spatial representation
of time
Buffer plays very important role in smoothing
traffic
Network protocols buffer their service data units
(SDUs) and use data copying when going from
one protocol layer to another
Moving data using data copying is very
expensive
CS 414 - Spring 2014
Data Copying
RTP
Streaming
Service
Buffer for
RTP
Protocol Data Unit
User space
Copy data
Kernel
Transport
Service Entity
(UDP)
Buffer for
UDP Datagram
Copy data
Network
Service Entity
(IP)
Buffer for
IP Datagram
CS 414 - Spring 2014
Buffer Management
System at Receiver
Layered Code in Multimedia Systems
RECEIVER
SENDER
Sampling/Encoding
Streaming Application
Decoding/Playout
Streaming Application
Real-time Transport
Protocol (Packetization/
And Segmentation)
Real-time Transport
Protocol (De-Packetization
And Re-assembly)
UDP
UDP
Re-assembly
Segmentation
IP
IP
Segmentation
Reassembly
Ethernet
Ethernet
NETWORK
CS 414 - Spring 2014
Protocol Requirements on Buffer
Management and Segmentation
Protocol Requirements
Service Data Unit (SDU)
Example:
Application Data Unit – Video I frame
That comes out of encoder
SEGMENTATION
PCI
SDU1
PCI
Buffer Management:
Keep identification (PCI) to which
application data unit the segment
belongs
SDU2
CS 414 - Spring 2014
Example:
I frame gets split into two
RTP datagrams
Reassembly and Retransmission
Requirements on Buffer Management
SDU1
SDU2
REASSEMBLY
PCI
SDU1
PCI
SDU2
Buffer Management: support linking of memory to form one buffer
RETRANSMISSION
Buffer Management : logical copy of buffer must exist to store SDUs for
Possible retransmission
CS 414 - Spring 2014
Multi-cast and Multi-target
requirements on Buffer Management
Multicast
S
PCI -Group
T3
T1
SDUi
Buffer Management: Keep only
One buffer for all recipients
Use Multicast Group address (PCI-Group)
T2
Multi-Traget
PCI-T1
PCI-T2
T1
T3
T2
PCI-T3
CS 414 - Spring 2014
Buffer Management:
Keep one memory segment
Common to all buffers
SDUi
Buffer Management Techniques
Data
DATA COPYING
Buffer Management: Copy data and PCIs
between protocol layers
Problems:???
OFFSET MANAGMENT
PCI1
PCI2
3. PCI2 2. PCI1
Buffer Management: Assign as large buffer as
data + all headers of the protocols require
Problems:???
CS 414 - Spring 2014
PCI1
1. data
Data
Data
App
RTP
UDP
1. app
2. PCI1 added
by RTP
3. PCI2 added by
UDP
Buffer Management Techniques
(Scatter-Gather)
Data PTR1
DATA
Application
Buffer Space
PCI1
RTP Buffer
Space
PCI2
UDP Buffer
Kernel Space
PCI1 PTR2
PCI2 PTR3
Scatter/Gather
Table Structure
Buffer Management: Establish scatter/gather
Table structure across all protocol layers to keep
Track where payload (data) and control info (PCIs)
Are located
Problems: ???
CS 414 - Spring 2014
Comparison
Data Copying
Offset
Scatter/Gather
Memory BW
High
Low
Low
CPU BW
High
Low
Low
Memory Usage Optimal for
per Layer
individual
protocol layer
because exact
amount of
space will be
allocated
High for
application
protocol
because it
must allocate
space more
than it needs
Compromise,
segments are
sized
depending on
requirements
Are Protocol
NA
Requirements
without copying
satisfied?
No,
segmentation
needs copying
Mostly yes
(one copy and
segmentation
must be done
when data
leaves node)
CS 414 - Spring 2014
Conclusion
Need buffering at VOD client side
 Some buffering needed also at VOD
Server side

 Can

use FIFO techniques
Reservation memory schemes are
possible
 Implemented

in system, called RK (CMU)
Will talk about VOD server in next
lectures
CS 414 - Spring 2014