Click here to load reader
Click here to load reader
Jan 18, 2016
Multimedia Information SystemsShahram Ghandeharizadeh Computer Science DepartmentUniversity of Southern California
ReadingFirst 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 in a few years from now:
Continuous Media: Audio & VideoDisplay of a clip as a function of time.Constant Bit RateVariable Bit RateTimeTimeBytesBytes
Continuous Media: Audio & VideoA clip has a fixed display time.Constant Bit RateVariable Bit RateTimeTimeBytesBytesClip display time
Continuous Media: Audio & VideoA clip has a fixed size.Constant Bit RateVariable Bit RateTimeTimeBytesBytesClip size
Continuous Media: Audio & VideoAverage bandwidth for continuous display is clip size divided by the clip display time.Constant Bit RateVariable Bit RateTimeTimeBytesBytesDisplay bandwidth requirementsBW = Line slope
Time and spaceOne may manipulate the bandwidth required to display a clip by prefetching a portion of the clip.Constant Bit Rate MediaTimeBytesStartup latencyPrefetch portion
Continuous display from magnetic diskTarget architectureMemoryCPUDisplaySystem Bus
Continuous displayOnce display is initiated, it should not starve for data. Otherwise, display will suffer from frequent disruptions and delays, termed hiccups.MemoryCPUDisplaySystem Bus
Continuous display: using memoryGiven the low latency between memory and display, stage the entire clip from disk onto memory and then initiate its display.MemoryCPUDisplaySystem Bus
Continuous display: using memoryLimitations: Forces the user to wait un-necessarily.Requires a large memory module in the order of Gigabytes for 2 hour movies.
Continuous display: pipeliningPartition a clip X into n fixed size blocks: X1, X2, X3, , XnStage Xi in memory and initiate its display.Stage Xi+1 in memory prior to completion of the display of XiDisplay X1Display X2DisplayDiskX1X2Time Period
Pipelining: multiple displaysWith multiple displays, disk is multiplexed between multiple requests, resulting in disk seeks.Display XiDisplay Xi+1DisplayDiskXiXi+1Time PeriodWjSeek + Rotational delayZkWj+1Zk+1
How to manage disk seeks?Live with it:Assume the worst seek time in order to guarantee hiccup-free displayAssume 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 X1DisplayDiskX1Wj+1Time PeriodWjZkZk+1X2Zk+2
Impact of block sizeDisk 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 sizeMPEG-1 clips with 1.5 Mbps bandwidth requirementsTarget disk characteristics:Seek: max = 17 msec, min = 2 msecRotational latency: Max = 8.3 msec, min = 4.17 msecDisk tfr = 68.6 MbpsThroughput and startup latency as a function of block size:
Block sizeNMemory RequiredLatency Sec (2 Tp)Wasted disk BW (%)8 KB580 KB0.01288.916 KB10320 KB0.16777.732 KB161 MB0.33364.764 KB243 MB0.6747.5128 KB328 MB1.3330256 KB3718.5 MB2.6719.1512 KB4141 MB5.3310.31 MB4396 MB10.666
Modern disks are multi-zonedEach 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 ST31200WConsists of 2697 cylinders. One may model its seek characteristics as follows:
IBMs Logical TrackLet Zmin denote the zone with fewest track, TminA disk with Z zones is collapsed into a logical disk consisting of one zone with Tmin tracks. Size of each track is Z * TavgThe size of a block must be a multiple of the logical track sizeDisadvantage: Z+1 seeks to retrieve a logical trackLogical Track 1Logical Track 2Logical Track 3
HPs Track PairingLet Zmin denote the zone with fewest track, TminPair 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 pairDisadvantage: 2 seeks to retrieve a logical trackLogical Track 1Logical Track 2Logical Track 3Logical Track 8...
USCs region-based approachPartition 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 1Region 2
Multi-zone disk drivesWith all 3 techniques, one may selectively drop zones: sacrifice storage for bandwidth!Example: USCs region-based approachRegion 1Region 2
FIXBPartition 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.
FIXBAmount of data produced during (1 maximum seek + TScan) is identical to the amount of data displayed during TScan.
VARBVariable 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.
ComparisonFIXB and VARB waste space due to:Round-robin assignment of blocks to zonesDifferent zones offer different storage capacities.