Multimedia storage servers a tutorial
This presentation is the property of its rightful owner.
Sponsored Links
1 / 26

Multimedia Storage Servers: A Tutorial PowerPoint PPT Presentation


  • 100 Views
  • Uploaded on
  • Presentation posted in: General

Multimedia Storage Servers: A Tutorial. D. James Gemmell, Harrick M. Vin, Dilip D. Kandlur, P. Venkat Rangan, Lawrence A. Rowe (IEEE Computer, May 1995). Presented by Hoang Nguyen. CS59KN – 2 nd Presentation. Introduction & Motivation. Server. Client. Buffers. Buffers. Graphics/video

Download Presentation

Multimedia Storage Servers: A Tutorial

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Multimedia storage servers a tutorial

Multimedia Storage Servers: A Tutorial

D. James Gemmell, Harrick M. Vin, Dilip D. Kandlur, P. Venkat Rangan, Lawrence A. Rowe

(IEEE Computer, May 1995)

Presented by Hoang Nguyen

CS59KN – 2nd Presentation


Introduction motivation

Introduction & Motivation

Server

Client

Buffers

Buffers

Graphics/video

hardware

Buffers

Buffers

Audio hardware

Storage

Network


Requirements

Requirements

  • Real-time Storage and Retrieval

    • Recording

      • CM recording devices generate continuous stream of media quanta that must be stored in realtime.

    • Playback - Reverse operation of recording

      • Media Quanta must be presented using the same timing sequence with which they were captured.

  • High Data Transfer Rate and Large Storage Space

    • HDTV quality - 81Mbytes/sec

    • NTSC quality - 27Mbytes/sec


  • Continuous media recording and playback

    Continuous Media Recording and Playback

    Quanta Read from server disk

    Quanta Buffered

    Quanta Consumed

    (data must be displayed in a smooth and timely fashion)

    Time

    Server Challenge - to ensure continuous retrieval of media stream


    Playback

    Playback

    • Single Stream Playback

      • Continuous playback assured by buffering entire stream before playback - Inefficient !!!

      • To efficiently service a single stream, solve 3 problems

        • Prevent Starvation

        • Minimize Buffer Space Requirement

        • Minimize initiation latency

    • Multistream Playback - Server must process

      • Retrieval requests for several streams simultaneously. Possible solutions:

        • dedicate a disk head to each stream - inefficient.

        • Multiplex streams per disk

      • Multiple retrieval requests for the same stream


    Supporting continuous media

    Supporting Continuous Media

    • Goal - Constant and timely retrieval of data

    • Approaches:

      • Special disk scheduling algorithms

      • Buffering

        • Avoid starvation and jitter

        • For maximum consumption

      • Admission control

      • Proper management of multimedia disk storage

        • results in optimized organization (placement) of multimedia files on disk


    Outline

    Outline

    • Goal - Constant and timely retrieval of data

    • Approaches:

      • Special disk scheduling algorithms

      • Buffering

        • Avoid starvation and jitter

        • For maximum consumption

      • Admission control

      • Proper management of multimedia disk storage

    • Implementing Multimedia File System


    Disk scheduling algorithm

    Disk Scheduling Algorithm

    • Goal of scheduling in traditional filesystems

      • reduce cost of seek time

      • achieve high throughput

      • provide fair disk access

    • Goal of scheduling in MM Filesystems

      • meet deadlines of all time critical tasks

      • keep necessary buffer requirements low

      • serve many streams concurrently

      • find balance between time constraints and efficiency


    Edf scheduling algorithm

    EDF Scheduling Algorithm

    • Problem

      • poor throughput and excessive seek time

      • Preemptive algorithm - hence has high overhead

      • EDF must be combined or adapted with file system strategies

    3

    30

    2

    16

    3

    50

    t

    2

    42

    3

    24

    1

    45

    3

    30

    2

    16

    3

    30

    1

    12

    2

    16

    3

    50

    3

    50

    3

    50

    2

    40

    2

    42

    3

    50

    2

    42

    1

    45

    2

    42

    1

    22

    1

    45

    1

    12

    50

    2

    40

    1

    12

    16

    2

    40

    2

    40

    42

    2

    40

    40

    1

    22

    45

    12

    22

    20


    Scan edf scheduling algorithm

    SCAN-EDF Scheduling Algorithm

    Deadline + N_i/Nmax

    • Combination of SCAN with EDF

      • With EDF - request with earliest deadline is served

      • Among requests with the same deadline, choose based on SCAN direction

    3.30

    30

    2.16

    16

    3.50

    50

    t

    2.42

    42

    3.30

    30

    1.45

    45

    2.16

    16

    3.50

    50

    3.50

    50

    1.12

    12

    3.50

    50

    2.42

    42

    2.42

    42

    2.42

    42

    2.40

    40

    1.45

    45

    2.42

    42

    2.40

    40

    1.12

    12

    2.40

    40

    1.22

    22

    2.40

    40

    42

    1.45

    45

    2.40

    40

    16

    1.22

    22

    40

    1.22

    22

    45

    Deadline 2

    22

    12

    Deadline 1

    Nmax = 100


    Scan edf enhancements

    SCAN-EDF Enhancements

    (N_i-N)/Nmax

    if (N_i  N)

    Head moves upwards

    N_i

    0

    N_max

    N_i

    N

    (Nmax-N_i)/Nmax

    if (N_i < N)

    Head moves downwards

    N_i/Nmax

    if (N_i  N)

    N_i

    0

    N_max

    N_i

    N

    (N-N_i)/Nmax

    if (N_i < N)


    Trade off between round length and latency

    Trade-off between round-length and latency


    Group sweeping algorithm

    Group Sweeping Algorithm

    • Group Sweeping Algorithm

      • Streams are divided into groups.

      • Groups are served in round-robin manner.

      • SCAN for each group.

      • Server can balance the trade-off


    Group sweeping algorithm cont

    Group Sweeping Algorithm (cont)

    3.4

    24

    3.3

    30

    Disk access requests in one cycle

    with deadline

    deadline

    blocknumbers

    2.0

    16

    3.3

    50

    2.2

    42

    1.2

    45

    1.4

    12

    Deadline 3.3

    2.4

    40

    Deadline 1.1

    Deadline 2.0

    1.1

    22

    2.0

    16

    3.4

    24

    1.4

    12

    2.2

    42

    3.3

    30

    1.2

    45

    2.4

    40

    3.3

    50

    1.1

    22

    Group 2

    Group 3

    Group 1

    scan

    scan

    scan

    42

    40

    16

    24

    30

    30

    12

    22

    45


    Buffering

    Buffering

    • Avoid starvation and jitter

      • Sufficient blocks per round

        • Enough for longest possible round length

        • Minimize round length

    • For Maximum Consumption

      • Topped up strategy

      • Variable read amount


    Admission control

    Admission Control

    • Deterministic Admission Control

      • All deadlines guaranteed to be met.

      • Consider worst case scenarios when admitting new streams

      • Low utilization

    • Statistical Admission Control

      • Deadlines guaranteed to be met with certain probability

      • Consider system’s statistical behavior

    • Background

      • No guarantee for meeting deadlines


    Managing mm storage

    Managing MM Storage


    Data placement schemes

    Data Placement Schemes

    Contiguous Placement

    Constrained Placement

    Log-structured Placement


    Data striping

    RAID Controller

    Sector 0

    Sector 1

    Sector 2

    Logical Sector 0

    Data striping

    • Scatter data across multiple disks

      • Achieves load balance

    • Can use RAID (Redundant Array of Inexpensive Disks) technology

      • allows for parallel access to an array of disks

      • Disks are spindle synchronized and operate in lock-step parallel mode

      • Physical and logical blocks have identical access time and transfer rate increases

      • Striping improves bandwidth requirements, does not improve seek time or rotational latency


    Data interleaving

    Data Interleaving

    • Blocks are interleaved across the disk array with successive file blocks stored on different disks

      • Simple interleaved pattern

        • stores blocks cyclically across an array of N disks

      • Difference to striped data

        • interleaved data are not spindle synchronized

    • Data interleaving operates independently


    File retrieval structure

    File-retrieval structure

    • Fundamental issue

      • keep track of which disk block belongs to each file and keep a map of how to travel from block to block in a file

    • With continuous files - contiguous placement we don’t need maps.

    • Scattered files need file mapping

      • Linked Lists - random access is highly inefficient

      • File Allocation Table (FAT)

        • each table entry maintains a pointer to the next block of a file. If FAT is in memory, random access is fast

      • Indexing

        • index a file and store an index for each file separately -


    Hybrid solution

    Hybrid solution

    • For real-time playback

      • implement a linked list

      • achieve random seek through indexing

      • overhead in keeping link and index pointers up to date


    Fast forward and rewind

    Fast Forward and Rewind

    • Approaches

      • Playback media at a higher rate - impractical

      • Playback at normal rate but skip frames

        • Play every 3d or 5th frame - skip step

        • index file useful to find blocks when skipping

        • can get complicated when interdependencies exist for synchronization.

      • Approaches for FF via data skipping

        • Create a separate and highly compressed file

        • Categorize block as relevant or irrelevant

        • Intelligent arrangement of blocks for fast forward


    Comments

    Comments

    • Pros

      • A good picture of MM storage server

      • Both concept and implementation are addressed

    • Cons

      • Some enhancements are not mentioned (e.g. Enhanced SCAN-EDF, Mixed strategy Disk Scheduling)

      • Caching

      • No citation


    References

    References

    • Multimedia Storage Servers: A Tutorial, D.J. Gemmel et al.

    • Multimeda System, K. Nahrstedt, R. Steinmetz


    Mixed scheduling example

    Mixed Scheduling Example

    Status of

    Buffers

    Balanced

    Buffers

    . .

    . .

    . .

    Buffers

    SSTF

    Disk Scheduling


  • Login