multimedia storage servers a tutorial
Download
Skip this Video
Download Presentation
Multimedia Storage Servers: A Tutorial

Loading in 2 Seconds...

play fullscreen
1 / 26

Multimedia Storage Servers: A Tutorial - PowerPoint PPT Presentation


  • 130 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Multimedia Storage Servers: A Tutorial' - taniel


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)

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
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

ad