22
CS 414 - Spring 2012 CS 414 – Multimedia Systems Design Lecture 29 – Buffer Management (Part 2) Klara Nahrstedt Spring 2012

CS 414 – Multimedia Systems Design Lecture 29 – Buffer Management (Part 2)

  • Upload
    dee

  • View
    40

  • Download
    0

Embed Size (px)

DESCRIPTION

CS 414 – Multimedia Systems Design Lecture 29 – Buffer Management (Part 2). Klara Nahrstedt Spring 2012. Administrative. MP2 posted MP2 Deadline – April 7, Saturday, 5pm. Covered Aspects of Multimedia. Audio/Video Presentation Playback. Image/Video Capture. Audio/Video - PowerPoint PPT Presentation

Citation preview

Page 1: CS 414 – Multimedia Systems Design Lecture 29 –  Buffer Management (Part 2)

CS 414 - Spring 2012

CS 414 – Multimedia Systems Design Lecture 29 – Buffer Management (Part 2)

Klara Nahrstedt

Spring 2012

Page 2: CS 414 – Multimedia Systems Design Lecture 29 –  Buffer Management (Part 2)

Administrative MP2 posted MP2 Deadline – April 7, Saturday, 5pm.

CS 414 - Spring 2012

Page 3: CS 414 – Multimedia Systems Design Lecture 29 –  Buffer Management (Part 2)

Covered Aspects of Multimedia

Image/VideoCapture

MediaServerStorage

Transmission

CompressionProcessing

Audio/VideoPresentationPlaybackAudio/Video

Perception/ Playback

Audio InformationRepresentation

Transmission

AudioCapture

A/V Playback

Image/Video InformationRepresentation

CS 414 - Spring 2012

Page 4: CS 414 – Multimedia Systems Design Lecture 29 –  Buffer Management (Part 2)

Multimedia Protocols: Layered Code

CS 414 - Spring 2012

Sampling/Encoding Streaming Application

Real-time Transport Protocol (Packetization/And Segmentation)

UDP

IP

Ethernet

Segmentation

Segmentation

Decoding/Playout Streaming Application

Real-time Transport Protocol (De-PacketizationAnd Re-assembly)

UDP

IP

Ethernet

Re-assembly

Reassembly

SENDER RECEIVER

NETWORK

S

T3T1

T2

Multicast

T1

T2T3

Multi-Traget

S T

Unicast

Page 5: CS 414 – Multimedia Systems Design Lecture 29 –  Buffer Management (Part 2)

Sender/Receiver Curves for Transmission of Voice over Packet-switched network may cause packet losses

CS 414 - Spring 2012

ps(t)

bs(t) r(t)

pr(t)bytes

Lateloss

Page 6: CS 414 – Multimedia Systems Design Lecture 29 –  Buffer Management (Part 2)

Protocol Requirements on Buffer Management (Summary) Protocol Requirement: Segmentation

Splitting of service data units (SDU) Identification of each split SDU

Protocol Requirement: Reassembly Linking memory to form one buffer

Protocol Requirement: Retransmission (in case of TCP) Maintain logical copy of buffer to store SDU for possible

retransmission

Protocol Requirement: Multicast 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 2012

Page 7: CS 414 – Multimedia Systems Design Lecture 29 –  Buffer Management (Part 2)

Buffer Management Techniquesfor Layered Code in Multimedia Protocol Stack Data Copying Offset Management Scatter-Gather

CS 414 - Spring 2012

Page 8: CS 414 – Multimedia Systems Design Lecture 29 –  Buffer Management (Part 2)

Data Copying

CS 414 - Spring 2012

Transport Service Entity(UDP)

Copy data

Network Service Entity(IP)

Buffer for UDP Datagram

Kernel

User space

RTP StreamingService

Buffer for RTPProtocol Data Unit

Buffer for IP Datagram

Buffer Management System at Receiver

Copy data

Page 9: CS 414 – Multimedia Systems Design Lecture 29 –  Buffer Management (Part 2)

Data Copying and Offset Management

CS 414 - Spring 2012

PCI1 Data

Data

PCI1 DataPCI2

App

RTP

UDP

DATA COPYING

1. app2. PCI1 added by RTP

3. PCI2 added by UDP

1. data2. PCI13. PCI2OFFSET MANAGMENT

Buffer Management: Assign as large buffer as data + all headers of the protocols require

Problems:???

Problems:???

Buffer Management: Copy data and PCIsbetween protocol layers

Page 10: CS 414 – Multimedia Systems Design Lecture 29 –  Buffer Management (Part 2)

Scatter-Gather

CS 414 - Spring 2012

Scatter/GatherTable Structure

DATAData PTR1

PCI1

PCI1 PTR2

PCI2

PCI2 PTR3

Application Buffer Space

RTP BufferSpace

UDP BufferKernel Space

Problems: ???

Buffer Management: Establish scatter/gatherTable structure across all protocol layers to keep Track where payload (data) and control info (PCIs)Are located

Page 11: CS 414 – Multimedia Systems Design Lecture 29 –  Buffer Management (Part 2)

Comparison

CS 414 - Spring 2012

Data Copying Offset Scatter/Gather

Memory BW High Low Low

CPU BW High Low Low

Memory Usage per Layer

Optimal for 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 Requirements without copying satisfied?

NA No, segmentation needs copying

Mostly yes(one copy and segmentation must be done when data leaves node)

Page 12: CS 414 – Multimedia Systems Design Lecture 29 –  Buffer Management (Part 2)

Client-Server Systems: Distributed Application Code

CS 414 - Spring 2012

Read encoded frames from VOD Disk

PacketizationProtocol Stack Processing

network

De-PacketizationProtocol Stack Processing

Decoderplayout

VOD Server

VOD Client

Page 13: CS 414 – Multimedia Systems Design Lecture 29 –  Buffer Management (Part 2)

Client/Server Video-on-Demand System

CS 414 - Spring 2011

Page 14: CS 414 – Multimedia Systems Design Lecture 29 –  Buffer Management (Part 2)

VOD Retrieval Transmission and Playout Curves

CS 414 - Spring 2012

time

bytes Retrieval curveFrom disk

SendingCurve fromVOD server

ReceivingCurve at VOD Client

Playout CurveAt VOD Client

Playoutbuffers

Page 15: CS 414 – Multimedia Systems Design Lecture 29 –  Buffer Management (Part 2)

Playout Buffers Goal: face effects caused by Network delay, delay

jitter, packet loss on continuous media streamsBy using QoS-aware network technologies (RSVP,

DiffServ, ATM, …) not widely adapted

By using adaptive playout control techniques Face unpredictability of IP networks by compensating for

variable network delays and jitters experienced during the transmission of media packets

CS 414 - Spring 2012

Page 16: CS 414 – Multimedia Systems Design Lecture 29 –  Buffer Management (Part 2)

Adaptive Playout Control Mechanisms Delay jitter is smoothed away by

Employing playout buffer at the receiverDynamically enqueueing packets into it

Playout buffer Delays received packets for some time to allow smooth

media packet playout rate, Absorbs negative effects introduced by delay jitterMust be adaptive since delay jitter on Internet may vary

significantly with time.

CS 414 - Spring 2012

Page 17: CS 414 – Multimedia Systems Design Lecture 29 –  Buffer Management (Part 2)

Playout Delays

CS 414 - Spring 2012

Small Playout Delay Large Playout Delay

Page 18: CS 414 – Multimedia Systems Design Lecture 29 –  Buffer Management (Part 2)

Buffer Management Techniques for VOD Client Consider time of buffer setup

Fixed Buffer TechniqueDynamic Buffer Technique

Consider size of bufferMinBufMaxBuf

CS 414 - Spring 2012

Page 19: CS 414 – Multimedia Systems Design Lecture 29 –  Buffer Management (Part 2)

Buffer Management Strategies

Clients need buffers for VOD (Video-on-Demand) application to smooth out traffic jitters

Buffer management strategies balance bits in transit (buffer size and bits in channel)

Fixed Strategy (non-adaptive) and dynamic (adaptive)

CS 414 - Spring 2012

Page 20: CS 414 – Multimedia Systems Design Lecture 29 –  Buffer Management (Part 2)

Buffer Management Strategies Fixed buffer strategy

Static buffer allocation during multimedia call setup phase

Static buffer allocation does not change during run-time

Dynamic buffer strategyElastic buffer allocation , i.e., allocate buffers during

multimedia call setup, but change them during run-time

CS 414 - Spring 2012

Page 21: CS 414 – Multimedia Systems Design Lecture 29 –  Buffer Management (Part 2)

Buffering Strategies at VOD Client Minbuf - minimum buffering strategy

Minbuf minimizes buffering requirements at VOD client, but makes more demands on network (throughput and delay guarantees)

Maxbuf – maximum buffering strategyMaxbuf buffers more than one unit of information

and eases QoS guarantees demands on networkBuffering only up to a limit (Bufmax)

CS 414 - Spring 2012

Page 22: CS 414 – Multimedia Systems Design Lecture 29 –  Buffer Management (Part 2)

Conclusion Need buffering consideration in layered code

of multimedia protocol stack Data copyingOffset managementScatter-gather

Need buffering consideration in distributed code of multimedia applications , e.g., Video-on-Demand (VOD) serviceBuffering at the VOD client sideSome buffering needed also at VOD Server side

CS 414 - Spring 2012