Multimedia Information Systems Shahram Ghandeharizadeh Computer Science Department University of...

Preview:

Citation preview

Multimedia Information Systems

Shahram GhandeharizadehComputer Science Department

University of Southern California

Reading

First 11 (until Section 3.2) pages of:

S. Ghandeharizadeh and R. Muntz, “Design and Implementation of Scalable Continuous Media Servers,” Parallel Computing, Elsevier 1998.

MULTIMEDIA

Multimedia now:

Multimedia in a few years from now:

Remaining:

Continuous Media: Audio & Video

Display of a clip as a function of time.

Constant Bit Rate Variable Bit Rate

Time Time

Bytes Bytes

Continuous Media: Audio & Video

A clip has a fixed display time.

Constant Bit Rate Variable Bit Rate

Time Time

Bytes Bytes

Clip display time

Continuous Media: Audio & Video

A clip has a fixed size.

Constant Bit Rate Variable Bit Rate

Time Time

Bytes Bytes

Clip size

Continuous Media: Audio & Video

Average bandwidth for continuous display is clip size divided by the clip display time.

Constant Bit Rate Variable Bit Rate

Time Time

Bytes Bytes

Display bandwidth requirements

BW = Line slope

Time and space

One may manipulate the bandwidth required to display a clip by prefetching a portion of the clip.

Constant Bit Rate Media

Time

Bytes

Startup latency

Prefetch portion

Continuous display from magnetic disk

Target architecture

Memory CPU

Display

System Bus

Continuous display

Once display is initiated, it should not starve for data. Otherwise, display will suffer from frequent disruptions and delays, termed hiccups.

Memory CPU

Display

System Bus

Continuous display: using memory

Given the low latency between memory and display, stage the entire clip from disk onto memory and then initiate its display.

Memory CPU

Display

System Bus

Continuous display: using memory

Limitations: – Forces the user to wait un-necessarily.– Requires a large memory module in the order of Gigabytes for 2 hour movies.

Memory CPU

Display

System Bus

Continuous display: pipelining

Partition a clip X into n fixed size blocks: X1, X2, X3, …, Xn

Stage Xi in memory and initiate its display.

Stage Xi+1 in memory prior to completion of the display of Xi

Display X1 Display X2Display

Disk X1 X2

Time Period

Pipelining: multiple displays

With multiple displays, disk is multiplexed between multiple requests, resulting in disk seeks.

Display Xi Display Xi+1Display

Disk Xi Xi+1

Time Period

Wj

Seek + Rotational delay

Zk Wj+1 Zk+1

How to manage disk seeks?

Live with it:– Assume the worst seek time in order to guarantee hiccup-free display– Assume average seek time if hiccups are acceptable.

Use the elevator algorithm by delaying display of a block to the end of a time period, termed Group Sweeping Scheme (GSS):

Display X1Display

Disk X1 Wj+1

Time Period

Wj Zk Zk+1 X2 Zk+2

Impact of block size

Disk service time with transfer-rate tfr and block size B is:– Tdisk = Tseek + TRotLatency + (B / tfr)

Number of simultaneous displays supported by a single disk is: N = Tp/Tdisk

Simple pipelining requires (N+1)B memory, GSS requires 2NB.

The observed transfer rate of a disk drive is a function of B and its physical characteristics: tfrobs = tfr ( B / [B + (Tseek + Tlatency) tfr] )

Percentage of wasted disk bandwidth: 100 * (tfr – tfrobs) / tfr

Impact of block size MPEG-1 clips with 1.5 Mbps bandwidth requirements Target disk characteristics:

Seek: max = 17 msec, min = 2 msec

Rotational latency: Max = 8.3 msec, min = 4.17 msec

Disk tfr = 68.6 Mbps

Throughput and startup latency as a function of block size:

Block size N Memory Required Latency Sec (2 Tp) Wasted disk BW (%)

8 KB 5 80 KB 0.012 88.9

16 KB 10 320 KB 0.167 77.7

32 KB 16 1 MB 0.333 64.7

64 KB 24 3 MB 0.67 47.5

128 KB 32 8 MB 1.33 30

256 KB 37 18.5 MB 2.67 19.1

512 KB 41 41 MB 5.33 10.3

1 MB 43 96 MB 10.66 6

Modern disks are multi-zoned

Each zone provides a different storage capacity (number of tracks and sectors per track) and transfer rate.

Outermost zone is typically twice faster than the innermost zone.

Seagate ST31200W zones

Seagate ST31200W

Consists of 2697 cylinders. One may model its seek characteristics as follows:

Seagate ST31200W

IBM’s Logical Track

Let Zmin denote the zone with fewest track, Tmin

A disk with Z zones is collapsed into a logical disk consisting of one zone with Tmin tracks. Size of each track is Z * Tavg

The size of a block must be a multiple of the logical track size

Disadvantage: Z+1 seeks to retrieve a logical track

Logical Track 1

Logical Track 2

Logical Track 3

HP’s Track Pairing

Let Zmin denote the zone with fewest track, Tmin

Pair outermost track with the innermost one and continue inward. A disk with Z zones is collapsed into a logical disk consisting of one zone

with (Z*Tmin)/2 tracks. The size of a block must be a multiple of a track pair

Disadvantage: 2 seeks to retrieve a logical track

Logical Track 1

Logical Track 2

Logical Track 3

Logical Track 8

...

USC’s region-based approach

Partition the Z zones into R regions. A region may consist of 1 or more consecutive zones. The slowest participating zone dictates transfer rate of its assigned region.

Assign blocks of a clip to regions in a round-robin manner. Display of clips requires visiting regions one at a time, multiplexing their

bandwidth between N active requests. Both fix sized blocks and variable length blocks are supported.

Region 1

Region 2

Multi-zone disk drives

With all 3 techniques, one may selectively drop zones: sacrifice storage for bandwidth!

Example: USC’s region-based approach

Region 1

Region 2

FIXB

Partition a clip into fix sized blocks and assign them to the regions in a round-robin manner.

During a time period, retrieve blocks from one region at a time.

Display starts when sufficient data is in main memory.

FIXB

Amount of data produced during (1 maximum seek + TScan) is identical to the amount of data displayed during TScan.

FIXB

VARB

Variable size blocks dictated by the transfer rate of each zone.

Amount of data produced during one TMUX is identical to the amount of data displayed during TMUX.

Limitation: complex to implement due to variable block sizes.

Comparison

FIXB and VARB waste space due to:1. Round-robin assignment of blocks to zones

2. Different zones offer different storage capacities.

Comparison

Recommended