Multimedia Storage Servers

Similar documents
Distributed Video Systems Chapter 3 Storage Technologies

Department of Computer Engineering University of California at Santa Cruz. File Systems. Hai Tao

Yima 1 : Design and Evaluation of a Streaming Media System for Residential Broadband Services

Distributed Video Systems Chapter 5 Issues in Video Storage and Retrieval Part I - The Single-Disk Case

Chapter 7 Multimedia Operating Systems

Yima : Design and Evaluation of a Streaming Media System for Residential Broadband Services

Chapter 20: Multimedia Systems

Chapter 20: Multimedia Systems. Operating System Concepts 8 th Edition,

Table 6.1 Physical Characteristics of Disk Systems

Module objectives. Integrated services. Support for real-time applications. Real-time flows and the current Internet protocols

Networking Applications

CS 457 Multimedia Applications. Fall 2014

Computer Organization and Technology External Memory

Randomized Data Allocation in Scalable Streaming Architectures

High-Performance Storage Systems

Storage Devices for Database Systems

CSCI-GA Database Systems Lecture 8: Physical Schema: Storage

Administrivia. CMSC 411 Computer Systems Architecture Lecture 19 Storage Systems, cont. Disks (cont.) Disks - review

Introduction to LAN/WAN. Application Layer 4

Storage Systems. Storage Systems

Virtual Memory. Reading. Sections 5.4, 5.5, 5.6, 5.8, 5.10 (2) Lecture notes from MKP and S. Yalamanchili

Storage. CS 3410 Computer System Organization & Programming

Fundamentals of Video Compression. Video Compression

Image and video processing

1. What is the difference between primary storage and secondary storage?

Semiconductor Memory Types Microprocessor Design & Organisation HCA2102

Multimedia Networking

BBM371- Data Management. Lecture 2: Storage Devices

Computer System Architecture

Multimedia Storage Servers: A Tutorial

Streaming (Multi)media

Session: Hardware Topic: Disks. Daniel Chang. COP 3502 Introduction to Computer Science. Lecture. Copyright August 2004, Daniel Chang

Data Storage and Query Answering. Data Storage and Disk Structure (2)

Chapter 11. I/O Management and Disk Scheduling

Remote Media Immersion (RMI)

Storage systems. Computer Systems Architecture CMSC 411 Unit 6 Storage Systems. (Hard) Disks. Disk and Tape Technologies. Disks (cont.

Hard Disk Drives. Nima Honarmand (Based on slides by Prof. Andrea Arpaci-Dusseau)

A track on a magnetic disk is a concentric rings where data is stored.

Che-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University

Introduction Disks RAID Tertiary storage. Mass Storage. CMSC 420, York College. November 21, 2006

Storage System COSC UCB

William Stallings Computer Organization and Architecture 8 th Edition. Chapter 6 External Memory

Chapter 12: Mass-Storage

Magnetic Disk. Optical. Magnetic Tape. RAID Removable. CD-ROM CD-Recordable (CD-R) CD-R/W DVD

Silberschatz, et al. Topics based on Chapter 13

Monday, May 4, Discs RAID: Introduction Error detection and correction Error detection: Simple parity Error correction: Hamming Codes

I/O Hardwares. Some typical device, network, and data base rates

Chapter 28. Multimedia

Tech Note - 05 Surveillance Systems that Work! Calculating Recorded Volume Disk Space

File. File System Implementation. Operations. Permissions and Data Layout. Storing and Accessing File Data. Opening a File

Mass-Storage Structure

Database Architecture 2 & Storage. Instructor: Matei Zaharia cs245.stanford.edu

Chapter 11: File System Implementation. Objectives

DigiPoints Volume 1. Student Workbook. Module 8 Digital Compression

1.1 Bits and Bit Patterns. Boolean Operations. Figure 2.1 CPU and main memory connected via a bus. CS11102 Introduction to Computer Science

Multimedia Networking ECE 599

Distributed Video Systems Chapter 7 Parallel Video Servers Part 1 - Introduction and Overview

UC Santa Barbara. Operating Systems. Christopher Kruegel Department of Computer Science UC Santa Barbara

I/O, Disks, and RAID Yi Shi Fall Xi an Jiaotong University

Wednesday, April 25, Discs RAID: Introduction Error detection and correction Error detection: Simple parity Error correction: Hamming Codes

William Stallings Computer Organization and Architecture 6 th Edition. Chapter 6 External Memory

Lecture 17: Distributed Multimedia

V. Mass Storage Systems

References: ], find the next singular λ using the current solution which corresponds. ]. Then, go to step 2.

Input/Output. Today. Next. Principles of I/O hardware & software I/O software layers Disks. Protection & Security

Lecture 25: Interconnection Networks, Disks. Topics: flow control, router microarchitecture, RAID

COMP283-Lecture 3 Applied Database Management

IST346. Data Storage

Multimedia Streaming. Mike Zink

STUDY AND IMPLEMENTATION OF VIDEO COMPRESSION STANDARDS (H.264/AVC, DIRAC)

Storage and File Structure

Ch 11: Storage and File Structure

Reading and References. Input / Output. Why Input and Output? A typical organization. CSE 410, Spring 2004 Computer Systems

How to achieve low latency audio/video streaming over IP network?

Chapter-6. SUBJECT:- Operating System TOPICS:- I/O Management. Created by : - Sanjay Patel

High Performance Computing Course Notes High Performance Storage

COS 318: Operating Systems. Storage Devices. Vivek Pai Computer Science Department Princeton University

Distributed Video Systems Chapter 5 Issues in Video Storage and Retrieval Part 2 - Disk Array and RAID

Chapter 14: Mass-Storage Systems

CS 471 Operating Systems. Yue Cheng. George Mason University Fall 2017

secondary storage: Secondary Stg Any modern computer system will incorporate (at least) two levels of storage:

Module 13: Secondary-Storage

Bits and Bit Patterns

Disks and RAID. CS 4410 Operating Systems. [R. Agarwal, L. Alvisi, A. Bracy, E. Sirer, R. Van Renesse]

Data Storage. Slides derived from those available on the web site of the book: Computer Science: An Overview, 11 th Edition, by J.

Computer Organization and Structure. Bing-Yu Chen National Taiwan University

Comparing Random Data Allocation and Data Striping in Multimedia Servers

Lecture 23: Storage Systems. Topics: disk access, bus design, evaluation metrics, RAID (Sections )

Tape pictures. CSE 30341: Operating Systems Principles

Mul$media Streaming. Digital Audio and Video Data. Digital Audio Sampling the analog signal. Challenges for Media Streaming.

Improving VoD System Efficiency with Multicast and Caching

CPS104 Computer Organization and Programming Lecture 18: Input-Output. Outline of Today s Lecture. The Big Picture: Where are We Now?

C C C 0.1 X X X X X X d 1. d 2. d 5. d 4

Chapter 6. Storage and Other I/O Topics

CS370 Operating Systems

I/O CANNOT BE IGNORED

Chapter 13: Mass-Storage Systems. Disk Scheduling. Disk Scheduling (Cont.) Disk Structure FCFS. Moving-Head Disk Mechanism

Chapter 13: Mass-Storage Systems. Disk Structure

Chapter 9: Peripheral Devices: Magnetic Disks

Semiconductor Memory Types. Computer & Microprocessor Architecture HCA103. Memory Cell Operation. Semiconductor Memory.

Transcription:

Multimedia Storage Servers Cyrus Shahabi shahabi@usc.edu Computer Science Department University of Southern California Los Angeles CA, 90089-0781 http://infolab.usc.edu 1

OUTLINE Introduction Continuous Media Magnetic Disk Drives Display of CM (single disk, multi-disks ) Optimization Techniques Additional Issues Case Study (Yima) 2

What is a Multimedia Server? Network Storage Manager Memory Multiple streams of audio and video should be delivered to many users simultaneously 3

Some Applications Video-on-demand News-on-demand News-editing Movie-editing Interactive TV Digital libraries Distance Learning Medical databases NASA databases 4

Challenge: Continuous Media CM object consists of a sequence of media quanta (e.g., audio samples or video frames), which convey meaning only when presented in time. S torage & Retrieval Continuous display High bandwidth requirement Large size Communications End-user (display and interface) 5

Challenge: Continuous Display Data should be transferred from the storage device to the memory (or display) at a pre-specified rate. Otherwise: frequent disruptions & delays, termed hiccups NTSC quality: 45Mb/s Memory Disk 6

Challenge: High Bandwidth Bandwidth requirements for different media types: Mb/s 100 90 80 70 60 50 40 30 20 10 0 1 Mb/s 100 Mb/s 50 Mb/s 31 Mb/s 20 Mb/s 4-6 Mb/s DV 4:1:1 DVD MPEG-2 DivX MPEG-4 HDTV DVCPRO HDTV Broadcast DV 4:2:2 7

High Bandwidth & Large Size Access Time Transfer Rate Cost / Megabyte Memory 1 ~ 5 ns > 1 GB/s ~ $0.1 Disk 5 ~ 20 ms < 40 MB/s < $0.005 Optical 100 ~ 300 ms < 5 MB/s < $0.002 Tape sec ~ min < 10 MB/s < $0.001 HDTV quality ~ 1.4 Gb/s Uncompressed! Standard: SMPTE 292M 2-hr HDTV ~ 1260 GB 8

Streaming Media Servers Streaming media servers require a different engine than traditional databases because of: Real-time retrieval and storage Large media objects The performance metrics for streaming media servers are: The number of simultaneous displays: throughput N The amount of time that elapses until a display starts: startup latency L The overall cost of the system: cost per stream, C 9

Media Types Examples of continuous media are: Audio Video Haptics Continuous media are often compressed. There are many different compression algorithms, for example: Motion Picture Experts Group: MPEG-1, MPEG-2, MPEG-4 Joint Photographic Expert Group: Motion-JPEG Digital Video: DV, MiniDV Others: Microsoft Video 9, DivX, MP3: MPEG-1 layer 3 audio Above codecs are based on discrete cosine transform (DCT) Wavelet-based codecs Lossless compression 10

Compression MPEG-1 180:1 reduction in both size and bandwidth requirement (SMPTE 259M, NTSC 270 Mb/s is reduced to 1.5 Mb/s). MPEG-2 30:1 to 60:1 reduction. (NTSC ~ 4, DVD ~ 8, HDTV ~ 20 Mb/s) Problem: loose information (cannot be tolerated by some applications: medical, NASA) 11

Media Characteristics Data requires a specific bandwidth: Constant bitrate (CBR) CM Variable bitrate (VBR) CM Easier case: CBR Data is partitioned into equi-sized blocks which represent a certain display time of the media E.g.: 176,400 bytes represent 1 second of playtime for CD audio (44,100 samples per second, stereo, 16-bits per sample) 12

Assumed Hardware Platform Multiple magnetic disk drives: Not too expensive (as compared to RAM) Not too slow (as compared to tape) Not too small (as compared to CD-ROM) And it s already everywhere! Memory 13

Magnetic Disk Drives An electro-mechanical random access storage device Magnetic head(s) read and write data from/to the disk 14

Disk Device Comparison 15

Disk Seek Characteristic 16

Disk Seek Time Model T Seek T = { c1 + ( c2 d ) If d < z cylinders c + ( c d ) If d >= z cylinders AvgRotLatency 3 = 4 1 2 60sec rpm 17

Disk Service Time Model T = T + T + Service Transfer AvgRotLatency T Seek B B BW = Effective T Service T = Transfer BW Max T Transfer : data transfer time [s] T AvgRotLatency : average rotational latency [s] T Service : service time [s] B: block size [MB] BW Effective : effective bandwidth [MB/s] 18

Data Retrieval Overhead 19

Sample Calculations Assumptions: T Seek = 10 ms BW Max = 20 MB/s Spindle speed: 10,000 rpm B BWEffective = B 30sec + + T BW rpm Max Seek B 1 KB 10 KB 100 KB 1 MB 10 MB BW Effective 0.076 0.74 5.55 15.87 19.49 MB/s MB/s MB/s MB/s MB/s 0.38% 3.7% 27.8% 79.4% 97.5% 20

Summary Average rotational latency depends on the spindle speed of the disk platters (rpm) Seek time is a non-linear function of the number of cylinders traversed Average rotational latency + seek time = overhead (wasteful) Average rotational latency and seek time reduce the maximum bandwidth of a disk drive to the effective bandwidth 21

Streaming Concepts What is streaming? Data resides on a remote server. When a user initiates playback, the data is transmitted over the network and displayed on the user s machine (client). o Store-and-display: data is completely downloaded before playback starts. o Streaming: data is processed at the client side as soon as it is received. Advantages of streaming: No waiting for downloads (not much, anyway) No physical copies of the content (avoid copyright violations) No storage requirements at the client side Support of live events 22

Streaming Concepts (2) Disadvantages of streaming: It requires real-time guarantees from the network and the server Lost or damaged packets (blocks) or missed deadlines may cause hiccups in the display 23

Continuous Display (1 disk) Retrieve from disk X1 X2 X3 Display from memory Display X1 Display X2 Display X3 Time Traditional production/consumption problem RC = Consumption Rate, MPEG-1 1.5 Mb/s RD = Production Rate,Seagate Barracuda 68 Mb/s For now: RC < RD Partition video X into n blocks: X1, X2,..., Xn (to reduce the buffer requirement) 24

Retrieve from Disk Display from Memory Round-robin Display X1 Seek Time Y3 X2 Y4 X3 Y5 Display X1 Display X2 Display X3 Display Y3 Display Y4 Display Y5 Time Time period: time to display a block (is fixed) System Throughput (N): number of streams Assuming random assignment of the blocks: Maximum seek time between block retrievals Waste of disk bandwidth ==> lower throughput Tp=?, N=?, Memory=?, max-latency=? 25

Retrieve from Disk Display from Memory Using disk scheduling techniques Cycle-based Display X1 Y3 Z5 Z6 Y4 X2 Y5 X3 Z7 Time Display X1, Y3, Z5 Display X2, Y4, Z6 Less seek time ==> Less disk bandwidth waste ==> Higher throughput Larger buffer requirement Tp=?, N=?, Memory=?, max-latency=? 26

Group Sweeping Schema (GSS) Group 1 Group 2 W1 X1 Y3 Z5 X2 W2 Z6 Y4 W3 X3 Z7 Y5 Subcycle 1 Subcycle 2 Display X1, W1 Display X2, W2 Can shuffle order of blocks retrievals within a group Cannot shuffle the order of groups GSS when g=1 is cycle-based GSS when g=n is round-robin Optimal value of g can be determined to minimize memory buffer requirements Tp=?, N=?, Memory=?, max-latency=? 27

T 1 Constrained Data Placement R R R R R R 0 1 2 3 4 5 X X X X X X 0 1 2 3 4 5 a. OREO 2 Y 0 Y 1 Z 4 Y 2 X 0 X 1 X 2 Y 0 First Time Period Z 0 Z Z 1 Z 3 Z 5 Y 3 Second Time Period Partition the disk into R regions During each time period only blocks reside in the same region are retrieved Maximum seek time is reduced almost by a factor of R Introduce startup latency time Tp=?, N=?, Memory=?, max-latency=? b. Time Period Schedule 28

Constrained Data Placement Partition the disk into R regions. During each time period only blocks reside in the same region are retrieved. Maximum seek time is reduced almost by a factor of R. Introduce startup latency time Tp=?, N=?, Memory=?, maxlatency=? 29

Hybrid For the blocks retrieved within a region, use GSS schema This is the most general approach Tp=?, N=?, Memory=?, max-latency=? By varying R and g all the possible display techniques can be achieved Round-robin (R=1, g=n) Cycle-base (R=1, g=1) Constrained placement (R>0, g=1),... A configuration planner calculates the optimal values of R & g for certain application. 30

Display of Mix of Media Retrieve from Disk X1 Y3 Z5 Z6 Y4 X2 Y5 X3 Z7 Display from Memory Display X1, Y3, Z5 Display X2, Y4, Z6 Time Mix of media types: different RC s: audio, video Rc(Y) < Rc(X) < Rc(Z) Different block sizes: Rc(X)/B(X)=Rc(Y)/B(Y)=... Display time of a block (time period) is still fixed 31

Multiple-disks Single disk: even in the best case with 0 seek time, 68/1.5=45 MPEG-1 streams Typical applications (MOD): 1000 streams Solution: aggregate bandwidth and storage space of multiple disk drives How to place a video? Memory 32

RAID Striping All disks take part in transmission of a block Can be conceptualized as a single disk Even distribution of display load Efficient admission Is not scalable in throughput X1 d1 d2 d3 X1.1 X1.2 X1.3 X2.1 X2.2 X2.3 33

Only a single disk takes part in transmission of each block Retrieval schedule Round-robin retrieval Round-robin retrieval of the blocks Even distribution of display load Efficient admission Not scalable in latency Time d1 d2 d3 X1 X2 X3 Y1 Y2 Y3 Z1 Z2 Z3 W2 W3 Retrieval Schedule d1 d2 d3 W1 Display X1,Y1,W1,Z1 X2,Y2,W2,Z2 X3,Y3,W3,Z3 34

Hybrid Striping Partition D disks into clusters of d disks Each block is declustered across the d disks that constitute a cluster (each cluster is a logical disk drive) RAID striping within a cluster Round-robin retrieval across the clusters RAID striping (d=d), Round-robin retrieval (d=1) C C C 0 1 2 X 0.0 X 3.0... X 0.1 X 3.1... X 1.0 X 4.0... X 1.1 X 4.1... X 2.0 X 5.0... X 2.1 X 5.1... d 0 d 1 d 2 d3 d 4 d 5 35

Scalability Worst latency (sec) 80 By varying the value of d different throughput and latency time can be achieved For an application, the maximum throughput and the tolerable latency time can be given as inputs to a planner The output will then be the optimal value of d for that application Note that hybrid always outperforms RAID striping and round-robin retrieval 60 40 20 Max. No. of users 800 600 400 200 d=1 d=d 0 0 5 10 15 20 Factor of increase in resources (memory+disk) d=1 d=d 0 0 5 10 15 20 Factor of increase in resources (memory+disk) 36

Latency & Throughput (Hybrid Striping) Conceptualize a set of slots supported by a cluster in a Tp as a group A request maps onto one group and groups visit clusters in a round-robin manner During a time period, each occupied slot of a group retrieves a block that resides in the cluster that is being visited by that group Time G1 G0 G5 G4 G3 G2 C0 C1 1Tp 2Tp 3Tp 4Tp 5Tp 6Tp G1 G0 G2 G1 G3 G2 G4 G3 G5 G4 G0 G5 X4 X5 X0 X1 X2 X3... X6 Y Y Y Y Y Y 0 1 2 3 4 5 Y... 6 C2 C3 C4 C5 G5 G4 G3 G2 G0 G5 G4 G3 G1 G0 G5 G4 G2 G1 G0 G5 G3 G2 G1 G0 G4 G3 G2 G1... C0 C1 C2 C3 C4 C5 37

Admission Control When a request arrives, search an empty slot from the group currently accessing the cluster which has the first block failure: look up a group and find no empty slot success: find a group with empty slot and assign the request 3 2 1 5 4 G0 G5 G4 G 3 G2 G 1 X 4 X 5 X 0 X1 X 2 X 3 X 6 Y Y Y Y Y Y 0 1 2 3 4 5 Y 6... C0 C1 C2 C 3 C4 C5... Z 0 Z1... 38

Hybrid Striping Partition D disks into clusters of d disks. Each block is declustered across the d disks that constitute a cluster (each cluster is a logical disk drive). RAID striping within a cluster. Round-robin retrieval across the clusters. RAID striping (d=d), Round-robin retrieval (d=1). 39

Scalability By varying the value of d different throughput and latency time can be achieved. For an application, the maximum throughput and the tolerable latency time can be given as inputs to a planner. The output will then be the optimal value of d for that application. Note that hybrid always outperforms RAID striping and round-robin retrieval. 40

Latency & Throughput (Hybrid Striping) Conceptualize a set of slots supported by a cluster in a Tp as a group. A request maps onto one group and groups visit clusters in a round-robin manner. During a time period, each occupied slot of a group retrieves a block that resides in the cluster that is being visited by that group. 41

Admission Control When a request arrives, search an empty slot from the group currently accessing the cluster which has the first block. failure: look up a group and find no empty slot. success: find a group with empty slot and assign the request. 42

Throughput & Startup Latency The number of slots (N ) in a time period defines the maximum number of simultaneous displays (throughput) supported by a cluster N and Tp could be configured using various techniques such as GSS The throughput of a system with C clusters is: N C If a request experiences i failures before success, the average startup latency is: How to determine the value of i? 05. TP ( i= 0) L= i TP ( i 0) 43

Throughput & Startup Latency The probability of a failure is a function of system load Develop a probabilistic approach to determine the expected latency of a request p(k) : probability that there are k active requests in the system (using a queuing model) pf (, i k) : probability that a request has i failures before a success when there are k active requests in the system The expected latency is: m 1 EL [ ] = pkp ( ) ( 0, k) 05. T+ pkp ( ) ( ikit, ) k = 0 f p k = 0 m 1 k N i= 1 f p 44

Optimization Techniques Two techniques to minimize startup latency Request Migration Object Replication Three techniques to maximize throughput Batching requests Piggybacking Buffer sharing 45

Request Migration Migrating a request from a busy group to a group with more idle slots reduces the possible latency of future requests G G G G 0 5 4 3 2 1 G G X C C C C C C 0 X 1 X X X X X Y Y Y Y Y Y Y 4 5 2 0 1 2 3 6 0 1 2 3 4 5 6...... Z 0 Z1... 3 4 5 46

Object Replication With multiple copies of an object, simultaneous checking for an empty slot reduces the worst case startup latency and the average latency G G G G 0 5 4 3 2 1 G G X C C C C C C 0 X 1 X X X X X X X X X X X... 4 5 0 1 2 3 2 6 1 2 3 4 5 0... 3 4 5 X 6 47

Request Migration Migrating a request from a busy group to a group with more idle slots reduces the possible latency of future requests. 48

Object Replication With multiple copies of an object, simultaneous checking for an empty slot reduces the worst case startup latency and the average latency. 49

Maximize Throughput Objective: support more requests than the maximum throughput of the system! Observation: for most of the applications (e.g., MOD) many requests for the same stream (e.g., new released movies) arrive close to each other Solution: Share streams among multiple requests How? 50

Stream Sharing Batching requests: introduce a startup delay and multiplex single stream to support all the requests for the same stream Piggybacking: if two (or more) streams are close enough, speed-up one and slow down the other so they meet and then share streams Buffer sharing: keep blocks of the first request in memory so that the second request can be served from memory (rather than disk) 51

Additional Issues (1) VBR support Approach: approximate bandwidth with segments of constant bitrate and buffers Pause and resume Stop a stream at a specific point and resume from the same point Fast forward and fast rewind (speed up stream) Send more data during each time period Drop some frames or blocks at the server side Have separate trick files and switch between them 52

Additional Issues (2) Synchronization between multiple streams Audio/video synchronization is very sensitive Synchronization must be addressed at different levels o o o Server Network Client Random Data Placement Deadline driven scheduling approach Probabilistic model to hiccup probability 53

Additional Issues (3) Multi-zone disk drives (variable transfer rate) E.g., Track-pairing E.g., FIXB (elevator allocation of blocks over zones) Heterogeneity Different media types Different disk types Fault tolerance: what kind of failures are acceptable? Replication vs. parity-based OnLine reorganization 54

Yima Multichannel Streaming System Yima Server Cluster Network HDTV (MPEG-2) Yima Clients... Storage Systems 100 Mb/s or 1 Gb/s NTSC (MPEG-2) Multi-node, scalable server architecture 10.2 Channel Audio Media format independent: supports DVD MPEG-2 (8 Mb/s), HD MPEG-2 (20 Mb/s), MPEG-4 (800 Kb/s), 10.2 channel audio, etc. Standard transmission protocols: RTP, RTSP Selective retransmission of lost media packets for improved playback quality Synchronization across multiple media streams 55