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

Similar documents
Distributed Video Systems Chapter 3 Storage Technologies

Current Topics in OS Research. So, what s hot?

Designing a Server Array System for Multimedia World-Wide-Web Services

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

Multimedia Storage Servers

Adaptive Load Sharing in Video-On-Demand Distributed Multimedia System Using Parallel Servers

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

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

Storage Systems. Storage Systems

Study of Load Balancing Schemes over a Video on Demand System

vsan All Flash Features First Published On: Last Updated On:

Lecture 9: MIMD Architectures

Lecture 9: MIMD Architectures

High Performance Computing Course Notes High Performance Storage

Table 6.1 Physical Characteristics of Disk Systems

SYSTEM UPGRADE, INC Making Good Computers Better. System Upgrade Teaches RAID

Computer Science 146. Computer Architecture

A Transpositional Redundant Data Update Algorithm for Growing Server-less Video Streaming Systems

An Efficient Storage Mechanism to Distribute Disk Load in a VoD Server

Mass-Storage Structure

Dell Reference Configuration for Large Oracle Database Deployments on Dell EqualLogic Storage

Improving VoD System Efficiency with Multicast and Caching

Lecture 23: I/O Redundant Arrays of Inexpensive Disks Professor Randy H. Katz Computer Science 252 Spring 1996

Definition of RAID Levels

A High Performance Video Server for Broadband Network Environment

5. Conclusion. 6. References

RAID (Redundant Array of Inexpensive Disks)

A Fault Tolerant Video Server Using Combined Raid 5 and Mirroring

CSE 451: Operating Systems Winter Redundant Arrays of Inexpensive Disks (RAID) and OS structure. Gary Kimura

Some material adapted from Mohamed Younis, UMBC CMSC 611 Spr 2003 course slides Some material adapted from Hennessy & Patterson / 2003 Elsevier

Chapter 11: File System Implementation. Objectives

I/O CANNOT BE IGNORED

I/O Commercial Workloads. Scalable Disk Arrays. Scalable ICDA Performance. Outline of This Talk: Related Work on Disk Arrays.

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

Storage. Hwansoo Han

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

Lecture 11: Networks & Networking

IMPROVING LIVE PERFORMANCE IN HTTP ADAPTIVE STREAMING SYSTEMS

Module 15: Network Structures

Readings. Storage Hierarchy III: I/O System. I/O (Disk) Performance. I/O Device Characteristics. often boring, but still quite important

On Latency Management in Time-Shared Operating Systems *

CSE 153 Design of Operating Systems

VERITAS Storage Foundation 4.0 TM for Databases

Distributed System Chapter 16 Issues in ch 17, ch 18

Database Systems. November 2, 2011 Lecture #7. topobo (mit)

Chapter 7 Multimedia Operating Systems

Today: Coda, xfs! Brief overview of other file systems. Distributed File System Requirements!

Distributed and Fault-Tolerant Execution Framework for Transaction Processing

Operating Systems 2010/2011

HP AutoRAID (Lecture 5, cs262a)

Symphony: An Integrated Multimedia File System

Module 16: Distributed System Structures

Page 1. Magnetic Disk Purpose Long term, nonvolatile storage Lowest level in the memory hierarchy. Typical Disk Access Time

Distributed Systems. Overview. Distributed Systems September A distributed system is a piece of software that ensures that:

Module 16: Distributed System Structures. Operating System Concepts 8 th Edition,

Mladen Stefanov F48235 R.A.I.D

The Google File System

Today: Coda, xfs. Case Study: Coda File System. Brief overview of other file systems. xfs Log structured file systems HDFS Object Storage Systems

CA485 Ray Walshe Google File System

CSCI 4717 Computer Architecture

CLOUD-SCALE FILE SYSTEMS

HPSS RAIT. A high performance, resilient, fault-tolerant tape data storage class. 1

The benefits of. Clustered storage offers advantages in both performance and scalability, but users need to evaluate three different architectures.

Recovery Strategies for Streaming Media Service in a Cluster-Based VOD Server with a Fault Node

Associate Professor Dr. Raed Ibraheem Hamed

DIVISOR: DIstributed VIdeo Server for streaming

Storage Area Network (SAN)

FEATURE. High-throughput Video Data Transfer of Striping with SSDs for 8K Super Hi-Vision

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

Streaming Video over the Internet. Dr. Dapeng Wu University of Florida Department of Electrical and Computer Engineering

DYNAMIC REPLICATION OF CONTENT IN THE HAMMERHEAD MULTIMEDIA SERVER

Cluster-Based Scalable Network Services

Design For High Performance Flexray Protocol For Fpga Based System

HP AutoRAID (Lecture 5, cs262a)

CSE380 - Operating Systems. Communicating with Devices

MIMD Overview. Intel Paragon XP/S Overview. XP/S Usage. XP/S Nodes and Interconnection. ! Distributed-memory MIMD multicomputer

Digital Asset Management 5. Streaming multimedia

Developing deterministic networking technology for railway applications using TTEthernet software-based end systems

Scaling Internet TV Content Delivery ALEX GUTARIN DIRECTOR OF ENGINEERING, NETFLIX

The Google File System (GFS)

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

Assessing performance in HP LeftHand SANs

Storage Optimization with Oracle Database 11g

Multimedia Streaming. Mike Zink

Chapter 6. Storage and Other I/O Topics

GFS: The Google File System. Dr. Yingwu Zhu

Simplified Storage Migration for Microsoft Cluster Server

Architectural Issues for the 1990s. David A. Patterson. Computer Science Division EECS Department University of California Berkeley, CA 94720

A TRANSPORT PROTOCOL FOR DEDICATED END-TO-END CIRCUITS

Chapter 18 Parallel Processing

Disk for Real-time Data. Presented at the THIC Meeting at the Sony Auditorium, 3300 Zanker Rd, San Jose CA March 4-5, 2003

1. Introduction. Traditionally, a high bandwidth file system comprises a supercomputer with disks connected

Performance of DB2 Enterprise-Extended Edition on NT with Virtual Interface Architecture

The Google File System

GFS: The Google File System

Technical Brief: Specifying a PC for Mascot

iseries Managing disk units

Computer Architecture 计算机体系结构. Lecture 6. Data Storage and I/O 第六讲 数据存储和输入输出. Chao Li, PhD. 李超博士

The Google File System

Lecture 9: MIMD Architecture

Transcription:

Distributed Video Systems Chapter 7 Parallel Video Servers Part 1 - Introduction and Overview Jack Yiu-bun Lee Department of Information Engineering The Chinese University of Hong Kong Contents 71 Introduction 72 Video Distribution Architectures 73 Server Striping Policies 74 Video Delivery Protocols 75 Representative Studies Distributed Video Systems - Parallel Video Servers - Part 1 2

51 Introduction Primary Challenges in VoD System Design High throughput and capacity ; But low cost! Conventional VoD System Video Server + Network + Video s Video Server Memory buffers Packets Video Video Decoder Audio Decoder Video output Audio output Storage Distributed Video Systems - Parallel Video Servers - Part 1 3 51 Introduction Bottlenecks at Video Server Protocol and I/O processing CPU time could be exhausted Data retrievals Disk bandwidth could be exhausted Network transmissions Network bandwidth could be exhausted Others System bus bandwidth could be exhausted System's I/O interfaces could be exhausted Distributed Video Systems - Parallel Video Servers - Part 1 4

51 Introduction Traditional Approaches to More Capacity Upgrade server with Faster disk array with more disks Leads to reliability problem The disk-array controller becomes the bottleneck Multiple disk-array controller Number of expansion slots is limited The system bus or the CPU becomes the bottleneck Multiple faster CPU The gain in multiprocessor system is sub-linear Faster network interface Limited by number of expansion slots and system bus capacity Distributed Video Systems - Parallel Video Servers - Part 1 5 51 Introduction Examples Small-scale systems (~100 streams) Starlight Networks PC-based, serves up to 100 users on a dedicated machine with a disk array and fast network connections Microsoft NetShow Wintel-based, serves up to 60 users on a Wintel machine with a disk array and fast network connections Large-scale systems (~1000 streams) The Magic Video-on-Demand System Proprietary massively-parallel supercomputer with custom hardware and interconnection networks Oracle ncube Video-on-Demand System ncube-based, massively-parallel supercomputer Distributed Video Systems - Parallel Video Servers - Part 1 6

51 Introduction Problems Limited Scalability How to support more than 1000 streams? 10K? 100K? Partition: Server 1 Videos are partitioned Server 2 Network VoD Users Load balancing problem Distributed Video Systems - Parallel Video Servers - Part 1 7 51 Introduction Problems Limited Scalability How to support more than 1000 streams? 10K? 100K? Replication: Server 1 Network VoD User Group 1 All videos are duplicated Server 2 Network VoD User Group 2 Cost-effectiveness problem Distributed Video Systems - Parallel Video Servers - Part 1 8

51 Introduction Problems Upgrade Path Single-server VoD systems not incrementally upgradable; requires replacement of hardware to upgrade; less cost effective since existing hardware has to be discarded Partitioned VoD system incrementally upgradable by adding more servers and repartitioning videos among them Replicated VoD system incrementally upgradable by adding more servers and replicating videos among them Distributed Video Systems - Parallel Video Servers - Part 1 9 51 Introduction Problems Fault Tolerance Single-server VoD systems Can survive disk failures using RAID Can survive power failures using UPS and redundant power supplies Can survive memory failures using ECC memory Very difficult to survive network failures Impossible to survive server-level failures Partitioned VoD system Failures could be isolated, some video titles are affected and becomes unavailable Replicated VoD system Failures could be isolated, some users are affected with service unavailability Distributed Video Systems - Parallel Video Servers - Part 1 10

51 Introduction Motivation The scalability and fault tolerant problems have been encountered before in Disk Storage Solution is disk array for scalability; and RAID for both scalability and fault tolerance Tape Storage Solution is tape arrays Network Communications Solution is network striping So server arrays for VoD? Distributed Video Systems - Parallel Video Servers - Part 1 11 52 Video Distribution Architectures Server-Level Striping and Video Playback Parallel Video Server Server S 0 C 0 Server S 1 C 1 Server S 2 Server S 3 Server S 5 How to deliver data from multiple servers to a client? C 2 C 3 C NC-1 Video Storage (eg Disk Array) Distributed Video Systems - Parallel Video Servers - Part 1 12

52 Video Distribution Architectures Proxy-At-Server Architecture A proxy is used to retrieve data blocks from all servers and merges them for delivery to a video client Each server also runs a proxy process Server S 0 Proxy P 0 Server S 1 Proxy P 1 C C C C C C Network Interconnections Server S 2 Proxy P 2 Server S 3 Proxy P 3 Server S NS --1 Proxy P NS --1 C C C C C C C C C Combining Storage Server with Proxy Server Front-end s Distributed Video Systems - Parallel Video Servers - Part 1 13 52 Video Distribution Architectures Proxy-At-Server Architecture Observations A video client communicates with a specific proxy only No knowledge of the servers is required, hence transparent to the clients To deliver B bytes of data from servers to a client, on the average we need: B(2N S 1)/N S bytes of data transmission (server-to-proxy, proxy-to-client) and B(2N S 1)/N S bytes of data reception (proxy and client) A server node failure will disrupt all clients connected at the proxy Fault tolerance is only partial Distributed Video Systems - Parallel Video Servers - Part 1 14

52 Video Distribution Architectures Independent Proxy Architecture The proxy runs at a separate node/host C C C Server S 0 Proxy P 1 C C C Server S 1 Proxy P 2 Server S 2 Server S 3 Network Interconnections Proxy P 3 Proxy P 4 C C C C C C C C C Server S NS --1 Proxy P NP --1 Back-end Storage Servers Independent Proxies Front-end s Distributed Video Systems - Parallel Video Servers - Part 1 15 52 Video Distribution Architectures Proxy-At- Architecture The proxy runs at client host P C P C Server S 0 P C P C Server S 1 Server S 2 Server S 3 Network Interconnections P P P C C C P P P C C C Server S NS --1 Back-end Storage Servers Front-end s with Integrated Proxy Distributed Video Systems - Parallel Video Servers - Part 1 16

52 Video Distribution Architectures Proxy-At- Architecture Observations A proxy serves one client only Each client communicates with all servers directly The parallel servers are not transparent to the clients To deliver B bytes of data from servers to a client, we need: B bytes of data transmission (server-to-client) and B bytes of data reception (client) A proxy failure affects one client only A server failure can be masked by redundancy Ie complete fault tolerance is possible Distributed Video Systems - Parallel Video Servers - Part 1 17 53 Server Striping Policies Scope of Striping Wide Striping Stripe a video title over all servers in the system Short Striping Stripe a video title over a subset of servers only Striping Units Time Striping Stripe units are of the same duration in terms of playback Space Striping Stripe units are of the same size Distributed Video Systems - Parallel Video Servers - Part 1 18

53 Server Striping Policies Time Striping k frames per stripe unit (Also called frame striping) Server Stripe S 0 v 0 S 1 S 2 S 3 S 4 v 1 v 2 v 3 v 4 Stripe unit v 5 v 10 v 6 v 7 v 8 v 9 v 11 v 12 v 13 v 14 v 15 v 16 v 17 v 18 v 19 v 20 v 21 v 22 v 23 v 24 v i is stripe unit i, containing frames ki to k(i+1) 1 However k can be smaller than 1, ie use fragment of a frame as stripe unit (Also called sub-frame striping) Distributed Video Systems - Parallel Video Servers - Part 1 19 53 Server Striping Policies Time Striping Advantages Scheduling may be simpler due to the constant-time nature of the stripe units May be easier to support interactive control such as fastforward by frame skipping Disadvantages Potential load imbalance among servers For example, MPEG has I, P, B frames of generally different sizes Stripe using GOP can improve load balance More complicated storage and retrieval scheduling due to varying stripe unit size Note that sub-frame striping can achieve perfect load balancing using equal-sized frame fragments Distributed Video Systems - Parallel Video Servers - Part 1 20

53 Server Striping Policies Space Striping Fixed-size striping units Advantages Balanced storage; Simplified retrieval scheduling; Independent of the video compression formats Disadvantages Variations in video block consumption time must be compensated by client buffering Distributed Video Systems - Parallel Video Servers - Part 1 21 53 Server Striping Policies Data Redundancy To sustain server-level failures, we need to introduce data redundancies among the servers Similar to RAID, we can use parity blocks to sustain single-server failure S 0 S 1 S 2 S 3 S 4 Parity Calculation Stripe v 0 v 1 v 2 v 3 p 0 p 0 = v 0 v 1 v 2 v 3 Stripe unit v 4 v 8 v 5 v 6 p 1 v 7 v 9 p 2 v 10 v 11 p 1 = v 4 v 5 v 6 v 7 p 2 = v 8 v 9 v 10 v 11 Parity unit v 12 p 4 p 3 v 13 v 14 v 15 v 16 v 17 v 18 v 19 p 3 = v 12 v 13 v 14 v 15 p 4 = v 16 v 17 v 18 v 19 Distributed Video Systems - Parallel Video Servers - Part 1 22

53 Server Striping Policies Data Redundancy Time Striping Difficult to introduce data redundancy (unless it is subframe striping) as erasure-correction codes work on fixed-size parity groups only Error concealment could be applied to sub-frame striping as only a small fragment of each video frame will be lost Space Striping Parity or RS-Code can be used to generate the redundant video blocks The recovery of lost video blocks must be performed at the proxy in real-time Distributed Video Systems - Parallel Video Servers - Part 1 23 54 Video Delivery Protocols Service Models Server Push The servers schedule transmissions to a client Problem If multiple servers transmit to the same client at the same time, congestion will occur, leading to packet losses Solution Some form of co-ordination (ie synchronization) between the server must be performed to avoid congestion Additional Problems The synchronization protocol must be scalable; and tolerance to node failures Distributed Video Systems - Parallel Video Servers - Part 1 24

54 Video Delivery Protocols Service Models Pull Server 0 Server 1 Server Start new video Request (0) Video data Video data Request (1) Video data Video data Pull No need for server synchronization; Truly autonomous servers; Simpler server design Distributed Video Systems - Parallel Video Servers - Part 1 25 54 Video Delivery Protocols Detecting and Masking Server Failures Problem Given there are redundant data at the servers, how do we deliver these redundant data to the client for recovery in case a server failure occurs? Solution 1: Forward Error Correction (FEC) Retrieve and transmit redundant data all the time Constant bandwidth overhead of K/(N S -K) where K is the number of redundant video blocks per parity group in a N S -servers system No failure detection is necessary, the redundant data will be ready at the client when a server fails Distributed Video Systems - Parallel Video Servers - Part 1 26

54 Video Delivery Protocols Detecting and Masking Server Failures Solution 2: On-Demand Correction (ODC) Retrieve and transmit redundant data only after a server failure is detected No overhead when there is no server failure Even after a server failed, the total bandwidth requirement remains the same (Why?) Server failure detection is required, though Additional client buffering will be required to sustain continuous video playback while the system reconfigures itself for failure-mode operation Distributed Video Systems - Parallel Video Servers - Part 1 27 55 Representative Studies SPIFFI (Freedman et al 1995) Architectural Highlights Proxy-At- Space Striping -Pull with Predictive Prefetch Methodology Performance evaluation using simulation Studies real-time disk scheduling, predictive prefetch algorithms, and server buffer pool management (caching using various cache replacement algorithms) Provides statistical performance guarantees Distributed Video Systems - Parallel Video Servers - Part 1 28

55 Representative Studies SPIFFI (Freedman et al 1995) Major Results Optimal striping size ~ 512KB Server buffer requirement 128MB~2GB A 4-servers, 64-disks system can support 760 4Mbps streams No implementation Distributed Video Systems - Parallel Video Servers - Part 1 29 55 Representative Studies Clustered Video Server (Tewari et al 1995) Architectural Highlights Proxy-At-Server (Flat) and Independent Proxy (Two Tiered) Space Striping -Pull (Server-to-Proxy) Server-Push (Proxy-to-) SN SN SN SP2 Interconnect Managed as a virtual file system DN DN DN set-top box set-top box set-top box set-top box SN DN Storage Node (RS6000) Delivery Node (RS6000) Distributed Video Systems - Parallel Video Servers - Part 1 30

55 Representative Studies Clustered Video Server (Tewari et al 1995) Methodology Performance analysis using queueing theory and simulation Studies effect of striping size, proxy buffer requirement, and system scalability Provides statistical performance guarantees The proposed architecture has been implemented using a cluster of RS6000 workstations Key Results Optimal striping size ~256KB Near-linear scalability (90% at 128 nodes) A delivery node can support ~50 MPEG2 streams Distributed Video Systems - Parallel Video Servers - Part 1 31 55 Representative Studies MARS (Buddhikot et al 1995) Architectural Highlights Independent Proxy Using a Proprietary ATM Switch Time Striping (Frame Striping) Server Push Closely-coupled, clock-synchronized ATM Port Interconnection Controller Network Link Interface APIC APIC APIC APIC APIC Manager Storage Node Storage Node Storage Node Storage Node Distributed Video Systems - Parallel Video Servers - Part 1 32

55 Representative Studies MARS (Buddhikot et al 1995) Methodology Performance analysis using worst-case analysis to provide deterministic performance guarantees Studies data layout policy, scheduling at the servers and the custom ATM switch, and playout control to support VCR-like interactions The proposed system has been implemented Key Results Designs for a closely-coupled parallel video server Proved conditions to maintain load balance in normal and FF, RW playback No benchmark results are given Distributed Video Systems - Parallel Video Servers - Part 1 33 55 Representative Studies Microsoft NetShow Theater (Bolosky et al 1996) Architectural Highlights Proxy-At- Space Striping Server Push Fault Tolerance via Mirroring with Declustering Methodology Performance evaluation using experimentation and benchmarking Studies system capacity, inter-server scheduling, data placement policy for mirroring, and fault-detection protocol The proposed design has been implemented and is available commercially Distributed Video Systems - Parallel Video Servers - Part 1 34

55 Representative Studies Microsoft NetShow Theater (Bolosky et al 1996) Server Controller Server Network Interconnect Server Key Results Implementation runs on Windows, delivers video over UDP Block size from 64KB ~ 1MB A system with 5 servers, 3 disks/server, and OC-3 ATM card can support 68 6Mbps streams Can tolerate single-server failure using mirroring and 20% reserve in capacity Distributed Video Systems - Parallel Video Servers - Part 1 35 55 Representative Studies Server Array and RAIS (Lee et al 1996) Architectural Highlights Proxy-At-, Space Striping, and Pull Fault Tolerance by Redundant Array of Inexpensive Servers (RAIS) 4GB 4GB 4GB 4GB Server S 0 Server S 1 Server S 2 Server S 3 BayNetworks 28115 100Mbps FastEthernet Switch 10Mbps Ethernet Switch 10Mbps Shared Ethernet Segment Switched 100Mbps Segments Switched 10Mbps Segments Distributed Video Systems - Parallel Video Servers - Part 1 36

55 Representative Studies Server Array and RAIS (Lee et al 1996) Methodology Performance analysis using worst-case analysis to provide deterministic guarantees Performance evaluation through experimentation and benchmarking Studies system capacity, scalability, striping and placement policy, fault tolerance algorithms, etc The proposed designs have been implemented and is available commercially Distributed Video Systems - Parallel Video Servers - Part 1 37 55 Representative Studies Server Array and RAIS (Lee et al 1996) Key Results Experimental and Benchmarks Linear capacity scaling from 1 to 4 servers A PC server can support ~50 MPEG1 video streams Server memory requirement (incl OS and everything) is 64MB buffer requirement is <1MB Fault tolerant to single-server failure Theoretical System capacity is linearly scalable with the help of admission scheduling Server and client buffer requirement is fixed irrespective of scale of the system (ie number of servers) Distributed Video Systems - Parallel Video Servers - Part 1 38

55 Representative Studies Comparisons Researchers Biersack et al (Video Server Array) Bolosky et al (Tiger Video Fileserver) Buddhikot et al (MARS) Freedman et al (SPIFFI) Lee et al (Server Array & RAIS) Video Distribution Architecture Server Striping Policy Video Delivery Protocol Proxy-At- Time Striping Server Push Proxy-At- Space Striping Server Push Server Fault Tolerance Striping w/ Parity; FEC Mirroring with Declustering Independent Proxy Time Striping Server Push Proxy-At- Space Striping Proxy-At- Space Striping Pull Striping w/ Parity; FEC and ODC Lougher et al Independent Proxy Space Striping Reddy et al Proxy-At-Server, Independent Proxy Space Striping Server Push Tewari et al Proxy-At-Server, (Clustered Video Independent Proxy Server) Space Striping Server Push Wu and Shu Proxy-At-Server, Independent Proxy Space Striping & Time Striping Server Push Distributed Video Systems - Parallel Video Servers - Part 1 39 References This chapter s materials are based on: [1] Jack YBLee, Parallel Video Servers - A Tutorial, IEEE Multimedia, vol5(2), June 1998, pp20-28 Other useful references: [2] C Bernhardt, and E Biersack, The Server Array: A Scalable Video Server Architecture, High-Speed Networks for Multimedia Applications, Kluwer Press, Boston, 1996 [3] WJ Bolosky, JS Barrera, III, RP Draves, RP Fitzgerald, GA Gibson, MB Jones, SP Levi, NP Myhrvold, RF Rashid, The Tiger Video Fileserver, Proc of the Sixth International Workshop on Network and Operating System Support for Digital Audio and Video IEEE Computer Society, Zushi, Japan, April 1996 [4] MM Buddhikot, and GM Parulkar, Efficient Data Layout, Scheduling and Playout Control in MARS, Proc NOSSDAV 95, Springer-Verlag, Berlin, 1995, pp318-329 [5] CS Freedman, and DJ DeWitt, The SPIFFI Scalable Video-on-Demand System, Proc ACM SIGMOD 95, ACM Press, New York, June 1995, pp352-363 [6] YBLee, and PCWong, A Server Array Approach for Video-on-demand Service on Local Area Networks, Proc IEEE INFOCOM 96, IEEE Computer Society Press, Los Alamitos, CA, 1996, pp27-34 [7] PCWong, and YBLee, Redundant Array of Inexpensive Servers (RAIS) for On-Demand Multimedia Services, Proc ICC 97, IEEE Computer Society Press, Los Alamitos, CA, 1997, pp787-792 [8] P Lougher, D Pegler, D Shepherd, Scalable Storage Servers for Digital Audio and Video, Proc IEE International Conference on Storage and Recording Systems 1994, IEE Press, London, 1994, pp140-3 [9] R Tewari, R Mukherjee, and DM Dias, Real-Time Issues for Clustered Multimedia Servers, IBM Research Report RC20020, June 1995 [10] M Wu, and W Shu, Scheduling for Large-Scale Parallel Video Servers, Proc Sixth Symposium on the Frontiers of Massively Parallel Computation, IEEE Computer Society Press, Los Alamitos, CA, 1996, pp126-133 [11] C Brendan, S Traw, and JM Smith, Striping Within the Network Subsystem, IEEE Network, July/August 1995, IEEE Press, New York, NY, 1995, pp22-32 [12] AL Drapeau, and RH Katz, Striped Tape Arrays, Proc 12th IEEE Symposium on Mass Storage Systems, IEEE Press, 1993, pp257-65 Distributed Video Systems - Parallel Video Servers - Part 1 40